Dojo Boilerplate Study - shijunjing/edk2 GitHub Wiki

Study the Dojo Boilerplate (https://github.com/csnover/dojo-boilerplate) because the CodeCompass (https://github.com/shijunjing/edk2/wiki/CodeCompass-enabling) use it as the web GUI framework.

Build the Dojo Boilerplate

Follow the steps in https://github.com/csnover/dojo-boilerplate#quick-start

  • Clone the repository using git clone --recursive. Meet the git: proxy problem when clone project
jshi19@ub2-uefi-b01:~/ci/dojo$ git clone https://github.com/csnover/dojo-boilerplate.git --recursive
...
Cloning into '/home/jshi19/ci/dojo/dojo-boilerplate/src/util/less'...
fatal: unable to connect to github.com:
github.com[0: 13.250.177.223]: errno=Connection timed out

fatal: clone of 'git://github.com/cloudhead/less.js.git' into submodule path '/home/jshi19/ci/dojo/dojo-boilerplate/src/util/less' failed
Failed to clone 'less'. 

Need change the "git:" in "url = git://github.com/cloudhead/less.js.git" to "https:" as "url = https://github.com/cloudhead/less.js.git"

jshi19@ub2-uefi-b01:~/ci/dojo$ vim dojo-boilerplate/src/util/.gitmodules
change the "git:" in "url = git://github.com/cloudhead/less.js.git" to "https:" as "url = https://github.com/cloudhead/less.js.git"

Sync and update the submodules again

jshi19@ub2-uefi-b01:~/ci/dojo/dojo-boilerplate$ git submodule sync --recursive
jshi19@ub2-uefi-b01:~/ci/dojo/dojo-boilerplate$ git submodule update --recursive
  • Run npm install to install additional Node.js dependencies.
jshi19@ub2-uefi-b01:~/ci/dojo/dojo-boilerplate$ npm install
npm WARN deprecated [email protected]: This module is no longer maintained, try this instead:
npm WARN deprecated   npm i nyc
npm WARN deprecated Visit https://istanbul.js.org/integrations for other alternatives.
npm WARN deprecated [email protected]: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected].
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> [email protected] install /home/jshi19/ci/dojo/dojo-boilerplate/node_modules/intern
> node support/fixdeps.js

[email protected] /home/jshi19/ci/dojo/dojo-boilerplate
+-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| |   +-- [email protected]
| |   +-- [email protected]
| |   | +-- [email protected]
| |   | | `-- [email protected]
| |   | |   `-- [email protected]
| |   | `-- [email protected]
| |   +-- [email protected]
| |   +-- [email protected]
| |   | `-- [email protected]
| |   +-- [email protected]
| |   | `-- [email protected]
| |   +-- [email protected]
| |   | `-- [email protected]
| |   |   +-- [email protected]
| |   |   `-- [email protected]
| |   +-- [email protected]
| |   | `-- [email protected]
| |   +-- [email protected]
| |   | +-- [email protected]
| |   | `-- [email protected]
| |   |   +-- [email protected]
| |   |   | `-- [email protected]
| |   |   `-- [email protected]
| |   `-- [email protected]
| |     `-- [email protected]
| +-- [email protected]
| +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | +-- [email protected]
| | | | `-- [email protected]
| | | `-- [email protected]
| | |   `-- [email protected]
| | |     +-- [email protected]
| | |     `-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | +-- [email protected]
| | | `-- [email protected]
| | |   +-- [email protected]
| | |   `-- [email protected]
| | +-- [email protected]
| | | +-- [email protected]
| | | | `-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | | `-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- [email protected]
| | `-- [email protected]
| +-- [email protected]
| | `-- [email protected]
| |   `-- [email protected]
| `-- [email protected]
|   `-- [email protected]
`-- [email protected]
  +-- [email protected]
  +-- [email protected]
  | `-- [email protected]
  +-- [email protected]
  | +-- [email protected]
  | `-- [email protected]
  |   +-- [email protected]
  |   `-- [email protected]
  +-- [email protected]
  `-- [email protected]

  • Run build.sh, which will create an awesome optimized build in dist/
jshi19@ub2-uefi-b01:~/ci/dojo/dojo-boilerplate$ ./build.sh
...
starting executing global optimizations...
starting writing resources...
starting cleaning up...
waiting for the optimizer runner to finish...
starting reporting...
Report written to /home/jshi19/ci/dojo/dojo-boilerplate/dist/build-report.txt
Process finished normally.
        errors: 0
        warnings: 77
        build time: 103.574 seconds
Build complete
  • Click the \xx.xx.xx.xx\jshi19\ci\dojo\dojo-boilerplate\dist\index.html with browser to see the build result: