Socket
Socket
Sign inDemoInstall

@storm-software/workspace-tools

Package Overview
Dependencies
Maintainers
0
Versions
700
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@storm-software/workspace-tools

⚡ A Nx plugin package that contains various executors and generators used in a Storm workspaces.


Version published
Weekly downloads
406
decreased by-10.96%
Maintainers
0
Weekly downloads
 
Created
Source
Storm Software

WebsiteGitHubDiscordDocsContactReport a Bug

This package is part of the ⚡Storm-Ops monorepo. The Storm-Ops packages include CLI utility applications, tools, and various libraries used to create modern, scalable web applications.

💻 Visit stormsoftware.com to stay up to date with this developer


Version Nx NextJs Commitizen friendly Semantic-Release documented with Fumadocs GitHub Workflow Status (with event)

[!IMPORTANT] This repository, and the apps, libraries, and tools contained within, is still in it's initial development phase. As a result, bugs and issues are expected with it's usage. When the main development phase completes, a proper release will be performed, the packages will be availible through NPM (and other distributions), and this message will be removed. However, in the meantime, please feel free to report any issues you may come across.

Be sure to ⭐ this repository on GitHub so you can keep up to date on any daily progress!

Table of Contents


Storm Workspace Tools

A package containing tools for managing a Storm workspace. It includes various Nx generators and executors for common development tasks.

This library was generated with Nx.

Installing

Using pnpm:

pnpm add -D @storm-software/workspace-tools
Using npm
npm install -D @storm-software/workspace-tools
Using yarn
yarn add -D @storm-software/workspace-tools

Executors

The following executors are available in this package to invoke common tasks for the workspace's projects:

Tsup Builder

Run a build on the project using ESBuild with a patched tsup configuration

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:tsup

Please note: The tsup executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entrystringThe path to the entry file, relative to project."{sourceRoot}/index.ts"
outputPathstringThe output path of the generated files."dist/{projectRoot}"
tsConfig *stringThe path to the `tsconfig.json` file."{projectRoot}/tsconfig.json"
additionalEntryPointsstring[]List of additional entry points.[]
externalstring[]Mark one or more module as external. Can use * wildcards, such as *.png.
bundlebooleanWhether to bundle the main entry point and additional entry points. Set to false to keep individual output files.true
watchbooleanEnable re-building when files change.
assetsarrayList of static assets.[]
cleanbooleanRemove previous output before build.true
includeSrcbooleanShould the source files be added to the distribution folder in an `src` directory.
metafilebooleanShould a meta file be created for the build packagetrue
emitOnAllbooleanShould each file contained in the package be emitted individually.
generatePackageJsonbooleanShould a package.json file be generated in the output folder or should the existing one be copied in.true
splittingbooleanShould the build process preform *code-splitting*?true
treeshakebooleanShould the build process *tree-shake* to remove unused code?true
formatstring[]The output format for the generated JavaScript files. There are currently three possible values that can be configured: iife, cjs, and esm.[]
debugbooleanShould output be unminified with source mappings.
platform *"browser" | "neutral" | "node" | "worker"Platform target for outputs."neutral"
banner *stringA short heading added to the top of each typescript file added in the output folder's `src` directory."This code was developed by Storm Software (https://stormsoftware.com) and is licensed under the Apache License 2.0."
minifybooleanShould the build process minify the output files?
verbosebooleanShould write extra log outputs with details from the executor.
skipNativeModulesPluginbooleanShould we skip adding the Native Node Modules ESBuild plugin.
useJsxModulebooleanShould the build process use the `jsx` module for JSX support?
shimsbooleanShould the build process add shims for node.js modules that are not available in the browser?
defineobjectDefine global constants that can be used in the source code. The value will be converted into a stringified JSON.
envobjectDefine environment variables that can be used in the source code. The value will be converted into a stringified JSON.
apiReportbooleanShould API Extractor generate an API Report file.
docModelbooleanShould API Extractor generate an Doc Model markdown file.
tsdocMetadatabooleanShould API Extractor generate an TSDoc Metadata file.
optionsobjectAdditional options to pass to tsup. See https://paka.dev/npm/tsup@7.2.0/api#d35d54aca71eb26e.
pluginsobject[]List of ESBuild plugins to use during processing[]

