Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@telus/build-essential
Advanced tools
contains a list of packages which are considered essential for building packages in ci platform
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.
As part of moving to separate CI & CD processes, we have the opportunity to pre-load some of the most common project dependencies into a Docker container
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
npm package: released as an open source package under @telus
scope in npm, the package.json
file contains a number of pre-selected common dependencies, (mainly used for linting)
Note: the dependencies are marked as
peerDependencies
to enable some limitations aroundeslint
and others in global usage. For example, wheneslint
is installed globally it looks for packages in the global scope, not the local one.
Docker Container: a Dockerfile
uses the package above as basis for creating a container used in CI jobs
Configration:
@telus/eslint-config
- Shared ESLint Config@telus/remark-preset-lint-markdown
- Shared Remark Config@telus/semantic-release-config
- Shared Semantic Release ConfigTools:
editorconfig-checker
- EditorConfig validatoreslint
- ESLint Validatorbabel-eslint
- Babel-ESLint for if you are using types (Flow) or experimental features not supported in ESLint itself yetremark-cli
- Remark is a markdown validatorsemantic-release
Semantic Release is a fully automated version management and package publishing toolupdated
- Updated ensures you have the latest dependenciesUtilities:
npm install --global @telus/build-essential
Note: the
postinstall
step 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 (~/.npmrc
withprefix=<dir>
) and to add thebin/
directory to yourPATH
environment variable. For an example, consider line 15 of theDockerfile
. If you really know what you're doing, but it's not recommended, you could run withsudo
depending on your localnpm
setup
Use the Docker Container to run your lint steps as per the example provided in this project's cirlce.yml
Github: @telus • Twitter: @telusdigital
FAQs
contains a list of packages which are considered essential for building packages in ci platform
The npm package @telus/build-essential receives a total of 1 weekly downloads. As such, @telus/build-essential popularity was classified as not popular.
We found that @telus/build-essential demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 24 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.