-
-
Notifications
You must be signed in to change notification settings - Fork 342
Build Process
If you want to modify the library and perform a full rebuild:
clone repository, install dependencies, check for errors and run full rebuild from which creates bundles from /src
into /dist
:
git clone https://github.com/vladmandic/human
cd human
npm install # installs all project dependencies
npm run lint
npm run build
This will rebuild library itself (all variations) as well as demo
Build process is written as JavaScript server/build.js
which can be modified to change any build parameters
Build creates a custom tfjs
bundle to optimize size and avoid unnecessary polyfills
Production version of the library is fully minified while dev version runs without code minification for easier debugging
Build is started by running npm run build
> @vladmandic/human@0.9.9 build /home/vlado/dev/human
> npm install && rimraf dist/* && node server/build.js && node server/changelog.js
audited 330 packages in 2.272s
found 0 vulnerabilities
2020-11-21 12:06:29 INFO: @vladmandic/human version 0.9.9
2020-11-21 12:06:29 INFO: User: vlado Platform: linux Arch: x64 Node: v15.0.1
2020-11-21 12:06:29 INFO: Build: file startup all target: es2018
2020-11-21 12:06:29 STATE: Build for: node type: tfjs: { imports: 1, importBytes: 39, outputBytes: 1044, outputFiles: 'dist/tfjs.esm.js' }
2020-11-21 12:06:29 STATE: Build for: node type: node: { imports: 35, importBytes: 403608, outputBytes: 249844, outputFiles: 'dist/human.node.js' }
2020-11-21 12:06:29 STATE: Build for: nodeGPU type: tfjs: { imports: 1, importBytes: 43, outputBytes: 1048, outputFiles: 'dist/tfjs.esm.js' }
2020-11-21 12:06:29 STATE: Build for: nodeGPU type: node: { imports: 35, importBytes: 403612, outputBytes: 249852, outputFiles: 'dist/human.node-gpu.js' }
2020-11-21 12:06:30 STATE: Build for: browserNoBundle type: tfjs: { imports: 1, importBytes: 1798, outputBytes: 260, outputFiles: 'dist/tfjs.esm.js' }
2020-11-21 12:06:30 STATE: Build for: browserNoBundle type: esm: { imports: 35, importBytes: 402824, outputBytes: 248844, outputFiles: 'dist/human.esm.nobundle.js' }
2020-11-21 12:06:30 STATE: Build for: browserBundle type: tfjs: { modules: 1061, moduleBytes: 3772720, imports: 7, importBytes: 1798, outputBytes: 1531180, outputFiles: 'dist/tfjs.esm.js' }
2020-11-21 12:06:30 STATE: Build for: browserBundle type: iife: { imports: 35, importBytes: 1933744, outputBytes: 1783188, outputFiles: 'dist/human.js' }
2020-11-21 12:06:31 STATE: Build for: browserBundle type: esm: { imports: 35, importBytes: 1933744, outputBytes: 1783877, outputFiles: 'dist/human.esm.js' }
2020-11-21 12:06:32 STATE: Build for: browserBundle type: demo: { imports: 5, importBytes: 1844123, outputBytes: 1830367, outputFiles: 'dist/demo-browser-index.js' }
2020-11-21 12:06:32 STATE: Change log updated: /home/vlado/dev/human/wiki/Change-Log.md
Project is written in TypeScript
4.3 and conforming to JavaScript
ECMAScript version 2020
Build target is JavaScript
EMCAScript version 2018
Only project depdendency is @tensorflow/tfjs
Development dependencies are eslint used for code linting and esbuild used for IIFE and ESM script bundling
Human Library Wiki Pages
3D Face Detection, Body Pose, Hand & Finger Tracking, Iris Tracking, Age & Gender Prediction, Emotion Prediction & Gesture Recognition