Please note: Option names followed by * above are required, and must be provided to run the executor.

Neutral TypeScript Builder

Runs a neutral platform TypeScript build

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:tsup-neutral

Please note: The tsup-neutral executor should be included in the desired projects's project.json file.

Node TypeScript Builder

Runs a node platform TypeScript build

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:tsup-node

Please note: The tsup-node executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
transportsstring[][]

Browser TypeScript Builder

Runs a browser platform TypeScript build

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:tsup-browser

Please note: The tsup-browser executor should be included in the desired projects's project.json file.

Typia Generate

Run the Typia generator to create runtime type validators

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:typia

Please note: The typia executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entryPath *stringThe path of the typescript files using `typia`."{sourceRoot}"
outputPath *stringThe output path of the generated files."{sourceRoot}/generated/typia"
tsConfig *stringThe path to the `tsconfig.json` file."{projectRoot}/tsconfig.json"
cleanbooleanRemove previous output before build.true

Please note: Option names followed by * above are required, and must be provided to run the executor.

Rolldown Builder

An executor used by Storm Software to run the Rolldown build process

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:rolldown

Please note: The rolldown executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entrystringThe path to the entry file, relative to project."{sourceRoot}/index.ts"
outputPathstringThe output path of the generated files."dist/{projectRoot}"
tsConfig *stringThe path to the `tsconfig.json` file."{projectRoot}/tsconfig.json"
additionalEntryPointsstring[]List of additional entry points.[]
watchbooleanEnable re-building when files change.
assetsarrayList of static assets.[]
cleanbooleanRemove previous output before build.true
includeSrcbooleanShould the source files be added to the distribution folder in an `src` directory.
generatePackageJsonbooleanShould a package.json file be generated in the output folder or should the existing one be copied in.true
debugbooleanShould output be unminified with source mappings.
platform *"browser" | "neutral" | "node" | "worker"Platform target for outputs."neutral"
banner *stringA short heading added to the top of each typescript file added in the output folder's `src` directory."This code was developed by Storm Software (https://stormsoftware.com) and is licensed under the Apache License 2.0."
minifybooleanShould the build process minify the output files?
verbosebooleanShould write extra log outputs with details from the executor.
pluginsobject[]List of Rollup plugins to use during processing[]

Please note: Option names followed by * above are required, and must be provided to run the executor.

Unbuild Builder

An executor used by Storm Software to run the Unbuild build process

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:unbuild

Please note: The unbuild executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entrystringThe path to the entry file, relative to project."{sourceRoot}/index.ts"
outputPathstringThe output path of the generated files."dist/{projectRoot}"
tsConfig *stringThe path to the `tsconfig.json` file."{projectRoot}/tsconfig.json"
additionalEntryPointsstring[]List of additional entry points.[]
tsLibsstring[]The `lib` TypeScript Compiler Options parameter.[]
watchbooleanEnable re-building when files change.
assetsarrayList of static assets.[]
cleanbooleanRemove previous output before build.true
generatePackageJsonbooleanShould the package.json file be generated or copied directly into the output folder (if false the file will be copied directly).true
includeSrcbooleanShould the source files be added to the distribution folder in an `src` directory.
debugbooleanShould output be unminified with source mappings.
minifybooleanShould the build process minify the output files?
verbosebooleanShould write extra log outputs with details from the executor.
pluginsobject[]List of Rollup plugins to use during processing[]

Please note: Option names followed by * above are required, and must be provided to run the executor.

Clean Publish

Remove configuration files, fields, and scripts for development before publishing package. This tool is inspired by the clean-publish package

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:clean-package

Please note: The clean-package executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
outputPath *stringThe output path of the generated files."dist/{projectRoot}"
packageJsonPathstringThe path to the package.json file, relative to the workspace root.
cleanReadMe *booleanShould API Extractor generate an TSDoc Metadata file.true
cleanComments *booleanShould API Extractor generate an TSDoc Metadata file.true
ignoredFilesstringList of ESBuild plugins to use during processing
fieldsstringList of ESBuild plugins to use during processing

