Skip to content

Commit

Permalink
dev-toolkit v6 - The Journey of how version 6 came to be (#39)
Browse files Browse the repository at this point in the history
The creation of dev-toolkit v6, a long-running PR
#39

- remove all files - blank slate
- add simple test and some initial dependencies
- add .travis.yml file
- customize yml
- try env for testing subdirectory
- cache yarn
- try suggestion from yarn docs https://yarnpkg.com/en/docs/install-ci#travis-tab
- specify node v7.8.0
- try a neutrino async project
- add reference
- Check out react-loadable example
- check out next and preact
- start creating binary commands for running dev-toolkit, all in new syntax
- add minimal starting point
- add package lock file
- update eslint
- use npm's package-lock instead of yarn's lock file
- add sinon dependencies for testing
- add eslint configuration to support root-relative-imports in test files
- remove test-config in favour of setupTests utility
- refactor main dev-toolkit comand
- add dev-toolkit command tests + sandbox utility
- make individual tests smaller
- change travis config to node 8
- turn eslint extension rule off
- remove yarn from travis config
- fix some eslint issues temporarily
- add some additional tests
- fix test
- add editor workspace settings
- add a way to test command on starting-point
- start working on watch-script, add babel-preset-stage-1
- start adding help utility
- improve runCommadWithSpawn
- add
- change error message
- display errors not specific to existance of server-file
- various logging improvements
- use specific babel-config, better errors
- package.lock, change tick for star
- serve the layout file for now
- get javascript working with assets plugin
- manifest does not work as expected, PR in plugin is still WIP
- uncomment this line for now as it needs more work
- remove console.log
- add build-script, refactor
- run compiler in correct order to prevent writing build files
- small fixes
- `log`-improvements
- rename folder
- remove unused manifest file
- remove experimental test projects
- use `latest` babel preset
- change url to be a regular url
- change folder name in script
- add babel-runner package to simplify using babel for everything
- change underline character
- time to clean up & simplify
- remove remaining old scripts
- start refactoring using babel-runner
- use correct syntax, remove console.log's
- Add bundle-loader configuration
- integrate babel-runner into project
- add command, map require.resolve
- publish beta versions of both packages
- reduce dependencies, publish beta v4
- use correct terminology "preRender", simplify
- remove jsx-control-statements from minimal starting point
- simplify minimal app further
- start figuring out environment vars
- simplify server-usage, create dev-toolkit preset
- move examples into root, start working on tests
- update deps, re-use old babelrc
- start using lerna again
- get example working again, using lerna & link
- fix some errors, add simple server-side Hot Reload
- add ability to strip comments from examples, simplify + eslint fixes
- update packages, publish
- remove yarn lock file
- update package.lock, don't use root-relative paths for SSR hot-reload
- add contributing docs, use .nvmrc
- fix typo
- figure out CI bug with missing directory
- permission-fix for CI
- add script to CI config
- add first feature-test for `npm install dev-toolkit`
- update travis config
- add 2 minutes timeout
- ignore test folder
- go back to root folder for bootstrapping
- add more feature tests, one for `dev-toolkit --version`
- reverse order of tests
- refactor test-suite for easier addition of future tests
- start adding help to command-line utility
- make new commands work
- put assets manifest in build folder to facilitate alternate usage
- fix test
- allow extending an app with `dev-toolkit.config.js`
- add `babel-plugin-dynamic-import-node` to `babel-preset-dev-toolkit`
- Use better settings via `dev-toolkit/settings`, add `serve` command, make use of `sharedEnvs`
- add init command help with temporary message
- update to `6.0.0-beta-19`
- remove typo
- add ability to use `dev-toolkit` programmatically
- add ability to use `preRender` separately
- prevent logging before preRender finished
- work on init command, try working without spawn
- add enhanced `init` command
- remove accidental files
- have minimal example in addition to standard example
- start adding more examples (serverless)
- add some test-scenarios, refactor examples
- add more examples
- use prettier for the whole project! add eslint to `standard` example
- use `--template` in favour of `--example`,  change a bunch of forgotten files to use prettier
- bump version
- make loaders & plugins callbacks, start with simple example config
- replace decache with `clear-module`, use nodeHooks
- Small tweaks, use `cross-env` and `better-npm-run`
- add `with-sass` template
- Add clean-commands to root of project, update lock-files
- update templates readme
- Update lint command in dev-toolkit package
- use node v8.6.0
- Add `root-clean` command
- bump version to `[email protected]`
- Add `run` command, ability to silence logging from `dev-toolkit` itself
- add comments to existing test
- add comment
- remove unused command
- refactor tests to be more extensible
- babel-runner: support classic require(…)() callback, use prettier
- babel-preset-dev-toolkit: Better comments, use prettier
- Refactor tests in preparation for template tests
- add initialization tests for all templates
- try a timeout of 2 minutes
- put timeouts in `it`-block
- log output
- disable logging
- add longer timeout to default template a well
- reduce long timeout to 1 minute
- update lock-files
- Update tests, use shorter timeout for default template only
- relax some rules
- Update lock files once more
- add prettier ignore
- Update aslant config in feature-tests
- small change in package.json
- Refactor clean commands, enhance .travis.yml
- try out Travis-Ci's stages feature
- make stages leaner, refactor
- make stages even leaner
- don't forget installing root deps
- try running stages in parallel
- test naming parallel tasks
- does not specifying env work?
- put env in script
- remove `-`
- lint feature tests separately
- split into many parallel running pieces
- fix travis syntax
- remove `-` once more
- revert to defining multiple stages
- combine packages & templates tasks
- add prettier to some packages
- add missing stage section
- add lint commands, process files
- change order of tasks
- shorten linting tasks by only installing dev-dependencies
- put prettier in dev-dependencies
- use regular `npm install` after all
- skip some installation steps
- skip install globally
- use specific command in install step
- add ability to run boostrap programmatically
- bump version
- Fix trailing comma issue, republish
- start drafting out a readme
- fix  `includePaths`
- use sub, small typo
- add some initial documentation files
- add some information concerning choices
- Reduce workload by using leaner docs in beginning
- readme additions
- change titles
- simplify title
- get packages ready for publishing dev-toolkit v6
- remove unused my_app
- bump to `6.0.0-beta-47`
- add note to quick start
- use project name in generated project `package.json`
- renme folder
- bump to v6.0.0 and release 🎉
- bump to 6.0.1 - copy Readme into package
- add with-eslint template to Travis config
- fix eslint issue on 6.0.2
- add badges to readme
  • Loading branch information
stoikerty authored Nov 24, 2017
1 parent 128db85 commit 61e4b33
Show file tree
Hide file tree
Showing 209 changed files with 19,609 additions and 3,195 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
## Generated Files
#############

temporary-test-dir/
dist/
build/

#############
## Node
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
8.6.0
2 changes: 2 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
package.json
package-lock.json
5 changes: 5 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"printWidth": 100,
"singleQuote": true,
"trailingComma": "es5"
}
76 changes: 76 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
language: node_js
sudo: false
install:
- echo 'skip installation'

