0.1.4 • Published 12 months ago

s8s-build v0.1.4

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

Creates assorted Gulp tasks for use in S8S projects

Task NameDescription
vendorjsBuilds Typescript in ./vendor folder into ./build/js/vendor.js and ./dist/js/vendor.js
jsBuilds Typescript in ./public
visualizejsSame as js, but creates Rollup visual.
cssBuilds Sass (*.scss) and CSS files in ./public
staticsCopies ./public/img (skips ./public/img/Unused), ./public/fonts, and ./public/data files to build and dist folders (maintaining folder structure).
serverbuildBuilds Typescript in ./app
frontbuildRuns vendorjs + js + css + statics
buildRuns frontbuild + serverbuild
devRuns clean + build and two un-exposed tasks: watch (which uses browser-sync) and devserver (which uses nodemon). These two tasks run the appropriate sub-task to rebuild the resource, then auto-refresh the browser.
releaseRun clean + incrementVersion + build
incrementVersionUSE WITH EXTREME CAUTION Increments the patch version number - e.g. updates 0.1.2 to 0.1.3. This task will update the ./app/app.ts file, the ./package.json file, and create a new Git Tag.
cleanRemoves the ./build, ./dist, and ./server directories.
makeprivateflowsUse Once Creates Github workflow file to create a release from a tag.
makepublicflowsUse Once Creates Github workflow file to create a package from a release. (Also ships a shell script to create local packages.)

Task Tree

 ├─┬ build
 │ └─┬ <series>
 │   ├─┬ <parallel>
 │   │ ├── vendorjs
 │   │ ├── js
 │   │ ├── css
 │   │ └── statics
 │   └── serverbuild
 ├── clean
 ├── css
 ├─┬ dev
 │ └─┬ <series>
 │   ├── clean
 │   ├─┬ <parallel>
 │   │ ├── vendorjs
 │   │ ├── js
 │   │ ├── css
 │   │ └── statics
 │   └─┬ <parallel>
 │     ├── _watch
 │     └── _devserver
 ├─┬ frontbuild
 │ └─┬ <parallel>
 │   ├── vendorjs
 │   ├── js
 │   ├── css
 │   └── statics
 ├── js
 ├─┬ makeprivateflows
 │ └─┬ <series>
 │   └── makeReleaseFlow
 ├─┬ makepublicflows
 │ └─┬ <series>
 │   └── makePackageFlow
 ├─┬ release
 │ └─┬ <series>
 │   ├── clean
 │   ├── increment
 │   └─┬ <series>
 │     ├─┬ <parallel>
 │     │ ├── vendorjs
 │     │ ├── js
 │     │ ├── css
 │     │ └── statics
 │     └── serverbuild
 ├── serverbuild
 ├── statics
 ├── vendorjs
 └── visualizejs

Usage

TODO

  • Replace gulp-git with in-house written package. (It is effective, but doesn't have types and is overpowered for what I need.)
  • Add task for initializing assorted .ignore files.
  • Improve paths.paths construct. Ideally create three separate, fully fleshed out paths objects - one for front+back-end, one for front-end, and one for back-end.
  • Account for *.d.ts files (add to dist if we're rendering declaration maps)