espack
v0.0.1
Published
placeholder
Downloads
1
Readme
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
[email protected] -> lib.d.ts
[email protected] -> {lib.min.js, lib.js}