Please note: Option names followed by * above are required, and must be provided to run the executor.

Size-Limit Test

Run a size-limit performance test on the project

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:size-limit

Please note: The size-limit executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entrystringThe path to the entry file, relative to project.

Npm Publish

Publish a package to the NPM registry - DO NOT INVOKE DIRECTLY WITH `nx run`. Use `nx release publish` instead.

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:npm-publish

Please note: The npm-publish executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
packageRootstringThe root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root.
registrystringThe NPM registry URL to publish the package to.
tagstringThe distribution tag to apply to the published package.
dryRunbooleanWhether to run the command without actually publishing the package to the registry.

Cargo Publish

Publish a package to the crates.io registry - DO NOT INVOKE DIRECTLY WITH `nx run`. Use `nx release publish` instead.

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-publish

Please note: The cargo-publish executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
registrystringThe Cargo registry URL to publish the package to.
packageRootstringThe root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root.
dryRunbooleanWhether to run the command without actually publishing the package to the registry.

Cargo Build

Run a Rust build on the project using Cargo

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-build

Please note: The cargo-build executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
releasebooleanRun the Cargo command for the project in release mode
profilestringBuild artifacts with the specified profile
outputPathstringThe output path of the generated files."dist/target/{projectRoot}"
toolchain *"stable" | "beta" | "nightly"The Rust toolchain to use"stable"
featuresstringFeatures of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported
allFeaturesbooleanBuild all binary targets
targetstringBuild the specified target
libbooleanBuild the package's library
binstringBuild the specified binary. Array of names or common Unix glob patterns is supported
binsbooleanBuild all binary targets
examplestringBuild the specified example. Array of names or common Unix glob patterns is supported
examplesbooleanBuild all example targets
teststringBuild the specified test. Array of names or common Unix glob patterns is supported
testsbooleanBuild all test targets
benchstringBuild the specified bench. Array of names or common Unix glob patterns is supported
benchesbooleanBuild all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target.
allTargetsbooleanBuild all test targets

Please note: Option names followed by * above are required, and must be provided to run the executor.

Cargo Check

Check a Rust project with Cargo

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-check

Please note: The cargo-check executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
releasebooleanRun the Cargo command for the project in release mode
profilestringBuild artifacts with the specified profile
toolchain"stable" | "beta" | "nightly"The Rust toolchain to use"stable"
featuresstringFeatures of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported
allFeaturesbooleanBuild all binary targets
targetstringBuild the specified target
libbooleanBuild the package's library
binstringBuild the specified binary. Array of names or common Unix glob patterns is supported
binsbooleanBuild all binary targets
examplestringBuild the specified example. Array of names or common Unix glob patterns is supported
examplesbooleanBuild all example targets
teststringBuild the specified test. Array of names or common Unix glob patterns is supported
testsbooleanBuild all test targets
benchstringBuild the specified bench. Array of names or common Unix glob patterns is supported
benchesbooleanBuild all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target.
allTargetsbooleanBuild all test targets

Cargo Format

Format a Rust project with Cargo

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-format

Please note: The cargo-format executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
releasebooleanRun the Cargo command for the project in release mode
profilestringBuild artifacts with the specified profile
toolchain"stable" | "beta" | "nightly"The Rust toolchain to use"stable"
featuresstringFeatures of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported
allFeaturesbooleanBuild all binary targets
libbooleanBuild the package's library
binstringBuild the specified binary. Array of names or common Unix glob patterns is supported
binsbooleanBuild all binary targets
examplestringBuild the specified example. Array of names or common Unix glob patterns is supported
examplesbooleanBuild all example targets
teststringBuild the specified test. Array of names or common Unix glob patterns is supported
testsbooleanBuild all test targets
benchstringBuild the specified bench. Array of names or common Unix glob patterns is supported
benchesbooleanBuild all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target.
allTargetsbooleanBuild all test targets

Cargo Clippy

Lint a Rust project with Cargo Clippy

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-clippy

Please note: The cargo-clippy executor should be included in the desired projects's project.json file.

Options

The following executor options are available:

