espack

0.0.1 • Public • Published

Deployment

Rename js files to match hash and push to CDN Rename images to match hash and push to CDN. Compile stylesheets with image hashes. Rename stylesheets to match hash and push to CDN.

Compile HTML with configuration details for backend services along with js, css and image hashes.

Static configuration:

  • Hashes of js and css

Runtime configuration:

  • Root URL
  • DB locations
  • Locations of other services

./node_modules/.bin/tsc --outDir bld --rootDir src --sourceMap --noImplicitAny --strictNullChecks --module es2015 --target es5 --jsx react --allowJs true --lib ES6,DOM --moduleResolution node src/index.tsx

-Install dependencies to lib directory using ???- Install client side dependencies mixed with server side dependencies using npm

Translate typescript to es6 modules Use rollup to compile test bundle Use rollup to compile app bundle Use uglify/??? to minify app bundle

output:

  • compiled css + optional source maps
  • compiled js + optional source maps
  • application.json:
    • list of css sources to include, and their checksums
    • list of js sources to include, and their checksums
    • title of application
    • no-script fallback message

build/app/tsc_out/ build/app/rollup_out/ build/app/uglify_out/

build/tests/tsc_out/ build/tests/rollup_out/

Bake app bundle for dev Bake app bundle for prod

styles/*.sass
src/*.tsx
tests/*.ts
index.jinja2




build/ts_out
build/app.js
build/app.js.map
build/app.min.js
build/app.min.js.map
build/tests.js
build/tests.js.map


dist/firebase.json
dist/index.html
dist/scripts/app-deadbeaf.min.js
dist/scripts/react-deadbeaf.min.js
dist/scripts/react-dom-deadbeaf.min.js

tsc uglify cp build/app.min.js dist/app-sha256 build/app.min.js.min.js

Libraries

minor version:

  • external dependencies
  • type definitions (hopefully exported from typescript)

patch:

  • internal dependencies (not required when using rolled up files)
  • directory containing es6 modules (hopefully compiled from typescript)
  • un-minified rolled up library with source map
  • minified rolled up library with source map (and hash for cdn)

upload:

Unpacked library: /library/lib.json /library/types/library.d.ts

Applications

App source code

List of dependencies, and whether they should be bundled or not. External dependencies of un-bundled dependencies must also be un-bundled.

(optional) Pinned version numbers of all bundled and external dependencies

Output:

  • A js application bundle

Need to provide

  • A contrib repository of build scripts to generate packages from upstreams
  • A build tool for generating the compiled files
  • A build tool for outputting commonjs and uploading to npm
  • conventions for writing and running tests

lib@1.2 -> lib.d.ts

lib@1.2.3 -> {lib.min.js, lib.js}

Readme

Keywords

none

Package Sidebar

Install

npm i espack

Weekly Downloads

3

Version

0.0.1

License

ISC

Last publish

Collaborators

  • bwhmather