@stoplight/scripts
v10.0.0
Published
Scripts that help when creating, testing, releasing, and linting libraries.
Downloads
2,040
Readme
@stoplight/scripts
Usage
Create a new library:
npx @stoplight/scripts create:lib
Commands
sl-scripts build
Build source code
USAGE
$ sl-scripts build [--verbose]
FLAGS
--verbose moar logs
DESCRIPTION
Build source code
EXAMPLES
$ sl-scripts build
See code: src/commands/build/index.ts
sl-scripts bundle
Bundle source code
USAGE
$ sl-scripts bundle [--minify] [--verbose]
FLAGS
--minify minify output using terser
--verbose moar logs
DESCRIPTION
Bundle source code
EXAMPLES
$ sl-scripts bundle
See code: src/commands/bundle/index.ts
sl-scripts create:lib
Scaffold out a new library.
USAGE
$ sl-scripts create:lib
DESCRIPTION
Scaffold out a new library.
EXAMPLES
$ sl-scripts create:lib
See code: src/commands/create/lib.ts
sl-scripts release
Publish new src or docs release.
USAGE
$ sl-scripts release [--verbose]
FLAGS
--verbose moar logs
DESCRIPTION
Publish new src or docs release.
EXAMPLES
$ sl-scripts release
$ sl-scripts release:docs
See code: src/commands/release/index.ts
sl-scripts release:docs
Push built docs to github pages.
USAGE
$ sl-scripts release:docs [--dry-run] [--verbose]
FLAGS
--dry-run run the release process but do not publish
--verbose moar logs
DESCRIPTION
Push built docs to github pages.
EXAMPLES
$ sl-scripts release:docs
See code: src/commands/release/docs.ts
Overriding Configs
Jest
Simply create a jest.config.js
file in the root of your project, and extend the default config. For example:
// ./jest.config.js
module.exports = {
preset: '@stoplight/scripts',
};
TS
Simply create a tsconfig.json
file in the root of your project, and extend the default config. For example:
// ./tsconfig.json
{
"extends": "@stoplight/scripts/tsconfig.json",
"include": ["src"],
"compilerOptions": {
"outDir": "dist"
}
}
Semantic Release
Simply add a release
property to your package.json
file. For example:
// ./package.json
{
// ... props
"release": {
"pkgRoot": "dist",
"plugins": ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator"]
}
// ... props
}
Rollup
By default all dependencies
and peerDependencies
declared in your package.json
will be treated as external deps
during sl-scripts bundle
. If you would like to always bundle a dep, list those deps in your package.json
file like
so:
{
"name": "your-package",
"version": "0.0.0",
"rollup": {
"bundleDeps": ["dep-1", "dep-2"]
}
}