OptionTypeDescriptionDefault
releasebooleanRun the Cargo command for the project in release mode
profilestringBuild artifacts with the specified profile
toolchain"stable" | "beta" | "nightly"The Rust toolchain to use"stable"
targetstringBuild the specified target
fixbooleanAutomatically apply suggestions

Cargo Doc

Create docs for a Rust project with Cargo Doc

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:cargo-doc

Please note: The cargo-doc executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
releasebooleanRun the Cargo command for the project in release modetrue
profilestringBuild artifacts with the specified profile
outputPath *stringThe output path of the generated files."dist/docs/{projectRoot}"
toolchain"stable" | "beta" | "nightly"The Rust toolchain to use"stable"
noDepsbooleanDon't build documentation for dependenciestrue
featuresstringFeatures of workspace members may be enabled with package-name/feature-name syntax. Array of names is supported
allFeaturesbooleanBuild all binary targetstrue
targetstringBuild the specified target
libbooleanBuild the package's librarytrue
binstringBuild the specified binary. Array of names or common Unix glob patterns is supported
binsbooleanBuild all binary targetstrue
examplestringBuild the specified example. Array of names or common Unix glob patterns is supported
examplesbooleanBuild all example targetstrue
teststringBuild the specified test. Array of names or common Unix glob patterns is supported
testsbooleanBuild all test targets
benchstringBuild the specified bench. Array of names or common Unix glob patterns is supported
benchesbooleanBuild all targets in benchmark mode that have the bench = true manifest flag set. By default this includes the library and binaries built as benchmarks, and bench targets. Be aware that this will also build any required dependencies, so the lib target may be built twice (once as a benchmark, and once as a dependency for binaries, benchmarks, etc.). Targets may be enabled or disabled by setting the bench flag in the manifest settings for the target.
allTargetsbooleanBuild all test targets

Please note: Option names followed by * above are required, and must be provided to run the executor.

Rollup Builder

An executor for running the Rollup build process

Example

This executor can be used by executing the following in a command line utility:

nx run my-project:rollup

Please note: The rollup executor should be included in the desired projects's project.json file.All required options must be included in the options property of the json.

Options

The following executor options are available:

OptionTypeDescriptionDefault
entry *stringThe path to the entry file, relative to project."{sourceRoot}/index.ts"
outputPath *stringThe output path of the generated files."dist/{projectRoot}"
tsConfig *stringThe path to the `tsconfig.json` file."{projectRoot}/tsconfig.json"
projectstringThe path to package.json file.
outputFileNamestringName of the main output file. Defaults same basename as 'main' file.
cleanbooleanRemove previous output before build.true
fileLevelInputbooleanShould an entry point be added for each source file in the project (each file in `sourceRoot`).true
allowJsbooleanAllow JavaScript files to be compiled.
formatstring[]List of module formats to output. Defaults to matching format from tsconfig (e.g. CJS for CommonJS, and ESM otherwise).
externalarrayA list of external modules that will not be bundled (`react`, `react-dom`, etc.). Can also be set to `all` (bundle nothing) or `none` (bundle everything).
watchbooleanEnable re-building when files change.
rollupConfigstringPath to a function which takes a rollup config and returns an updated rollup config.
extractCssboolean,stringCSS files will be extracted to the output folder. Alternatively custom filename can be provided (e.g. styles.css)true
assetsarrayList of static assets.[]
compiler"babel" | "swc" | "tsc"Which compiler to use."babel"
babelUpwardRootModebooleanWhether to set rootmode to upward. See https://babeljs.io/docs/en/options#rootmodetrue
javascriptEnabledbooleanSets `javascriptEnabled` option for less loader
generateExportsFieldbooleanUpdate the output package.json file's 'exports' field. This field is used by Node and bundles.true
additionalEntryPointsstring[]Additional entry-points to add to exports field in the package.json file.
skipTypeCheckbooleanWhether to skip TypeScript type checking.
skipTypeFieldbooleanPrevents 'type' field from being added to compiled package.json file. Use this if you are having an issue with this field.
sourceMapbooleanOutput sourcemaps.

Please note: Option names followed by * above are required, and must be provided to run the executor.

Generators

