Skip to content

Commit 2fa6811

Browse files
committed
fix(all): 🐛 fix bugs, make pjax and transitionmanager support config as options, fix readme, etc
fix bugs, make pjax and transitionmanager support app config as options, fix readme grammar issues, add support for gitpod dockerfiles, remove ./vscode folder, fix LICENCE
1 parent 944495c commit 2fa6811

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1553
-446
lines changed

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,7 @@ dist
107107
coverage/
108108

109109
# Ultra
110-
.ultra.cache.json
110+
.ultra.cache.json
111+
112+
# VSCode
113+
.vscode/

.gitpod.Dockerfile

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
FROM gitpod/workspace-full
2-
2+
33
USER gitpod
4+
RUN bash -c ". .nvm/nvm.sh \
5+
&& nvm install 14 \
6+
&& nvm alias default 14 \
7+
&& npm install pnpm -g"
48

59
# Install custom tools, runtime, etc. using apt-get
610
# For example, the command below would install "bastet" - a command line tetris clone:

.gitpod.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
tasks:
2-
- init: npm install pnpm ultra-runner -g
3-
- task: pnpm install
4-
- task: pnpm build
5-
- task: pnpm docs:watch --filter *native
2+
- init: pnpm install gulp ultra-runner -g
3+
- task: pnpm install -r
4+
- task: ultra build
5+
- task: ultra pnpm demo:watch --filter *native
66
image:
77
file: .gitpod.Dockerfile

.vscode/settings.json

-119
This file was deleted.

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 Okiki
3+
Copyright (c) 2020 Okiki Ojo
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

+28-12
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
# Native
2-
A framework who's goal is to make it easy to create complex, performant, light-weight, web applications using native js api's.
2+
`native` is a framework which aims to make it easy to create complex, light-weight, and performant web applications using modern js api's.
33

4-
You can play with `native` using Gitpod:
54

