@telus/build-essential2.0.0 • Public • Published
contains a list of packages which are considered essential for building packages in ci platform
Our Reference Architecture introduces a set of standards around linting, code quality, testing are more ...
Those standards are upheld using a variety of tools, however, projects need to add these individual tools as dependencies, which introduces a number of challanges:
CI tests have to run
npm install on every project, and the bigger the dependency list, the longer those runs take.
For developers working across multipl projects, having to install the same dependencies over and over for every project adds a layer of inconsistency that can be resolved with global dependencies
Note: the dependencies are marked as
peerDependenciesto enable some limitations around
eslintand others in global usage. For example, when
eslintis installed globally it looks for packages in the global scope, not the local one.
editorconfig-checker- EditorConfig validator
eslint- ESLint Validator
babel-eslint- Babel-ESLint for if you are using types (Flow) or experimental features not supported in ESLint itself yet
remark-cli- Remark is a markdown validator
semantic-releaseSemantic Release is a fully automated version management and package publishing tool
updated- Updated ensures you have the latest dependencies
npm install --global @telus/build-essential
postinstallstep will attempt to install more packages globally, a good way to make this work if you are having permission issues is to set your NPM prefix to somewhere in your homedir (e.g.
~/.npm) in your config (
prefix=<dir>) and to add the
bin/directory to your
PATHenvironment variable. For an example, consider line 15 of the
Dockerfile. If you really know what you're doing, but it's not recommended, you could run with
sudodepending on your local