The following generators are available with this package to assist in workspace management:

Init Storm Workspace Plugin

Init Storm Workspace Plugin.

Options

The following executor options are available:

OptionTypeDescriptionDefault
skipFormatbooleanSkip formatting files.

Workspace Preset

Create a Storm workspace with all of the required files and recommended packages installed.

Examples

This generator can be used by executing the following examples in a command line utility:

Generate a storm workspace with:

nx g @storm-software/workspace-tools:preset --name 'example-repo'

Generate a storm workspace with:

nx g @storm-software/workspace-tools:preset --name 'example-repo' --namespace 'example'

Generate a storm workspace with:

nx g @storm-software/workspace-tools:preset --name 'example-repo' --namespace 'example' --organization 'example-org' --description 'An example workspace'

Options

The following executor options are available:

OptionTypeDescriptionDefault
name *stringThe name of the workspace root.
organization *stringThe organization that owns the workspace."storm-software"
namespacestringThe npm scope used for the workspace. Defaults to the organization name.
includeApps *booleanShould a separate apps folder be created for this workspace (if Yes: apps and libs folders will be added, if No: packages folders will be added)?
descriptionstringThe description of the workspace to use in the package.json and README.md files.
repositoryUrlstringThe URL of the workspace in GitHub. Defaults to https://github.com/{organization}/{name}
includeRustbooleanShould the workspace include Rust support?
nxCloudbooleanShould distributed caching with Nx Cloud be enabled for the workspace?
mode *"light" | "dark"Which client mode should be used for the Nx Task Runner?"dark"
packageManager"npm" | "yarn" | "pnpm"What package manager is used for the workspace?"pnpm"

Please note: Option names followed by * above are required, and must be provided to run the executor.

Add Node Library

Create a new NodeJs TypeScript library package in the Storm workspace

Options

The following executor options are available:

OptionTypeDescriptionDefault
name *stringA name for the library.
descriptionstringThe library used by Storm Software for building TypeScript applications.
directory *stringA directory where the lib is placed.
projectNameAndRootFormat *"as-provided" | "derived"Whether to generate the project name and root directory as provided (as-provided) or generate them composing their values and taking the configured layout into account (derived).
tagsstringAdd tags to the library (used for linting).
strictbooleanWhether to enable tsconfig strict mode or not.true
publishable *booleanGenerate a publishable library.
importPath *stringThe library name used to import it, like @storm-software/my-awesome-lib. Required for publishable library.
buildable *booleanGenerate a buildable library.true
setParserOptionsProjectbooleanWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.
rootProjectbooleanIs the current project the root project in the workspace.

Please note: Option names followed by * above are required, and must be provided to run the executor.

Configuration Schema Creator

Create a StormConfig JSON schema based on the workspace's project configurations

Options

The following executor options are available:

OptionTypeDescriptionDefault
outputFile *stringThe file path where the schema json will be written (relative to the workspace root)"./storm.schema.json"

Please note: Option names followed by * above are required, and must be provided to run the executor.

Add Neutral Library

Create a new Neutral TypeScript library package in the Storm workspaces

Options

The following executor options are available:

OptionTypeDescriptionDefault
name *stringA name for the library.
descriptionstringThe library used by Storm Software for building TypeScript applications.
directory *stringA directory where the lib is placed.
projectNameAndRootFormat *"as-provided" | "derived"Whether to generate the project name and root directory as provided (as-provided) or generate them composing their values and taking the configured layout into account (derived).
tagsstringAdd tags to the library (used for linting).
strictbooleanWhether to enable tsconfig strict mode or not.true
publishable *booleanGenerate a publishable library.
importPath *stringThe library name used to import it, like @storm-software/my-awesome-lib. Required for publishable library.
buildable *booleanGenerate a buildable library.true
setParserOptionsProjectbooleanWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.
rootProjectbooleanIs the current project the root project in the workspace.

Please note: Option names followed by * above are required, and must be provided to run the executor.

Add browser Library

Create a new browser TypeScript library package in the Storm workspace

Options

The following executor options are available:

