Shared configuration for JavaScript and TypeScript tools.
Tool | NPM Module | Version |
---|---|---|
ESLint | @viamrobotics/eslint-config |
|
Prettier | @viamrobotics/prettier-config |
|
TypeScript | @viamrobotics/typescript-config |
For usages with GitHub Actions CI
Install Node.js, pnpm, and development dependencies
- name: Setup Node.js
uses: viamrobotics/js-config/.github/actions/setup
with:
node-version: '20'
Option | Description | Default |
---|---|---|
node-version |
Which Node.js version to install | 20 |
registry-url |
Configure a registry URL for publish | Unset |
install-dependencies |
Run pnpm install |
true |
Publish a package to npm and add a tag to the repository
- name: Publish to npm
uses: viamrobotics/js-config/.github/actions/publish
with:
package: 'packages/cool-lib'
token: ${{ secrets.NPM_TOKEN }}
Option | Description | Default |
---|---|---|
package |
Path to package.json or directory to publish | Required |
token |
npm auth token | Required |
Node.js v18 or higher is required to develop on this repository. To get started, clone the repository and install the project's development dependencies. .
git clone https://github.com/viamrobotics/js-config.git
cd js-config
corepack enable
pnpm install
Once your development dependencies are installed, you can verify that all checks and tests are passing:
# run all checks and builds
pnpm all
# check lints
pnpm check-lint
# check types
pnpm check-types
# check formatting
pnpm check-format
# build all packages
pnpm build
# auto-format (modifies files)
pnpm format
Modules in this repository are continuously deployed to npm from the main
branch. To trigger a release, create a commit that bumps version
in one or more package.json
files and create a pull request to merge that commit into main
.