just-task uses the best pirate themed command line argument library ever: yargs, matey! So, rigs get documented pretty much automatically. However, tasks can customize the arguments that are accepted. just-task exposes these via this.argv inside a task function.
-
Reading arguments
-
To read the arguments passed in from command line, use the argv() function provided by yargs.
\ No newline at end of file
diff --git a/docs/docs/args/index.html b/docs/docs/args/index.html
deleted file mode 100644
index d923508d..00000000
--- a/docs/docs/args/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
-Command line arguments · Just ____
just-task uses the best pirate themed command line argument library ever: yargs, matey! So, rigs get documented pretty much automatically. However, tasks can customize the arguments that are accepted. just-task exposes these via this.argv inside a task function.
-
Reading arguments
-
To read the arguments passed in from command line, use the argv() function provided by yargs.
\ No newline at end of file
diff --git a/docs/docs/composition.html b/docs/docs/composition.html
deleted file mode 100644
index 1b6b5fc3..00000000
--- a/docs/docs/composition.html
+++ /dev/null
@@ -1,104 +0,0 @@
-Composition of tasks · Just ____
Once a project gets a bit more complex, a build step might consist of multiple sub tasks. This can be achieved with composition. This is the main reason just-task was made. It simplifies the composition of tasks.
-
Running tasks in a series
-
const { task, series } = require('just-task');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel'));
-
-
When you trigger just build, the clean task will run and complete before babel task is run.
-
Running tasks in parallel
-
To take advantage of multi-core CPUs on our machines, we can run several tasks in parallel. Simply use the parallel() function.
-
const { task, parallel } = require('just-task');
-
-task('babel', function() {
- // run babel babel over some files
-});
-
-task('lint', function() {
- // run eslint over some files
-});
-
-task('build', parallel('babel', 'lint'));
-
-
Nesting tasks in series and parallel
-
The most powerful feature of just-task is its ability to compose tasks by nesting tasks in series and parallel. Let's combine the previous examples.
-
const { task, parallel, series } = require('just-task');
-
-task('babel', function() {
- // run babel babel over some files
-});
-
-task('lint', function() {
- // run eslint over some files
-});
-
-task('build', series('clean', parallel('babel', 'lint')));
-
\ No newline at end of file
diff --git a/docs/docs/composition/index.html b/docs/docs/composition/index.html
deleted file mode 100644
index 1b6b5fc3..00000000
--- a/docs/docs/composition/index.html
+++ /dev/null
@@ -1,104 +0,0 @@
-Composition of tasks · Just ____
Once a project gets a bit more complex, a build step might consist of multiple sub tasks. This can be achieved with composition. This is the main reason just-task was made. It simplifies the composition of tasks.
-
Running tasks in a series
-
const { task, series } = require('just-task');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel'));
-
-
When you trigger just build, the clean task will run and complete before babel task is run.
-
Running tasks in parallel
-
To take advantage of multi-core CPUs on our machines, we can run several tasks in parallel. Simply use the parallel() function.
-
const { task, parallel } = require('just-task');
-
-task('babel', function() {
- // run babel babel over some files
-});
-
-task('lint', function() {
- // run eslint over some files
-});
-
-task('build', parallel('babel', 'lint'));
-
-
Nesting tasks in series and parallel
-
The most powerful feature of just-task is its ability to compose tasks by nesting tasks in series and parallel. Let's combine the previous examples.
-
const { task, parallel, series } = require('just-task');
-
-task('babel', function() {
- // run babel babel over some files
-});
-
-task('lint', function() {
- // run eslint over some files
-});
-
-task('build', series('clean', parallel('babel', 'lint')));
-
\ No newline at end of file
diff --git a/docs/docs/condition.html b/docs/docs/condition.html
deleted file mode 100644
index 91b9aaa1..00000000
--- a/docs/docs/condition.html
+++ /dev/null
@@ -1,103 +0,0 @@
-Controlling Task Flow with Conditionals · Just ____
Sometimes a just-task.js includes tasks that are skipped depending on the arguments that are given. Use a condition() function to decide to run a task or to skip it.
-
Running tasks in a series
-
As we have seen, tasks can be run in a series.
-
const { task, series } = require('just-task');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('test', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel', 'test'));
-
-
We can conditionally skip the test task by some argument like --skip-test
-
const { task, series, option, argv, condition } = require('just-task');
-
-// First define a 'skip-test' option
-option('skip-test');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('test', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel', condition('test', () => !argv()['skip-test'])));
-
-
Now you can skip the test task by passing an argument like this:
\ No newline at end of file
diff --git a/docs/docs/condition/index.html b/docs/docs/condition/index.html
deleted file mode 100644
index 91b9aaa1..00000000
--- a/docs/docs/condition/index.html
+++ /dev/null
@@ -1,103 +0,0 @@
-Controlling Task Flow with Conditionals · Just ____
Sometimes a just-task.js includes tasks that are skipped depending on the arguments that are given. Use a condition() function to decide to run a task or to skip it.
-
Running tasks in a series
-
As we have seen, tasks can be run in a series.
-
const { task, series } = require('just-task');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('test', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel', 'test'));
-
-
We can conditionally skip the test task by some argument like --skip-test
-
const { task, series, option, argv, condition } = require('just-task');
-
-// First define a 'skip-test' option
-option('skip-test');
-
-task('clean', function() {
- // clean stuff
-});
-
-task('babel', function() {
- // run babel over some files
-});
-
-task('test', function() {
- // run babel over some files
-});
-
-task('build', series('clean', 'babel', condition('test', () => !argv()['skip-test'])));
-
-
Now you can skip the test task by passing an argument like this:
\ No newline at end of file
diff --git a/docs/docs/doc-start.html b/docs/docs/doc-start.html
deleted file mode 100644
index 8d2c9f65..00000000
--- a/docs/docs/doc-start.html
+++ /dev/null
@@ -1,78 +0,0 @@
-Getting Started with Just · Just ____
Just simplifies your life in managing build tasks. It stands on the shoulders of excellent and well tested libraries: undertaker, yargs, and plop.js. We encourage developers to make just-scripts available locally instead of installing just-scripts as a global tool.
-
npm i -D just-scripts
-
-
Place some task definitions inside just.config.js in your root folder (next to package.json):
\ No newline at end of file
diff --git a/docs/docs/doc-start/index.html b/docs/docs/doc-start/index.html
deleted file mode 100644
index 8d2c9f65..00000000
--- a/docs/docs/doc-start/index.html
+++ /dev/null
@@ -1,78 +0,0 @@
-Getting Started with Just · Just ____
Just simplifies your life in managing build tasks. It stands on the shoulders of excellent and well tested libraries: undertaker, yargs, and plop.js. We encourage developers to make just-scripts available locally instead of installing just-scripts as a global tool.
-
npm i -D just-scripts
-
-
Place some task definitions inside just.config.js in your root folder (next to package.json):
\ No newline at end of file
diff --git a/docs/docs/logging.html b/docs/docs/logging.html
deleted file mode 100644
index 09eced13..00000000
--- a/docs/docs/logging.html
+++ /dev/null
@@ -1,88 +0,0 @@
-Logging · Just ____
just-task is simple, but it is opinionated. One of the built-in capabilities of just-task is logging. We feel that this is an important enough of a feature to be available by the library.
-
Typically, logging tasks look like the following:
-
-
Usage
-
To log within the task, simply use the info() function off of the logger object inside a task function.
\ No newline at end of file
diff --git a/docs/docs/logging/index.html b/docs/docs/logging/index.html
deleted file mode 100644
index 09eced13..00000000
--- a/docs/docs/logging/index.html
+++ /dev/null
@@ -1,88 +0,0 @@
-Logging · Just ____
just-task is simple, but it is opinionated. One of the built-in capabilities of just-task is logging. We feel that this is an important enough of a feature to be available by the library.
-
Typically, logging tasks look like the following:
-
-
Usage
-
To log within the task, simply use the info() function off of the logger object inside a task function.
\ No newline at end of file
diff --git a/docs/docs/scripts-jest.html b/docs/docs/scripts-jest.html
deleted file mode 100644
index 745a5749..00000000
--- a/docs/docs/scripts-jest.html
+++ /dev/null
@@ -1,85 +0,0 @@
-Jest · Just ____
Jest is one of the most popular testing libraries in the Javascript ecosystem. It is also a preset supported out of the box inside the just-scripts library. Similar to the other presets, this task function assumes that you have a jest.config.js at the root of the project.
\ No newline at end of file
diff --git a/docs/docs/scripts-jest/index.html b/docs/docs/scripts-jest/index.html
deleted file mode 100644
index 745a5749..00000000
--- a/docs/docs/scripts-jest/index.html
+++ /dev/null
@@ -1,85 +0,0 @@
-Jest · Just ____
Jest is one of the most popular testing libraries in the Javascript ecosystem. It is also a preset supported out of the box inside the just-scripts library. Similar to the other presets, this task function assumes that you have a jest.config.js at the root of the project.
\ No newline at end of file
diff --git a/docs/docs/scripts-ts.html b/docs/docs/scripts-ts.html
deleted file mode 100644
index 15178951..00000000
--- a/docs/docs/scripts-ts.html
+++ /dev/null
@@ -1,76 +0,0 @@
-TypeScript · Just ____
TypeScript is a very popular compiler that allows developers to use modern ES6 features as well as a very mature typing system. The benefits are so great that it has become one of the first presets supported by the just-scripts library.
-
Given a library with TypeScript source code, it might be desirable to have multiple output formats for different audiences. By default, the tscTask() function looks for the tsconfig.json present in the project root. The preset higher order function can take in an option that overrides compilation options. The TypeScript compiler options are passed to the tsc.js script.
-
A list of available options are located at the TypeScript documentation site. The options passed into the preset function will be passed in as command line arguments as a string.
\ No newline at end of file
diff --git a/docs/docs/scripts-ts/index.html b/docs/docs/scripts-ts/index.html
deleted file mode 100644
index 15178951..00000000
--- a/docs/docs/scripts-ts/index.html
+++ /dev/null
@@ -1,76 +0,0 @@
-TypeScript · Just ____
TypeScript is a very popular compiler that allows developers to use modern ES6 features as well as a very mature typing system. The benefits are so great that it has become one of the first presets supported by the just-scripts library.
-
Given a library with TypeScript source code, it might be desirable to have multiple output formats for different audiences. By default, the tscTask() function looks for the tsconfig.json present in the project root. The preset higher order function can take in an option that overrides compilation options. The TypeScript compiler options are passed to the tsc.js script.
-
A list of available options are located at the TypeScript documentation site. The options passed into the preset function will be passed in as command line arguments as a string.
\ No newline at end of file
diff --git a/docs/docs/scripts-tslint.html b/docs/docs/scripts-tslint.html
deleted file mode 100644
index 09198525..00000000
--- a/docs/docs/scripts-tslint.html
+++ /dev/null
@@ -1,64 +0,0 @@
-TypeScript Lint · Just ____
TypeScript is a very popular compiler. But as the amount of code grows, developers need a way to keep the code looking consistent. tslint is the de facto linter for TS code.
\ No newline at end of file
diff --git a/docs/docs/scripts-tslint/index.html b/docs/docs/scripts-tslint/index.html
deleted file mode 100644
index 09198525..00000000
--- a/docs/docs/scripts-tslint/index.html
+++ /dev/null
@@ -1,64 +0,0 @@
-TypeScript Lint · Just ____
TypeScript is a very popular compiler. But as the amount of code grows, developers need a way to keep the code looking consistent. tslint is the de facto linter for TS code.
\ No newline at end of file
diff --git a/docs/docs/scripts-webpack.html b/docs/docs/scripts-webpack.html
deleted file mode 100644
index 54a3eced..00000000
--- a/docs/docs/scripts-webpack.html
+++ /dev/null
@@ -1,86 +0,0 @@
-Webpack · Just ____
Webpack is the Javascript, CSS and asset bundler that powers some of the largest Web applications. Just Scripts comes with great integration with Webpack out of the box. All of the power of Webpack comes at the cost of complexity in its configuration. The bundler actually comes with great defaults. However, it takes some non-trivial amount of config to make it work with transpilers like TypeScript.
-
just-scripts exports a flexible Webpack just-task task function. Unlike create-react-app, just-scripts does not require ejecting to allow customizations of the Webpack configuration. just-scripts abstracts the complexity of the configuration with what is known as "Overlays". For example, to add support of TypeScript transpilation, several parts of the configuration needs to be changed to support the various parts of building with TypeScript.
-
This task function will look for two files at the root of the project:
-
-
webpack.config.js
-
webpack.serve.config.js
-
-
The Webpack task function will use webpack.config.js for its optimized production builds. It will use the webpack.serve.config.js for innerloop development.
-
Example webpack.config.js and webpack.serve.config.js
-
The webpack.config.js and webpack.serve.config.js can be completely customized to your own needs. However, some great utilities from just-scripts make it really easy to get going. Take a look at an example webpack.config.js that uses these utilities:
From this example, several concepts are illustrated. First, you can see that just-scripts exposes:
-
-
webpackMerge: this is just a thin wrapper on top of the excellent webpack-merge package
-
webpackServeConfig: this a very basic preset configuration that you can use as a baseline, there is also a webpackConfig module exported that you can use for your webpack.config.js
-
htmlOverlay: this is one of the overlays that adds some functionality to Webpack to be merged by the webpack-merge utility
-
-
Overlays
-
These overlays are not configurable (for now), but they do provide a great baseline to start from.
-
-
fileOverlay: This adds the file-loader to allow loading SVG, PNG, GIF, JPG files
-
htmlOverlay: This adds the html-webpack-plugin that generates the right code to include scripts and other assets into your index.html
-
stylesOverlay: This adds styling support for both CSS and Sass
-
tsOverlay: This adds a ts-loader transpilation support for TypeScript files while configuring a fork-ts-checker-webpack-plugin for typechecking in a separate process for the fastest compilation experience
\ No newline at end of file
diff --git a/docs/docs/scripts-webpack/index.html b/docs/docs/scripts-webpack/index.html
deleted file mode 100644
index 54a3eced..00000000
--- a/docs/docs/scripts-webpack/index.html
+++ /dev/null
@@ -1,86 +0,0 @@
-Webpack · Just ____
Webpack is the Javascript, CSS and asset bundler that powers some of the largest Web applications. Just Scripts comes with great integration with Webpack out of the box. All of the power of Webpack comes at the cost of complexity in its configuration. The bundler actually comes with great defaults. However, it takes some non-trivial amount of config to make it work with transpilers like TypeScript.
-
just-scripts exports a flexible Webpack just-task task function. Unlike create-react-app, just-scripts does not require ejecting to allow customizations of the Webpack configuration. just-scripts abstracts the complexity of the configuration with what is known as "Overlays". For example, to add support of TypeScript transpilation, several parts of the configuration needs to be changed to support the various parts of building with TypeScript.
-
This task function will look for two files at the root of the project:
-
-
webpack.config.js
-
webpack.serve.config.js
-
-
The Webpack task function will use webpack.config.js for its optimized production builds. It will use the webpack.serve.config.js for innerloop development.
-
Example webpack.config.js and webpack.serve.config.js
-
The webpack.config.js and webpack.serve.config.js can be completely customized to your own needs. However, some great utilities from just-scripts make it really easy to get going. Take a look at an example webpack.config.js that uses these utilities:
From this example, several concepts are illustrated. First, you can see that just-scripts exposes:
-
-
webpackMerge: this is just a thin wrapper on top of the excellent webpack-merge package
-
webpackServeConfig: this a very basic preset configuration that you can use as a baseline, there is also a webpackConfig module exported that you can use for your webpack.config.js
-
htmlOverlay: this is one of the overlays that adds some functionality to Webpack to be merged by the webpack-merge utility
-
-
Overlays
-
These overlays are not configurable (for now), but they do provide a great baseline to start from.
-
-
fileOverlay: This adds the file-loader to allow loading SVG, PNG, GIF, JPG files
-
htmlOverlay: This adds the html-webpack-plugin that generates the right code to include scripts and other assets into your index.html
-
stylesOverlay: This adds styling support for both CSS and Sass
-
tsOverlay: This adds a ts-loader transpilation support for TypeScript files while configuring a fork-ts-checker-webpack-plugin for typechecking in a separate process for the fastest compilation experience
\ No newline at end of file
diff --git a/docs/docs/scripts.html b/docs/docs/scripts.html
deleted file mode 100644
index e6e0311c..00000000
--- a/docs/docs/scripts.html
+++ /dev/null
@@ -1,77 +0,0 @@
-Just Scripts · Just ____
Unlike other build libraries, Just strives to be useful from the beginning. You can choose to write your own tasks that call other Node.js tools like TypeScript, jest, and webpack. However, Just includes some script functions to get you up and running immediately. The included tasks are enough to have a very productive environment without dictating a certain stack to be used with Just.
-
-
NOTE: even though just-scripts interacts with typescript, it does not take typescript as a dependency. It assumes that the developers will include that in their own projects. This gives just-scripts the flexibility of targeting many different versions of individual build tools without imposing a version on the consumers.
-
-
These scripts are coded as higher order task functions. Each of these script functions return a task function to be registered as a task in your own just-task.js like this:
Generally, these higher order functions also take an options argument to generate a specific task function preconfigured according to the options. For example:
\ No newline at end of file
diff --git a/docs/docs/scripts/index.html b/docs/docs/scripts/index.html
deleted file mode 100644
index e6e0311c..00000000
--- a/docs/docs/scripts/index.html
+++ /dev/null
@@ -1,77 +0,0 @@
-Just Scripts · Just ____
Unlike other build libraries, Just strives to be useful from the beginning. You can choose to write your own tasks that call other Node.js tools like TypeScript, jest, and webpack. However, Just includes some script functions to get you up and running immediately. The included tasks are enough to have a very productive environment without dictating a certain stack to be used with Just.
-
-
NOTE: even though just-scripts interacts with typescript, it does not take typescript as a dependency. It assumes that the developers will include that in their own projects. This gives just-scripts the flexibility of targeting many different versions of individual build tools without imposing a version on the consumers.
-
-
These scripts are coded as higher order task functions. Each of these script functions return a task function to be registered as a task in your own just-task.js like this:
Generally, these higher order functions also take an options argument to generate a specific task function preconfigured according to the options. For example:
\ No newline at end of file
diff --git a/docs/docs/stacks-monorepo.html b/docs/docs/stacks-monorepo.html
deleted file mode 100644
index 71bcb17b..00000000
--- a/docs/docs/stacks-monorepo.html
+++ /dev/null
@@ -1,89 +0,0 @@
-Monorepo Stack · Just ____
When there are many highly related packages that are usually developed together, it makes sense to put them in the same repository. This ensures that those changes are atomic and can be released together in one go. When we put multiple packages inside a single repository, we call this a monorepo.
-
Just uses the Lerna library to manage monorepos together with yarn workspaces. Those libraries handles linking monorepo packages together to ensure a sane developer experience. Lerna is powerful, but it does not provide opinions about what kind of packages are scaffolded inside the monorepo. Just Stacks provides this for the monorepo.
-
Prerequisites
-
Yarn is a prerequisite in using the monorepo stack. Install it like so:
-
npm install -g yarn
-
-
Getting Started with the MonoRepo
-
After creating a monorepo, you can create packages, incrementally build all the packages, and even upgrade the packages according to changes from the templates by an upgrade process.
-
Installing dependencies
-
Installing dependencies is the job of Yarn. Install all dependencies and bootstrap the monorepo like so:
-
yarn
-
-
-
Like the single package stacks, don't forget to run yarn after you do a git pull
-
-
Building monorepo
-
To build all the packages, simply run the build npm script. Previously built packages will not be built. We call this incremental builds:
-
yarnbuild
-
-
To develop with an innerloop experience, go inside the individual package and type:
-
cd packages/foo
-yarn start
-
-
Adding a new package into the repo
-
Out of the box, the monorepo stack provides a mechanism to create new packages using the plop.js utility. Simply run this to generate a new package:
-
yarn gen
-
-
After picking a package name and a package type, the new package will be placed under packages/ directory. Make sure you update deps and symlink are established by Yarn:
\ No newline at end of file
diff --git a/docs/docs/stacks-monorepo/index.html b/docs/docs/stacks-monorepo/index.html
deleted file mode 100644
index 71bcb17b..00000000
--- a/docs/docs/stacks-monorepo/index.html
+++ /dev/null
@@ -1,89 +0,0 @@
-Monorepo Stack · Just ____
When there are many highly related packages that are usually developed together, it makes sense to put them in the same repository. This ensures that those changes are atomic and can be released together in one go. When we put multiple packages inside a single repository, we call this a monorepo.
-
Just uses the Lerna library to manage monorepos together with yarn workspaces. Those libraries handles linking monorepo packages together to ensure a sane developer experience. Lerna is powerful, but it does not provide opinions about what kind of packages are scaffolded inside the monorepo. Just Stacks provides this for the monorepo.
-
Prerequisites
-
Yarn is a prerequisite in using the monorepo stack. Install it like so:
-
npm install -g yarn
-
-
Getting Started with the MonoRepo
-
After creating a monorepo, you can create packages, incrementally build all the packages, and even upgrade the packages according to changes from the templates by an upgrade process.
-
Installing dependencies
-
Installing dependencies is the job of Yarn. Install all dependencies and bootstrap the monorepo like so:
-
yarn
-
-
-
Like the single package stacks, don't forget to run yarn after you do a git pull
-
-
Building monorepo
-
To build all the packages, simply run the build npm script. Previously built packages will not be built. We call this incremental builds:
-
yarnbuild
-
-
To develop with an innerloop experience, go inside the individual package and type:
-
cd packages/foo
-yarn start
-
-
Adding a new package into the repo
-
Out of the box, the monorepo stack provides a mechanism to create new packages using the plop.js utility. Simply run this to generate a new package:
-
yarn gen
-
-
After picking a package name and a package type, the new package will be placed under packages/ directory. Make sure you update deps and symlink are established by Yarn:
\ No newline at end of file
diff --git a/docs/docs/stacks-single.html b/docs/docs/stacks-single.html
deleted file mode 100644
index 325a282b..00000000
--- a/docs/docs/stacks-single.html
+++ /dev/null
@@ -1,83 +0,0 @@
-Single Stack · Just ____
The simplest kind of projects are the single package repositories. Out of the box, just can create a single package library or a batteries-included web application. The generated repository will use the just library to manage its build definitions. You can customize the build task flow by editing the just.config.js at the root of the generated repository.
-
To get started, have a look at the README.md at the root of the newly generated repository. Some of the common commands are listed here.
-
Installing dependencies
-
Installing dependencies is the job of the package manager. By default node.js comes with the npm package manager. We can simply do this:
-
npm install
-
-
-
Don't forget to run npm install after you do a git pull
-
-
Building package
-
To build the package, simply run the build npm script:
-
npm run build
-
-
To develop with an innerloop experience, type:
-
npm start
-
-
Testing the package
-
The jest library is used to run tests. This library can run unit tests in parallel and has a good developer experience when developing test by providing an innerloop capability via its watch mode.
\ No newline at end of file
diff --git a/docs/docs/stacks-single/index.html b/docs/docs/stacks-single/index.html
deleted file mode 100644
index 325a282b..00000000
--- a/docs/docs/stacks-single/index.html
+++ /dev/null
@@ -1,83 +0,0 @@
-Single Stack · Just ____
The simplest kind of projects are the single package repositories. Out of the box, just can create a single package library or a batteries-included web application. The generated repository will use the just library to manage its build definitions. You can customize the build task flow by editing the just.config.js at the root of the generated repository.
-
To get started, have a look at the README.md at the root of the newly generated repository. Some of the common commands are listed here.
-
Installing dependencies
-
Installing dependencies is the job of the package manager. By default node.js comes with the npm package manager. We can simply do this:
-
npm install
-
-
-
Don't forget to run npm install after you do a git pull
-
-
Building package
-
To build the package, simply run the build npm script:
-
npm run build
-
-
To develop with an innerloop experience, type:
-
npm start
-
-
Testing the package
-
The jest library is used to run tests. This library can run unit tests in parallel and has a good developer experience when developing test by providing an innerloop capability via its watch mode.
\ No newline at end of file
diff --git a/docs/docs/stacks-upgrades.html b/docs/docs/stacks-upgrades.html
deleted file mode 100644
index 05b70091..00000000
--- a/docs/docs/stacks-upgrades.html
+++ /dev/null
@@ -1,66 +0,0 @@
-Upgrading Repos · Just ____
just-stack upgrades are done via updating two dependencies:
-
-
just-scripts
-
just-stack-*
-
-
The just-scripts dependency updates the build scripts. When new functionality has been added or updated, you can update this dependency. For example, eslint task has been added recently and can be used when the scripts package is updated.
-
Separately, the just-stack-* dependency contain all the devDependencies needed for the just-scripts. These are versioned independently because scripts and deps can be released at different times. For example, even if we added new scripts inside just-scripts, generated repos may still want to keep the current devDependencies so not to have interruptions.
\ No newline at end of file
diff --git a/docs/docs/stacks-upgrades/index.html b/docs/docs/stacks-upgrades/index.html
deleted file mode 100644
index 05b70091..00000000
--- a/docs/docs/stacks-upgrades/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
-Upgrading Repos · Just ____
just-stack upgrades are done via updating two dependencies:
-
-
just-scripts
-
just-stack-*
-
-
The just-scripts dependency updates the build scripts. When new functionality has been added or updated, you can update this dependency. For example, eslint task has been added recently and can be used when the scripts package is updated.
-
Separately, the just-stack-* dependency contain all the devDependencies needed for the just-scripts. These are versioned independently because scripts and deps can be released at different times. For example, even if we added new scripts inside just-scripts, generated repos may still want to keep the current devDependencies so not to have interruptions.
\ No newline at end of file
diff --git a/docs/docs/stacks.html b/docs/docs/stacks.html
deleted file mode 100644
index 351779ba..00000000
--- a/docs/docs/stacks.html
+++ /dev/null
@@ -1,70 +0,0 @@
-Just Stacks · Just ____
Just also provides what we call "stacks" to complete the workflow of building a repository. Just Stacks provides:
-
-
a project generator for single package or monorepo repository via create-just
-
generated repo depends on a stack like just-stack-react and just-stack-monorepo which provides all the devDependencies needed to build those stacks
-
these stacks also take just-scripts as a dependency which gives the repos the necessary build scripting for different parts of the stack (compiler, test runner, and bundler)
-
-
Generate a new project
-
It is very fast and easy to get started! We have taken care to make this experience as fast as possible. You can create a project in a couple of seconds:
-
npm init just
-
-
From here, you can choose a type of project to scaffold. We'll take a look the different kinds in the next sections.
\ No newline at end of file
diff --git a/docs/docs/stacks/index.html b/docs/docs/stacks/index.html
deleted file mode 100644
index 351779ba..00000000
--- a/docs/docs/stacks/index.html
+++ /dev/null
@@ -1,70 +0,0 @@
-Just Stacks · Just ____
Just also provides what we call "stacks" to complete the workflow of building a repository. Just Stacks provides:
-
-
a project generator for single package or monorepo repository via create-just
-
generated repo depends on a stack like just-stack-react and just-stack-monorepo which provides all the devDependencies needed to build those stacks
-
these stacks also take just-scripts as a dependency which gives the repos the necessary build scripting for different parts of the stack (compiler, test runner, and bundler)
-
-
Generate a new project
-
It is very fast and easy to get started! We have taken care to make this experience as fast as possible. You can create a project in a couple of seconds:
-
npm init just
-
-
From here, you can choose a type of project to scaffold. We'll take a look the different kinds in the next sections.
\ No newline at end of file
diff --git a/docs/docs/thunk.html b/docs/docs/thunk.html
deleted file mode 100644
index 17e9b85e..00000000
--- a/docs/docs/thunk.html
+++ /dev/null
@@ -1,80 +0,0 @@
-Higher Order Task Functions · Just ____
When a project truly gets big enough to have multiple variants of a build, a simple task function might be reused as variants. For example, the just-task-preset package includes a useful collection of task functions like tscTask. However, these tasks tend to be very generic. tscTask() is a task function factory. Calling it will generate a task function. But sometimes variations of the same preconfigured task function is needed. We will use a concept called thunk to create a task function that creates a task function on the fly!
-
Here is an example of a simple usage of a preset task function factory:
\ No newline at end of file
diff --git a/docs/docs/thunk/index.html b/docs/docs/thunk/index.html
deleted file mode 100644
index 17e9b85e..00000000
--- a/docs/docs/thunk/index.html
+++ /dev/null
@@ -1,80 +0,0 @@
-Higher Order Task Functions · Just ____
When a project truly gets big enough to have multiple variants of a build, a simple task function might be reused as variants. For example, the just-task-preset package includes a useful collection of task functions like tscTask. However, these tasks tend to be very generic. tscTask() is a task function factory. Calling it will generate a task function. But sometimes variations of the same preconfigured task function is needed. We will use a concept called thunk to create a task function that creates a task function on the fly!
-
Here is an example of a simple usage of a preset task function factory:
\ No newline at end of file
diff --git a/docs/en/help.html b/docs/en/help.html
deleted file mode 100644
index 92af4a44..00000000
--- a/docs/en/help.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/en/help/index.html b/docs/en/help/index.html
deleted file mode 100644
index 92af4a44..00000000
--- a/docs/en/help/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/en/index.html b/docs/en/index.html
deleted file mode 100644
index d78fa4a6..00000000
--- a/docs/en/index.html
+++ /dev/null
@@ -1 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/en/users.html b/docs/en/users.html
deleted file mode 100644
index 9081a3d0..00000000
--- a/docs/en/users.html
+++ /dev/null
@@ -1 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/en/users/index.html b/docs/en/users/index.html
deleted file mode 100644
index 9081a3d0..00000000
--- a/docs/en/users/index.html
+++ /dev/null
@@ -1 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/help.html b/docs/help.html
deleted file mode 100644
index 4e8f4542..00000000
--- a/docs/help.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/help/index.html b/docs/help/index.html
deleted file mode 100644
index 4e8f4542..00000000
--- a/docs/help/index.html
+++ /dev/null
@@ -1,7 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/js/codetabs.js b/docs/js/codetabs.js
deleted file mode 100644
index dd01ebf2..00000000
--- a/docs/js/codetabs.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright (c) 2017-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-// Turn off ESLint for this file because it's sent down to users as-is.
-/* eslint-disable */
-window.addEventListener('load', function() {
- // add event listener for all tab
- document.querySelectorAll('.nav-link').forEach(function(el) {
- el.addEventListener('click', function(e) {
- const groupId = e.target.getAttribute('data-group');
- document
- .querySelectorAll(`.nav-link[data-group=${groupId}]`)
- .forEach(function(el) {
- el.classList.remove('active');
- });
- document
- .querySelectorAll(`.tab-pane[data-group=${groupId}]`)
- .forEach(function(el) {
- el.classList.remove('active');
- });
- e.target.classList.add('active');
- document
- .querySelector(`#${e.target.getAttribute('data-tab')}`)
- .classList.add('active');
- });
- });
-});
diff --git a/docs/js/scrollSpy.js b/docs/js/scrollSpy.js
deleted file mode 100644
index 0632e6c3..00000000
--- a/docs/js/scrollSpy.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Copyright (c) 2017-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-/* eslint-disable prefer-arrow-callback */
-(function scrollSpy() {
- const OFFSET = 10;
- let timer;
- let headingsCache;
- const findHeadings = function findHeadings() {
- return headingsCache || document.querySelectorAll('.toc-headings > li > a');
- };
- const onScroll = function onScroll() {
- if (timer) {
- // throttle
- return;
- }
- timer = setTimeout(function() {
- timer = null;
- let activeNavFound = false;
- const headings = findHeadings(); // toc nav anchors
- /**
- * On every call, try to find header right after <-- next header
- * the one whose content is on the current screen <-- highlight this
- */
- for (let i = 0; i < headings.length; i++) {
- // headings[i] is current element
- // if an element is already active, then current element is not active
- // if no element is already active, then current element is active
- let currNavActive = !activeNavFound;
- /**
- * Enter the following check up only when an active nav header is not yet found
- * Then, check the bounding rectangle of the next header
- * The headers that are scrolled passed will have negative bounding rect top
- * So the first one with positive bounding rect top will be the nearest next header
- */
- if (currNavActive && i < headings.length - 1) {
- const heading = headings[i + 1];
- const next = decodeURIComponent(heading.href.split('#')[1]);
- const nextHeader = document.getElementById(next);
-
- if (nextHeader) {
- const top = nextHeader.getBoundingClientRect().top;
- currNavActive = top > OFFSET;
- } else {
- console.error('Can not find header element', {
- id: next,
- heading,
- });
- }
- }
- /**
- * Stop searching once a first such header is found,
- * this makes sure the highlighted header is the most current one
- */
- if (currNavActive) {
- activeNavFound = true;
- headings[i].classList.add('active');
- } else {
- headings[i].classList.remove('active');
- }
- }
- }, 100);
- };
-
- document.addEventListener('scroll', onScroll);
- document.addEventListener('resize', onScroll);
- document.addEventListener('DOMContentLoaded', function() {
- // Cache the headings once the page has fully loaded.
- headingsCache = findHeadings();
- onScroll();
- });
-})();
diff --git a/packages/documentation/docs/scripts.md b/docs/scripts/README.md
similarity index 96%
rename from packages/documentation/docs/scripts.md
rename to docs/scripts/README.md
index 86911854..41b0f143 100644
--- a/packages/documentation/docs/scripts.md
+++ b/docs/scripts/README.md
@@ -26,7 +26,3 @@ task('ts:esnext', tscTask({ module: 'esnext' }));
```
Something like this will give you two separate TypeScript compilation task functions that produce different kinds of module output format.
-
-## Next Steps
-
-Learn about the [TypeScript](scripts-ts.md)
diff --git a/packages/documentation/docs/scripts-jest.md b/docs/scripts/jest.md
similarity index 94%
rename from packages/documentation/docs/scripts-jest.md
rename to docs/scripts/jest.md
index 0959f36b..ecbf08ad 100644
--- a/packages/documentation/docs/scripts-jest.md
+++ b/docs/scripts/jest.md
@@ -42,7 +42,3 @@ This causes `jest` to collect coverage information. It is much slower, and there
### updateSnapshots
This causes the `jestTask()` to update snapshots. Configuration of the snapshot location is subject to the `jest.config.js` file.
-
-## Next Steps
-
-Learn about the [tslint preset](scripts-tslint.md)
diff --git a/packages/documentation/docs/scripts-tslint.md b/docs/scripts/lint.md
similarity index 100%
rename from packages/documentation/docs/scripts-tslint.md
rename to docs/scripts/lint.md
diff --git a/packages/documentation/docs/scripts-ts.md b/docs/scripts/typescript.md
similarity index 95%
rename from packages/documentation/docs/scripts-ts.md
rename to docs/scripts/typescript.md
index 11d24dca..527db510 100644
--- a/packages/documentation/docs/scripts-ts.md
+++ b/docs/scripts/typescript.md
@@ -26,7 +26,3 @@ task('ts:commonjs', tscTask({ module: 'commonjs' }));
task('ts:esnext', tscTask({ module: 'esnext' }));
task('ts', parallel('ts:commonjs', 'ts:esnext'));
```
-
-## Next Steps
-
-Learn about the [Jest preset](scripts-jest.md)
diff --git a/packages/documentation/docs/scripts-webpack.md b/docs/scripts/webpack.md
similarity index 100%
rename from packages/documentation/docs/scripts-webpack.md
rename to docs/scripts/webpack.md
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
deleted file mode 100644
index b9beb809..00000000
--- a/docs/sitemap.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-https://microsoft.github.io/just/helpweekly0.5
-https://microsoft.github.io/just/indexweekly0.5
-https://microsoft.github.io/just/usersweekly0.5
-https://microsoft.github.io/just/docs/argshourly1.0
-https://microsoft.github.io/just/docs/compositionhourly1.0
-https://microsoft.github.io/just/docs/conditionhourly1.0
-https://microsoft.github.io/just/docs/doc-starthourly1.0
-https://microsoft.github.io/just/docs/logginghourly1.0
-https://microsoft.github.io/just/docs/scripts-jesthourly1.0
-https://microsoft.github.io/just/docs/scripts-tshourly1.0
-https://microsoft.github.io/just/docs/scripts-tslinthourly1.0
-https://microsoft.github.io/just/docs/scripts-webpackhourly1.0
-https://microsoft.github.io/just/docs/scriptshourly1.0
-https://microsoft.github.io/just/docs/stacks-monorepohourly1.0
-https://microsoft.github.io/just/docs/stacks-singlehourly1.0
-https://microsoft.github.io/just/docs/stacks-upgradeshourly1.0
-https://microsoft.github.io/just/docs/stackshourly1.0
-https://microsoft.github.io/just/docs/thunkhourly1.0
-
\ No newline at end of file
diff --git a/packages/documentation/docs/doc-start.md b/docs/tasks/README.md
similarity index 63%
rename from packages/documentation/docs/doc-start.md
rename to docs/tasks/README.md
index 207bf5af..73622ff6 100644
--- a/packages/documentation/docs/doc-start.md
+++ b/docs/tasks/README.md
@@ -1,5 +1,5 @@
---
-id: doc-start
+id: getting-started
title: Getting Started with Just
sidebar_label: Getting Started
---
@@ -10,9 +10,12 @@ sidebar_label: Getting Started
npm i -D just-scripts
```
+## Defining Tasks
+
Place some task definitions inside `just.config.js` in your root folder (next to package.json):
```js
+// CommonJS style
const { task, option, logger, argv } = require('just-scripts');
option('name', { default: 'world' });
@@ -22,6 +25,29 @@ task('sayhello', function() {
});
```
+## Defining Tasks in Style with TypeScript
+
+1. Install `ts-node` and `typescript`:
+
+```
+npm i -D ts-node typescript
+```
+
+2. Place tasks inside `just.config.ts` in your root folder (next to package.json):
+
+```js
+// ES Module style
+import { task, option, logger, argv } from 'just-scripts';
+
+option('name', { default: 'world' });
+
+task('sayhello', function() {
+ logger.info(argv().name);
+});
+```
+
+## Run It!
+
Then run it! It is best to either place `just` inside a npm run script or run it with `npx`:
```sh
@@ -30,7 +56,3 @@ $ npx just sayhello --name me
```
That's all!
-
-## Next Steps
-
-Learn how to [compose tasks in just](composition.md)
diff --git a/packages/documentation/docs/args.md b/docs/tasks/args.md
similarity index 100%
rename from packages/documentation/docs/args.md
rename to docs/tasks/args.md
diff --git a/packages/documentation/docs/composition.md b/docs/tasks/composition.md
similarity index 96%
rename from packages/documentation/docs/composition.md
rename to docs/tasks/composition.md
index c0d89c4a..da09da13 100644
--- a/packages/documentation/docs/composition.md
+++ b/docs/tasks/composition.md
@@ -59,7 +59,3 @@ task('lint', function() {
task('build', series('clean', parallel('babel', 'lint')));
```
-
-## Next Steps
-
-Learn about [logging](logging.md)
diff --git a/packages/documentation/docs/condition.md b/docs/tasks/condition.md
similarity index 87%
rename from packages/documentation/docs/condition.md
rename to docs/tasks/condition.md
index d04554e7..e1f3c2d8 100644
--- a/packages/documentation/docs/condition.md
+++ b/docs/tasks/condition.md
@@ -48,7 +48,14 @@ task('test', function() {
// run babel over some files
});
-task('build', series('clean', 'babel', condition('test', () => !argv()['skip-test'])));
+task(
+ 'build',
+ series(
+ 'clean',
+ 'babel',
+ condition('test', () => !argv()['skip-test'])
+ )
+);
```
Now you can skip the test task by passing an argument like this:
@@ -56,7 +63,3 @@ Now you can skip the test task by passing an argument like this:
```sh
$ just build --skip-test
```
-
-## Next Steps
-
-Learn about [higher order task functions](thunk.md)
diff --git a/packages/documentation/docs/logging.md b/docs/tasks/logging.md
similarity index 93%
rename from packages/documentation/docs/logging.md
rename to docs/tasks/logging.md
index f8b42719..67c35d02 100644
--- a/packages/documentation/docs/logging.md
+++ b/docs/tasks/logging.md
@@ -44,7 +44,3 @@ task('needsLogging', function() {
throw new Error('an error');
});
```
-
-## Next Steps
-
-Learn about processing [arguments from command line](args.md)
diff --git a/packages/documentation/docs/thunk.md b/docs/tasks/thunk.md
similarity index 95%
rename from packages/documentation/docs/thunk.md
rename to docs/tasks/thunk.md
index 9134d4ef..d6ae4d49 100644
--- a/packages/documentation/docs/thunk.md
+++ b/docs/tasks/thunk.md
@@ -32,7 +32,3 @@ Now the build task can take in an argument and perform TypeScript compilation fo
$ just build --amd
$ just build --commonjs
```
-
-## Next Steps
-
-Learn about the [Just Scripts](scripts.md)
diff --git a/docs/users.html b/docs/users.html
deleted file mode 100644
index f105ae0b..00000000
--- a/docs/users.html
+++ /dev/null
@@ -1 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/docs/users/index.html b/docs/users/index.html
deleted file mode 100644
index f105ae0b..00000000
--- a/docs/users/index.html
+++ /dev/null
@@ -1 +0,0 @@
-Just ____ · The task library that just works
\ No newline at end of file
diff --git a/package.json b/package.json
index 32870eb7..5d2cf583 100644
--- a/package.json
+++ b/package.json
@@ -8,12 +8,15 @@
"author": "",
"main": "index.js",
"scripts": {
- "build": "lage build --scope !just-task-docs",
+ "build": "lage build",
"postbuild": "node ./scripts/copyReadme.js",
- "build:docs": "yarn workspace just-task-docs build",
+ "docs": "vuepress dev docs --host localhost",
+ "docs:build": "vuepress build docs",
+ "gh-pages": "gh-pages",
"change": "beachball change",
"checkchange": "beachball check",
"release": "beachball publish",
+ "release:docs": "yarn docs:build && yarn gh-pages -d docs/.vuepress/dist --dotfiles",
"start": "lage start",
"test": "lage test",
"lint": "eslint packages --ext .ts,.js"
@@ -24,12 +27,14 @@
"beachball": "^1.36.1",
"eslint": "^6.0.1",
"lage": "^0.19.8",
- "ghpages": "^0.0.10"
+ "vuepress": "^1.6.0",
+ "vuepress-plugin-mermaidjs": "^1.8.0",
+ "gh-pages": "^3.1.0",
+ "prettier": "^2.1.2"
},
"workspaces": {
"packages": [
"packages/*",
- "packages/documentation/website",
"scripts"
]
}
diff --git a/packages/documentation/.eslintrc.json b/packages/documentation/.eslintrc.json
deleted file mode 100644
index fb42f761..00000000
--- a/packages/documentation/.eslintrc.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "parserOptions": {
- "ecmaFeatures": {
- "jsx": true
- }
- }
-}
diff --git a/packages/documentation/docs/assets/failure.png b/packages/documentation/docs/assets/failure.png
deleted file mode 100644
index 2497c0d3..00000000
Binary files a/packages/documentation/docs/assets/failure.png and /dev/null differ
diff --git a/packages/documentation/docs/assets/typical.png b/packages/documentation/docs/assets/typical.png
deleted file mode 100644
index 3ae6ecdf..00000000
Binary files a/packages/documentation/docs/assets/typical.png and /dev/null differ
diff --git a/packages/documentation/docs/stacks-monorepo.md b/packages/documentation/docs/stacks-monorepo.md
deleted file mode 100644
index 187b9023..00000000
--- a/packages/documentation/docs/stacks-monorepo.md
+++ /dev/null
@@ -1,60 +0,0 @@
----
-id: stacks-monorepo
-title: Monorepo Stack
-sidebar_label: Monorepo Stack
----
-
-When there are many highly related packages that are usually developed together, it makes sense to put them in the same repository. This ensures that those changes are atomic and can be released together in one go. When we put multiple packages inside a single repository, we call this a monorepo.
-
-Just uses the [Lerna](https://lerna.js.org) library to manage monorepos together with [yarn workspaces](https://yarnpkg.com/lang/en/docs/workspaces/). Those libraries handles linking monorepo packages together to ensure a sane developer experience. Lerna is powerful, but it does not provide opinions about what kind of packages are scaffolded inside the monorepo. Just Stacks provides this for the monorepo.
-
-# Prerequisites
-
-Yarn is a prerequisite in using the monorepo stack. Install it like so:
-
-```
-npm install -g yarn
-```
-
-# Getting Started with the MonoRepo
-
-After creating a monorepo, you can create packages, incrementally build all the packages, and even upgrade the packages according to changes from the templates by an [upgrade process](stacks-upgrades.md).
-
-# Installing dependencies
-
-Installing dependencies is the job of Yarn. Install all dependencies and bootstrap the monorepo like so:
-
-```
-yarn
-```
-
-> Like the single package stacks, don't forget to run `yarn` after you do a `git pull`
-
-# Building monorepo
-
-To build all the packages, simply run the `build` npm script. Previously built packages will not be built. We call this incremental builds:
-
-```
-yarn build
-```
-
-To develop with an innerloop experience, go inside the individual package and type:
-
-```
-cd packages/foo
-yarn start
-```
-
-# Adding a new package into the repo
-
-Out of the box, the monorepo stack provides a mechanism to create new packages using the [plop.js](https://plopjs.com) utility. Simply run this to generate a new package:
-
-```
-yarn gen
-```
-
-After picking a package name and a package type, the new package will be placed under `packages/` directory. Make sure you update deps and symlink are established by Yarn:
-
-```
-yarn
-```
diff --git a/packages/documentation/docs/stacks-single.md b/packages/documentation/docs/stacks-single.md
deleted file mode 100644
index 5e4d8dbe..00000000
--- a/packages/documentation/docs/stacks-single.md
+++ /dev/null
@@ -1,49 +0,0 @@
----
-id: stacks-single
-title: Single Stack
-sidebar_label: Single Stack
----
-
-The simplest kind of projects are the single package repositories. Out of the box, `just` can create a single package library or a batteries-included web application. The generated repository will use the `just` library to manage its build definitions. You can customize the build task flow by editing the `just.config.js` at the root of the generated repository.
-
-To get started, have a look at the `README.md` at the root of the newly generated repository. Some of the common commands are listed here.
-
-# Installing dependencies
-
-Installing dependencies is the job of the package manager. By default node.js comes with the `npm` package manager. We can simply do this:
-
-```
-npm install
-```
-
-> Don't forget to run `npm install` after you do a `git pull`
-
-# Building package
-
-To build the package, simply run the `build` npm script:
-
-```
-npm run build
-```
-
-To develop with an innerloop experience, type:
-
-```
-npm start
-```
-
-# Testing the package
-
-The `jest` library is used to run tests. This library can run unit tests in parallel and has a good developer experience when developing test by providing an innerloop capability via its watch mode.
-
-To run the tests in one pass:
-
-```
-npm test
-```
-
-To do innerloop test development:
-
-```
-npm run start-test
-```
diff --git a/packages/documentation/docs/stacks-upgrades.md b/packages/documentation/docs/stacks-upgrades.md
deleted file mode 100644
index d07d5a64..00000000
--- a/packages/documentation/docs/stacks-upgrades.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-id: stacks-upgrades
-title: Upgrading Repos
-sidebar_label: Upgrading Repos
----
-
-`just-stack` upgrades are done via updating two dependencies:
-
-1. `just-scripts`
-2. `just-stack-*`
-
-The `just-scripts` dependency updates the build scripts. When new functionality has been added or updated, you can update this dependency. For example, eslint task has been added recently and can be used when the scripts package is updated.
-
-Separately, the `just-stack-*` dependency contain all the devDependencies needed for the `just-scripts`. These are versioned independently because scripts and deps can be released at different times. For example, even if we added new scripts inside `just-scripts`, generated repos may still want to keep the current devDependencies so not to have interruptions.
diff --git a/packages/documentation/docs/stacks.md b/packages/documentation/docs/stacks.md
deleted file mode 100644
index 8ba123ed..00000000
--- a/packages/documentation/docs/stacks.md
+++ /dev/null
@@ -1,21 +0,0 @@
----
-id: stacks
-title: Just Stacks
-sidebar_label: Just Stacks
----
-
-Just also provides what we call "stacks" to complete the workflow of building a repository. Just Stacks provides:
-
-1. a project generator for single package or monorepo repository via `create-just`
-2. generated repo depends on a `stack` like `just-stack-react` and `just-stack-monorepo` which provides all the devDependencies needed to build those stacks
-3. these `stack`s also take `just-scripts` as a dependency which gives the repos the necessary build scripting for different parts of the stack (compiler, test runner, and bundler)
-
-## Generate a new project
-
-It is very fast and easy to get started! We have taken care to make this experience as fast as possible. You can create a project in a couple of seconds:
-
-```
-npm init just
-```
-
-From here, you can choose a type of project to scaffold. We'll take a look the different kinds in the next sections.
diff --git a/packages/documentation/website/CHANGELOG.json b/packages/documentation/website/CHANGELOG.json
deleted file mode 100644
index 5f32bae6..00000000
--- a/packages/documentation/website/CHANGELOG.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "name": "just-task-docs",
- "entries": [
- {
- "date": "Fri, 05 Jul 2019 16:59:55 GMT",
- "tag": "just-task-docs_v0.0.2",
- "version": "0.0.2",
- "comments": {
- "patch": [
- {
- "comment": "Uppercase the S in TypeScript",
- "author": "orta.therox@gmail.com",
- "commit": "6a81b5b8cab4f3dccfe3408e300ac4bc70c4719f"
- }
- ]
- }
- }
- ]
-}
\ No newline at end of file
diff --git a/packages/documentation/website/CHANGELOG.md b/packages/documentation/website/CHANGELOG.md
deleted file mode 100644
index 7d5b9bb3..00000000
--- a/packages/documentation/website/CHANGELOG.md
+++ /dev/null
@@ -1,10 +0,0 @@
-# Change Log - just-task-docs
-
-This log was last generated on Fri, 05 Jul 2019 16:59:55 GMT and should not be manually modified.
-
-## 0.0.2
-Fri, 05 Jul 2019 16:59:55 GMT
-
-### Patches
-
-- Uppercase the S in TypeScript (orta.therox@gmail.com)
diff --git a/packages/documentation/website/README.md b/packages/documentation/website/README.md
deleted file mode 100644
index f3da77ff..00000000
--- a/packages/documentation/website/README.md
+++ /dev/null
@@ -1,193 +0,0 @@
-This website was created with [Docusaurus](https://docusaurus.io/).
-
-# What's In This Document
-
-* [Get Started in 5 Minutes](#get-started-in-5-minutes)
-* [Directory Structure](#directory-structure)
-* [Editing Content](#editing-content)
-* [Adding Content](#adding-content)
-* [Full Documentation](#full-documentation)
-
-# Get Started in 5 Minutes
-
-1. Make sure all the dependencies for the website are installed:
-
-```sh
-# Install dependencies
-$ yarn
-```
-2. Run your dev server:
-
-```sh
-# Start the site
-$ yarn start
-```
-
-## Directory Structure
-
-Your project file structure should look something like this
-
-```
-my-docusaurus/
- docs/
- doc-1.md
- doc-2.md
- doc-3.md
- website/
- blog/
- 2016-3-11-oldest-post.md
- 2017-10-24-newest-post.md
- core/
- node_modules/
- pages/
- static/
- css/
- img/
- package.json
- sidebar.json
- siteConfig.js
-```
-
-# Editing Content
-
-## Editing an existing docs page
-
-Edit docs by navigating to `docs/` and editing the corresponding document:
-
-`docs/doc-to-be-edited.md`
-
-```markdown
----
-id: page-needs-edit
-title: This Doc Needs To Be Edited
----
-
-Edit me...
-```
-
-For more information about docs, click [here](https://docusaurus.io/docs/en/navigation)
-
-## Editing an existing blog post
-
-Edit blog posts by navigating to `website/blog` and editing the corresponding post:
-
-`website/blog/post-to-be-edited.md`
-```markdown
----
-id: post-needs-edit
-title: This Blog Post Needs To Be Edited
----
-
-Edit me...
-```
-
-For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
-
-# Adding Content
-
-## Adding a new docs page to an existing sidebar
-
-1. Create the doc as a new markdown file in `/docs`, example `docs/newly-created-doc.md`:
-
-```md
----
-id: newly-created-doc
-title: This Doc Needs To Be Edited
----
-
-My new content here..
-```
-
-1. Refer to that doc's ID in an existing sidebar in `website/sidebar.json`:
-
-```javascript
-// Add newly-created-doc to the Getting Started category of docs
-{
- "docs": {
- "Getting Started": [
- "quick-start",
- "newly-created-doc" // new doc here
- ],
- ...
- },
- ...
-}
-```
-
-For more information about adding new docs, click [here](https://docusaurus.io/docs/en/navigation)
-
-## Adding a new blog post
-
-1. Make sure there is a header link to your blog in `website/siteConfig.js`:
-
-`website/siteConfig.js`
-```javascript
-headerLinks: [
- ...
- { blog: true, label: 'Blog' },
- ...
-]
-```
-
-2. Create the blog post with the format `YYYY-MM-DD-My-Blog-Post-Title.md` in `website/blog`:
-
-`website/blog/2018-05-21-New-Blog-Post.md`
-
-```markdown
----
-author: Frank Li
-authorURL: https://twitter.com/foobarbaz
-authorFBID: 503283835
-title: New Blog Post
----
-
-Lorem Ipsum...
-```
-
-For more information about blog posts, click [here](https://docusaurus.io/docs/en/adding-blog)
-
-## Adding items to your site's top navigation bar
-
-1. Add links to docs, custom pages or external links by editing the headerLinks field of `website/siteConfig.js`:
-
-`website/siteConfig.js`
-```javascript
-{
- headerLinks: [
- ...
- /* you can add docs */
- { doc: 'my-examples', label: 'Examples' },
- /* you can add custom pages */
- { page: 'help', label: 'Help' },
- /* you can add external links */
- { href: 'https://github.com/facebook/Docusaurus', label: 'GitHub' },
- ...
- ],
- ...
-}
-```
-
-For more information about the navigation bar, click [here](https://docusaurus.io/docs/en/navigation)
-
-## Adding custom pages
-
-1. Docusaurus uses React components to build pages. The components are saved as .js files in `website/pages/en`:
-1. If you want your page to show up in your navigation header, you will need to update `website/siteConfig.js` to add to the `headerLinks` element:
-
-`website/siteConfig.js`
-```javascript
-{
- headerLinks: [
- ...
- { page: 'my-new-custom-page', label: 'My New Custom Page' },
- ...
- ],
- ...
-}
-```
-
-For more information about custom pages, click [here](https://docusaurus.io/docs/en/custom-pages).
-
-# Full Documentation
-
-Full documentation can be found on the [website](https://docusaurus.io/).
diff --git a/packages/documentation/website/core/Footer.js b/packages/documentation/website/core/Footer.js
deleted file mode 100644
index 60adb613..00000000
--- a/packages/documentation/website/core/Footer.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2017-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-const React = require('react');
-
-class Footer extends React.Component {
- docUrl(doc, language) {
- const baseUrl = this.props.config.baseUrl;
- return `${baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
- }
-
- pageUrl(doc, language) {
- const baseUrl = this.props.config.baseUrl;
- return baseUrl + (language ? `${language}/` : '') + doc;
- }
-
- render() {
- return (
-
- );
- }
-}
-
-module.exports = Footer;
diff --git a/packages/documentation/website/i18n/en.json b/packages/documentation/website/i18n/en.json
deleted file mode 100644
index dc414767..00000000
--- a/packages/documentation/website/i18n/en.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "_comment": "This file is auto-generated by write-translations.js",
- "localized-strings": {
- "next": "Next",
- "previous": "Previous",
- "tagline": "The task library that just works",
- "docs": {
- "args": {
- "title": "Command line arguments",
- "sidebar_label": "Command line arguments"
- },
- "composition": {
- "title": "Composition of tasks",
- "sidebar_label": "Composition of tasks"
- },
- "condition": {
- "title": "Controlling Task Flow with Conditionals",
- "sidebar_label": "Conditionals"
- },
- "doc-start": {
- "title": "Getting Started with Just",
- "sidebar_label": "Getting Started"
- },
- "logging": {
- "title": "Logging",
- "sidebar_label": "Logging"
- },
- "scripts-jest": {
- "title": "Jest",
- "sidebar_label": "Jest"
- },
- "scripts-ts": {
- "title": "TypeScript",
- "sidebar_label": "TypeScript"
- },
- "scripts-tslint": {
- "title": "TypeScript Lint",
- "sidebar_label": "TypeScript Lint"
- },
- "scripts-webpack": {
- "title": "Webpack",
- "sidebar_label": "Webpack"
- },
- "scripts": {
- "title": "Just Scripts",
- "sidebar_label": "Just Scripts"
- },
- "stacks-monorepo": {
- "title": "Monorepo Stack",
- "sidebar_label": "Monorepo Stack"
- },
- "stacks-single": {
- "title": "Single Stack",
- "sidebar_label": "Single Stack"
- },
- "stacks-upgrades": {
- "title": "Upgrading Repos",
- "sidebar_label": "Upgrading Repos"
- },
- "stacks": {
- "title": "Just Stacks",
- "sidebar_label": "Just Stacks"
- },
- "thunk": {
- "title": "Higher Order Task Functions",
- "sidebar_label": "Higher Order Task Functions"
- }
- },
- "links": {
- "Documentation": "Documentation",
- "GitHub": "GitHub"
- },
- "categories": {
- "Basics": "Basics",
- "Scripts": "Scripts",
- "Stacks": "Stacks"
- }
- },
- "pages-strings": {
- "Help Translate|recruit community translators for your project": "Help Translate",
- "Edit this Doc|recruitment message asking to edit the doc source": "Edit",
- "Translate this Doc|recruitment message asking to translate the docs": "Translate"
- }
-}
diff --git a/packages/documentation/website/package.json b/packages/documentation/website/package.json
deleted file mode 100644
index 5259a550..00000000
--- a/packages/documentation/website/package.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "name": "just-task-docs",
- "version": "0.0.2",
- "scripts": {
- "examples": "docusaurus-examples",
- "start": "docusaurus-start",
- "build": "docusaurus-build && cpx \"build/just/**/*\" ../../../docs",
- "version": "docusaurus-version",
- "rename-version": "docusaurus-rename-version"
- },
- "dependencies": {
- "office-ui-fabric-react": "^6.109.0",
- "@uifabric/experiments": "^6.41.0",
- "react": "^16.6.0",
- "react-dom": "^16.6.0"
- },
- "devDependencies": {
- "@babel/core": "^7.1.6",
- "@babel/plugin-proposal-class-properties": "^7.1.0",
- "@babel/plugin-proposal-object-rest-spread": "^7.0.0",
- "@babel/polyfill": "^7.0.0",
- "@babel/preset-env": "^7.0.0",
- "@babel/preset-react": "^7.0.0",
- "@babel/register": "^7.0.0",
- "@babel/traverse": "^7.0.0",
- "@babel/types": "^7.1.2",
- "cpx": "^1.5.0",
- "docusaurus": "^1.5.1"
- }
-}
diff --git a/packages/documentation/website/pages/en/help.js b/packages/documentation/website/pages/en/help.js
deleted file mode 100755
index 530e2490..00000000
--- a/packages/documentation/website/pages/en/help.js
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * Copyright (c) 2017-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-const React = require('react');
-
-const CompLibrary = require('../../core/CompLibrary.js');
-
-const Container = CompLibrary.Container;
-const GridBlock = CompLibrary.GridBlock;
-
-const siteConfig = require(`${process.cwd()}/siteConfig.js`);
-
-function docUrl(doc, language) {
- return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
-}
-
-class Help extends React.Component {
- render() {
- const language = this.props.language || '';
- const supportLinks = [
- {
- content: `Learn more using the [documentation on this site.](${docUrl(
- 'doc-start.html',
- language,
- )})`,
- title: 'Browse Docs',
- },
- {
- content: 'Ask questions about the documentation and project',
- title: 'Join the community',
- },
- {
- content: "Find out what's new with this project",
- title: 'Stay up to date',
- },
- ];
-
- return (
-
-
-
-
-
Need help?
-
-
This project is maintained by a dedicated group of people.
-
-
-
-
- );
- }
-}
-
-module.exports = Help;
diff --git a/packages/documentation/website/pages/en/index.js b/packages/documentation/website/pages/en/index.js
deleted file mode 100755
index 7590dddd..00000000
--- a/packages/documentation/website/pages/en/index.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/**
- * Copyright (c) 2017-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-const React = require('react');
-
-const CompLibrary = require('../../core/CompLibrary.js');
-const siteConfig = require(`${process.cwd()}/siteConfig.js`);
-
-function docUrl(doc, language) {
- return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`;
-}
-
-class Button extends React.Component {
- render() {
- return (
-