OptionTypeDescriptionDefault
name *stringA name for the library.
descriptionstringThe library used by Storm Software for building TypeScript applications.
directory *stringA directory where the lib is placed.
projectNameAndRootFormat *"as-provided" | "derived"Whether to generate the project name and root directory as provided (as-provided) or generate them composing their values and taking the configured layout into account (derived).
tagsstringAdd tags to the library (used for linting).
strictbooleanWhether to enable tsconfig strict mode or not.true
publishable *booleanGenerate a publishable library.
importPath *stringThe library name used to import it, like @storm-software/my-awesome-lib. Required for publishable library.
buildable *booleanGenerate a buildable library.true
setParserOptionsProjectbooleanWhether or not to configure the ESLint parserOptions.project option. We do not do this by default for lint performance reasons.
rootProjectbooleanIs the current project the root project in the workspace.

Please note: Option names followed by * above are required, and must be provided to run the executor.

design-tokens

Generate design tokens code using a Token Studio export

Storm Release Version Generator

The release version generator used in Storm Workspaces

Options

The following executor options are available:

OptionTypeDescriptionDefault
projects *object[]The ProjectGraphProjectNodes being versioned in the current execution.
projectGraph *objectProjectGraph instance
specifierstringExact version or semver keyword to apply to the selected release group. Overrides specifierSource.
releaseGroup *objectThe resolved release group configuration, including name, relevant to all projects in the current execution.
specifierSource"prompt" | "conventional-commits"Which approach to use to determine the semver specifier used to bump the version of the project."conventional-commits"
preidstringThe optional prerelease identifier to apply to the version, in the case that specifier has been set to prerelease.
packageRootstringThe root directory of the directory (containing a manifest file at its root) to publish. Defaults to the project root
currentVersionResolver"registry" | "disk" | "git-tag"Which approach to use to determine the current version of the project."disk"
currentVersionResolverMetadataobjectAdditional metadata to pass to the current version resolver.[object Object]

Please note: Option names followed by * above are required, and must be provided to run the executor.

Building

Run nx build workspace-tools to build the library.

Running unit tests

Run nx test workspace-tools to execute the unit tests via Jest.

Storm Workspaces

Storm workspaces are built using Nx, a set of extensible dev tools for monorepos, which helps you develop like Google, Facebook, and Microsoft. Building on top of Nx, the Open System provides a set of tools and patterns that help you scale your monorepo to many teams while keeping the codebase maintainable.


Roadmap

See the open issues for a list of proposed features (and known issues).


Support

Reach out to the maintainer at one of the following places:


License

This project is licensed under the Apache License 2.0. Feel free to edit and distribute this template as you like.

See LICENSE for more information.


Changelog

This project adheres to Semantic Versioning. Every release, along with the migration instructions, is documented in the CHANGELOG file


Contributing

First off, thanks for taking the time to contribute! Contributions are what makes the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.

Please try to create bug reports that are:

  • Reproducible. Include steps to reproduce the problem.
  • Specific. Include as much detail as possible: which version, what environment, etc.
  • Unique. Do not duplicate existing opened issues.
  • Scoped to a Single Bug. One bug per report.

Please adhere to this project's code of conduct.

You can use markdownlint-cli to check for common markdown style inconsistency.


Contributors

Thanks goes to these wonderful people (emoji key):

Patrick Sullivan
Patrick Sullivan

🎨 💻 🔧 📖 ⚠️
Tyler Benning
Tyler Benning

🎨
Stormie
Stormie

🚧
All Contributors Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!




Storm Software

Fingerprint: 1BD2 7192 7770 2549 F4C9 F238 E6AD C420 DA5C 4C2D

Storm Software is an open source software development organization and creator of Acidic, StormStack and StormCloud.

Our mission is to make software development more accessible. Our ideal future is one where anyone can create software without years of prior development experience serving as a barrier to entry. We hope to achieve this via LLMs, Generative AI, and intuitive, high-level data modeling/programming languages.

Join us on Discord to chat with the team, receive release notifications, ask questions, and get involved.

If this sounds interesting, and you would like to help us in creating the next generation of development tools, please reach out on our website or join our Slack channel!






Keywords

FAQs

Package last updated on 06 Sep 2024

Did you know?

Socket

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc