Scripts that help when creating, testing, releasing, and linting libraries.
npm install @stoplight/scripts

* @stoplight/scripts
* Usage
* Commands
* Overriding Configs
Create a new library:
``bash`
npx @stoplight/scripts create:lib
* sl-scripts build
* sl-scripts bundle
* sl-scripts create:lib
* sl-scripts release
* sl-scripts release:docs
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_
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_
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_
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_
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_
Simply create a jest.config.js file in the root of your project, and extend the default config. For example:
`js`
// ./jest.config.js
module.exports = {
preset: '@stoplight/scripts',
};
Simply create a tsconfig.json file in the root of your project, and extend the default config. For example:
`json`
// ./tsconfig.json
{
"extends": "@stoplight/scripts/tsconfig.json",
"include": ["src"],
"compilerOptions": {
"outDir": "dist"
}
}
Simply add a release property to your package.json file. For example:
`json`
// ./package.json
{
// ... props
"release": {
"pkgRoot": "dist",
"plugins": ["@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator"]
}
// ... props
}
By default all dependencies and peerDependencies declared in your package.json will be treated as external depssl-scripts bundle
during . If you would like to always bundle a dep, list those deps in your package.json file like
so:
`json``
{
"name": "your-package",
"version": "0.0.0",
"rollup": {
"bundleDeps": ["dep-1", "dep-2"]
}
}