40 lines
1.2 KiB
TOML
40 lines
1.2 KiB
TOML
[presets.nodejs]
|
|
conditions = ["{{ 'package.json' | file }}"]
|
|
variables.use_nvm = "{{ (((('home' | env) + '/.nvm/nvm.sh') | file) and ('.nvmrc' | file)) | bool }}"
|
|
variables.nvm = "{{ '. ~/.nvm/nvm.sh && nvm use && ' if use_nvm | bool else '' }}"
|
|
|
|
# install
|
|
[presets.nodejs.tasks.setup.npm]
|
|
conditions = ["{{ 'package-lock.json' | file }}"]
|
|
commands = ["{{ nvm }}npm install-clean"]
|
|
|
|
# install legacy
|
|
[presets.nodejs.tasks.setup.npm-legacy]
|
|
conditions = ["{{ not ('package-lock.json' | file) }}"]
|
|
commands = ["{{ nvm }}npm install"]
|
|
|
|
# test
|
|
[presets.nodejs.tasks.test.jest]
|
|
conditions = ["{{ 'node_modules/jest' | file }}"]
|
|
commands = ["{{ nvm }}npx jest"]
|
|
|
|
# build
|
|
[presets.nodejs.tasks.build.npm]
|
|
conditions = ["{{ 'package.json' | read | get('scripts.build') }}"]
|
|
commands = ["{{ nvm }}npm run build"]
|
|
|
|
# publish
|
|
[presets.nodejs.tasks.publish.npm]
|
|
conditions = ["{{ 'package.json' | read | get('scripts.publish') }}"]
|
|
commands = ["{{ nvm }}npm run publish"]
|
|
|
|
# clean
|
|
[presets.nodejs.tasks.clean.node_modules]
|
|
conditions = ["{{ 'node_modules' | file }}"]
|
|
commands = ["rm -rf node_modules"]
|
|
|
|
# version
|
|
[presets.nodejs.tasks.version.npm]
|
|
conditions = ["{{ version }}"]
|
|
commands = ["{{ nvm }}npm version {{ version }} --allow-same-version"]
|