6-
[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/#https://github.com/okikio/native)
5+
You can play with `@okikio/native` using Gitpod:
6+
7+
[![Edit with Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/okikio/native/tree/master/packages/native)
8+
9+
Once Gitpod has booted up, go to the `./packages/native/build folder` and start tweaking and testing to your hearts content.
10+
11+
12+
*Note: if an error occurs that stops the build script, just type into the terminal*
13+
```bash
14+
ultra pnpm demo:watch --filter *native
15+
```
716

817
## Table of Contents
918
- [Native](#native)
@@ -15,39 +24,46 @@ You can play with `native` using Gitpod:
1524
- [@okikio/native](#okikionative)
1625
- [Usage](#usage)
1726
- [Demo](#demo)
27+
- [Contributing](#contributing)
28+
- [Licence](#licence)
1829

1930
## Getting started
20-
2131
`native` is a monorepo with 4 smaller packages within it, they are:
2232

2333

2434
### [@okikio/manager](./packages/manager)
25-
* A superset of the Map class, it gives Map superpowers. The Map class is the most efficient way to handle large amounts of controlled data, but it has some inconvient quirks that would be annoying to just contantly think about, so I built this package to avoid some of it's quirks.
26-
* *Note: you can install it as a seperate package from the rest of the native framework.*
35+
* A superset of the Map class, it gives Map superpowers. The Map class is the most efficient way to handle large amounts of controlled data, but it has some inconvient quirks that would be annoying to handle, so I built this package to avoid some of it's quirks.
36+
* *Note: you can install it as a seperate package from the rest of the `native` framework.*
2737
* [Read more...](./packages/manager/README.md)
2838

2939

3040
### [@okikio/emitter](./packages/emitter)
31-
* A small Event Emitter written in typescript with performance and ease of use in mind. It's pretty self explanitory, there are millions of event emitters like this one, the only difference is that this one is optimized for the native framework.
32-
* *Note: you can install it as a seperate package from the rest of the native framework.*
41+
* A small event emitter written in typescript with performance and ease of use in mind. It's pretty self explanitory, there are millions of event emitters like this one, the only difference is that this one is optimized for use in the `native` framework.
42+
* *Note: you can install it as a seperate package from the rest of the `native` framework.*
3343
* [Read more...](./packages/emitter/README.md)
3444

3545

3646
### [@okikio/animate](./packages/animate)
37-
* A truly native animation library that takes full advantage of the Web Animation API, to create amazingly pollished and native experiences on all devices. The animation library takes this approach because of the connundrum that occured when mobile devices started being built with 120hz screens. Before this point most devices were 60hz, so developers built for 60hz, but because 60hz was the default, users with 120hz screens missed out on a major selling point of their devices. To future proof animation in an easy to use and effiecient manner, I built this library as a light wrapper around the Web Animation API, that takes on conventional means for creating animation today, allowing developers to get started with modern animation today.
38-
* *Note: you can install it as a seperate package from the rest of the native framework.*
47+
* A truly native animation library that takes full advantage of the Web Animation API to create amazingly pollished experiences on all devices. The animation library takes this approach because of the connundrum that occured when mobile devices started being built with 120hz screens. Before this point most devices were 60hz, so developers built for 60hz, but this caused many users to lose out on the benefits of their 120hz device. To future proof animation in an easy to use and effiecient manner, I built this library as a light wrapper around the Web Animation API, that takes on conventional means for creating animation today, allowing developers to get started with modern animation today.
48+
* *Note: you can install it as a seperate package from the rest of the `native` framework.*
3949
* [Read more...](./packages/animate/README.md)
4050

4151

4252
### [@okikio/native](./packages/native)
43-
* This is the core component of the framework, it has all of the other packages built in. This package encourages the user to download/copy-and-paste the code into their development enviroment of choice, and tweak it to match their projects needs. This package like all other packages is built for es2020, it expects the user to use a build tool support older versions of browsers, the idea being most people are using evergreen browsers, so, why are web developers piling on polyfill code that most users don't need.
53+
* This is the core component of the framework, it bundles all the other packages into iteself. This package encourages the user to download/copy-and-paste the code into their development enviroment of choice, and tweak it to match their projects needs. This package (like all other packages in the `native` framework) is built for ES2020, it expects the user to use a build tool to support older versions of browsers, the idea being most people are using evergreen browsers, so, why are web developers piling on polyfill code that most users don't need.
4454
* [Read more...](./packages/native/README.md)
4555

4656
This framework works with the assumtion that the user will use a build tool and a polyfill library to ensure all components work in older browser, I suggest `esbuild`, `rollup`, or `webpack`, and for polyfills `babel` or `polyfill.io`.
4757

4858
## Usage
4959

50-
Located in [./packages/native/build](https://github.com/okikio/native/tree/master/packages/native/build), you will find multiple build files that can help you create your setup. The [pug folder](https://github.com/okikio/native/tree/master/packages/native/build/pug) contains [pug](https://pugjs.org/api/getting-started.html) files that format my html in a clean and clear way. The [sass folder](https://github.com/okikio/native/tree/master/packages/native/build/sass) contains [scss](https://sass-lang.com/guide) files that allow for modern css without the need of polyfills. The [ts folder](https://github.com/okikio/native/tree/master/packages/native/build/ts) contains [typescript](https://www.typescriptlang.org/) files that the framework runs on; typescript is used, because Intellisense is better with typescript. Outside the build folder, the [gulpfile.js](https://github.com/okikio/native/tree/master/packages/native/gulpfile.js) file, is part of my [gulp](https://gulpjs.com/) config, and is the tool I use to build the demo, for your project other tools should also work, with some amoount of work. Explore the files stated above to learn how to get started. Read more about `native` in the [@okikio/native README](./packages/native/README.md). Explore the other packages as well to learn how they all work together.
60+
Located in [./packages/native/build](https://github.com/okikio/native/tree/master/packages/native/build), you will find multiple build files that can help you create your setup. The [/pug folder](https://github.com/okikio/native/tree/master/packages/native/build/pug) contains [pug](https://pugjs.org/api/getting-started.html) files that format my html in a clean and clear way. The [/sass folder](https://github.com/okikio/native/tree/master/packages/native/build/sass) contains [scss](https://sass-lang.com/guide) files that allow for modern css without the need of polyfills. The [/ts folder](https://github.com/okikio/native/tree/master/packages/native/build/ts) contains [typescript](https://www.typescriptlang.org/) files that the framework runs on; typescript is used because Intellisense is better with typescript. Outside the build folder, the [gulpfile.js](https://github.com/okikio/native/tree/master/packages/native/gulpfile.js) file, is part of my [gulp](https://gulpjs.com/) config, and is the tool I use to build the demo. For your project other tools should also work with some tweaks. Explore the files stated above to learn how to get started. Read more about `native` in the [@okikio/native README](./packages/native/README.md). Explore the other packages as well to learn how they all work together.
5161

5262
## Demo
5363
> [View a demo →](https://okikio.github.io/native/packages/native/demo/)
64+
65+
## Contributing
66+
If there is something I missed, a mistake, or a feature you would like added please create an issue or a pull request and I'll try to get to it.
67+
68+
## Licence
69+
See the [LICENSE](./LICENSE) file for license rights and limitations (MIT).

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@commitlint/cli": "^11.0.0",
2828
"@commitlint/config-conventional": "^11.0.0",
2929
"husky": "^4.3.6",
30-
"pnpm": "^5.13.7",
30+
"pnpm": "^5.14.1",
3131
"ultra-runner": "^3.7.1"
3232
}
3333
}

packages/animate/.gitpod.Dockerfile

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM gitpod/workspace-full
2+
3+
USER gitpod
4+
RUN bash -c ". .nvm/nvm.sh \
5+
&& nvm install 14 \
6+
&& nvm alias default 14 \
7+
&& npm install pnpm -g"
8+
9+
# Install custom tools, runtime, etc. using apt-get
10+
# For example, the command below would install "bastet" - a command line tetris clone:
11+
#
12+
# RUN sudo apt-get -q update && # sudo apt-get install -yq bastet && # sudo rm -rf /var/lib/apt/lists/*
13+
#
14+
# More information: https://www.gitpod.io/docs/config-docker/

packages/animate/.gitpod.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
tasks:
2+
- init: pnpm install gulp ultra-runner -g
3+
- task: pnpm install -r
4+
- task: ultra build
5+
- task: ultra demo:watch
6+
image:
7+
file: .gitpod.Dockerfile

packages/animate/LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2020 Okiki
3+
Copyright (c) 2020 Okiki Ojo
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

0 commit comments

Comments
 (0)