jobs:
include:
- stage: Testing dev-toolkit...
env: Run feature-tests
script:
- cd feature-tests
- npm install
- npm run test

- stage: Testing dev-toolkit...
env: Test bootstrapping the project
script:
- npm install
- npm run bootstrap

- stage: Testing dev-toolkit...
env: Lint feature-tests
script:
- cd feature-tests
- npm install
- npm run lint

- stage: Testing dev-toolkit...
env: Lint packages
script:
- cd packages/babel-preset-dev-toolkit
- npm install
- npm run lint
- cd ../..

- cd packages/babel-runner
- npm install
- npm run lint
- cd ../..

- cd packages/dev-toolkit
- npm install
- npm run lint
- cd ../..

- cd packages/eslint-config-dev-toolkit
- npm install
- npm run lint

- stage: Testing dev-toolkit...
env: Lint templates
script:
- cd templates/standard
- npm install
- npm run lint
- cd ../..

- cd templates/with-eslint
- npm install
- npm run lint
- cd ../..

- cd templates/with-sass
- npm install
- npm run lint
- cd ../..

- cd templates/minimal
- npm install
- npm run lint
- cd ../..

- cd templates/serverless
- npm install
- npm run lint
- cd ../..
1 change: 1 addition & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @stoikerty
29 changes: 11 additions & 18 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,14 @@
# How to contribute
Thanks for wanting to help improve the toolkit! 😃
<br>Below are some instructions to get you started.
# Installation
```bash
# use the correct node version for this project
nvm use

### Installation
First, let's install and link the `dev-toolkit`. The repo contains multiple packages & [lerna](https://github.com/lerna/lerna) is the tool of choice to handle these. Have a look at the root `package.json`-file for a list of all used `npm run` commands. For the basics, you'll want to:
- git clone [**`dev-toolkit`**](https://github.com/stoikerty/dev-toolkit) repo into a folder (example: `repos/local_modules/dev-toolkit`)
- run `npm install` to install lerna, then run `npm run install` all the dependencies for all packages and cross-link them. You might have to run the second command with elevated privileges (`sudo`) if you encounter any issues. The installation will take a bit of time ☕️ <br>Don't worry it's not stuck, `lerna` just doesn't display the installation output.
- You now have the `dev-toolkit`-command available to you. Try using the command `dev-toolkit -v`.
- If not available, use can either try linking the packages directly by using `npm run link` or retrying the previous step with `sudo`.
- You might also want to link a package to your project specifically by running `npm link dev-toolkit` or `npm link dynamic-pages` inside your project folder.
# clone repo, inside the repo folder run
npm i && npm run boostrap

Preparation done.
# if you encounter permission issues, try this in the repo foler
npm run fix-permissions
```

### Development
This is very much an iteration phase, you'll encounter mystical errors that you'll have to fix, caching problems and whatnot. Feel free to ask a question in [the dev-toolkit chat](https://gitter.im/stoikerty/dev-toolkit) if you're stuck. Good luck! 😎
- inside the `dev-toolkit` folder, run `npm run watch` to convert all ES2015+ files into ES5
- Now you're ready to use the toolkit via the command `dev-toolkit`.
- Follow the instructions in the [Readme](/Readme.md) to create a new project
- make changes to toolkit & document what you did
- make a PR with suggestions?
# Making changes
When you make a change inside `packages` you need to run `npm run boostrap` to install, build & link the packages together. This will also link the packages with all the templates. If you only make changes in the `templates`-folder, it's unlikely you'll have to re-run bootstrap.
15 changes: 0 additions & 15 deletions LICENSE

This file was deleted.

204 changes: 0 additions & 204 deletions README.md

This file was deleted.

Loading

0 comments on commit 61e4b33

Please sign in to comment.