Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@-xun/scripts

Xunnamius97MITdeprecated1.33.0TypeScript support: included

This package has been superseded by @-xun/symbiote

The scripts and assets powering Xunnamius's NPM-based projects

Xunnamius

readme

The NPM-based tooling that underpin all of my projects


Black Lives Matter! Last commit timestamp Codecov Source license Uses Semantic Release!

NPM version Monthly Downloads


xscripts (@-xun/scripts)

xscripts is a highly-opinionated personal tool for building, linting, and deploying my NPM-based projects. Similar in intent to kcd-scripts, react-scripts, etc.




Install

You can install this package globally:

npm install --global @-xun/scripts

And then execute the CLI:

npx xscripts ...

Alternatively, you can use npx to execute the CLI without pre-installation:

npx @-xun/scripts ...

Usage

TODO

Appendix

Further documentation can be found under docs/.

Published Package Details

This is a CJS2 package with statically-analyzable exports built by Babel for Node.js versions that are not end-of-life. For TypeScript users, this package supports both "Node10" and "Node16" module resolution strategies.

<summary>Expand details</summary>

That means both CJS2 (via require(...)) and ESM (via import { ... } from ... or await import(...)) source will load this package from the same entry points when using Node. This has several benefits, the foremost being: less code shipped/smaller package size, avoiding dual package hazard entirely, distributables are not packed/bundled/uglified, a drastically less complex build process, and CJS consumers aren't shafted.

Each entry point (i.e. ENTRY) in package.json's exports[ENTRY] object includes one or more export conditions. These entries may or may not include: an exports[ENTRY].types condition pointing to a type declarations file for TypeScript and IDEs, an exports[ENTRY].module condition pointing to (usually ESM) source for Webpack/Rollup, an exports[ENTRY].node condition pointing to (usually CJS2) source for Node.js require and import, an exports[ENTRY].default condition pointing to source for browsers and other environments, and other conditions not enumerated here. Check the package.json file to see which export conditions are supported.

Though package.json includes { "type": "commonjs" }, note that any ESM-only entry points will be ES module (.mjs) files. Finally, package.json also includes the sideEffects key, which is false for optimal tree shaking where appropriate.

License

See LICENSE.

Contributing and Support

New issues and pull requests are always welcome and greatly appreciated! 🤩 Just as well, you can star 🌟 this project to let me know you found it useful! ✊🏿 Or you could buy me a beer 🥺Thank you!

See CONTRIBUTING.md and SUPPORT.md for more information.

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):

Bernard
Bernard

🚇 💻 📖 🚧 ⚠️ 👀
Add your contributions

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

changelog

Changelog

All notable changes to this project will be documented in this auto-generated file. The format is based on Conventional Commits; this project adheres to Semantic Versioning.


@-xun/scripts@1.33.0 (2024-12-22)

✨ Features

  • commands/release: add allowMissingNpmScripts task init option; skippable coverage upload (f1e8e8e)
  • commands: take advantage of improved target gathering functions (4925885)
  • packages/babel-plugin-metadata-accumulator: always include type-only import metadata (ca87588)
  • packages/bfe: add "options" to usage string in help text by default (410a05a)
  • packages/debug: support and expand upstream debug's process.env.DEBUG activation behavior (f111552)
  • packages/project-utils: exclude type-only imports from build targets (but keep them elsewhere) (1d9accc)
  • packages/project-utils: introduce toDirname typed analogue of node:fs dirname (51ab454)
  • packages/project-utils: provide richer metadata to consumers of gatherPackageBuildTargets (c2bee3b)
  • Upgrade to experimental asset generation engine (b057430)

🪄 Fixes

  • assets/transformers: ensure package.json generated for non-hybrid monorepo roots (eec0ed9)
  • assets/transformers: make env.default transformer resilient to non-existence of .env (16f64e1)
  • commands/test: ensure all the current package's multiversal dependencies' tests are run (413dc39)
  • commands/test: ensure test coverage directory is always generated at the current package root (28c221b)
  • packages/debug: add interop necessary to preserve upstream DEBUG env var activation behavior (6a8c411)
  • packages/project-utils: ensure alias calculation uses correct relative directory src path (da7e953)
  • packages/rejoinder: ensure sub-instance loggers are included in internal tracking (edec64f)
  • util: consider scope during precheck phase (578d631)

⚙️ Build System

  • commands/deploy: remove dummy release option (bf993c9)
  • husky: skip slow unit tests (c52b3f1)
  • package: downgrade typescript-eslint to 8.18.0 and pin it until it is fixed (cdfd48d)
  • Regenerate conventional and release assets (a33aed8)

@-xun/scripts@1.32.0 (2024-12-11)

✨ Features

  • commands/renovate: complete --sync-deps and --github-reconfigure-repo renovations (c9a6e8b)
  • packages/project-utils: add relativeRoot to ProjectMetadata (e17adfb)

🪄 Fixes

  • commands/renovate: do not update existing origin secrets unless --force (c5cd76a)
  • Rewrite assets interface to avoid impedance mismatch (56e576c)

⚙️ Build System

  • babel: readPackageJsonAtRoot => readXPackageJsonAtRoot (aa60eeb)
  • prettier.config: reduce typescript print width to 89 (vscode shrunk) (c248757)

@-xun/scripts@1.31.0 (2024-12-07)

✨ Features

  • commands/renovate: add initial stub version of "project renovate" (8f7777c)
  • src: allow multiple choice string replacements in markdown asset templates (6fc66d8)

🪄 Fixes

  • assets/conventional: ensure issuePrefixes xchangelog setting propagates throughout config object (8a5fd8a)
  • commands/release: only rebuild changelog if the relevant task is not skipped (68d5bda)
  • commands/renovate: account for vacuous case in bfe check functions (ef6927b)
  • src: actually invoke "project renovate" command from within "release" command (ceb6c62)
  • src: factor out shared runner wrapper; ensure runner rejects when it should (ce93443)
  • src: support parameters in handlebars-style template strings (6ce819a)

⚙️ Build System

  • husky: use proper lint command (62a5a12)

🏗️ Patch @-xun/scripts@1.31.2 (2024-12-08)

🪄 Fixes

  • commands/test: ensure all relevant source files are included when calculating coverage (0565333)

⚙️ Build System

  • Remove execa bridge dependency now that we use @-xun/run exclusively (f4ecfc9)

🏗️ Patch @-xun/scripts@1.31.1 (2024-12-08)

🪄 Fixes

  • command/release: ensure "release" calls "project renovate" with --force (cfe28e3)
  • packages/bfe: ensure withUsageExtensions configurations function as advertised (8935008)
  • packages/bfe: handle declarative group option configurations in bfe instead of bf/yargs (39e37a8)
  • src: use more specific conflicts for --deprecate vs --undeprecate (58a6223)

@-xun/scripts@1.30.0 (2024-11-25)

✨ Features

  • commands/list-tasks: allow filtering tasks by string (3710988)
  • packages/bfe: add support for prependNewlines (e163302)

🪄 Fixes

  • commands/release: ensure codecov uploader is passed the proper arguments (ca47d93)

🏗️ Patch @-xun/scripts@1.30.3 (2024-12-04)

🪄 Fixes

  • packages/project-utils: ensure meaningful error output from readJsonc (01dca03)
  • src: allow testverse imports in non-source typescript files (b923d6d)

🏗️ Patch @-xun/scripts@1.30.2 (2024-11-26)

⚙️ Build System

  • remarkrc: ensure remark doesn't mangle GFM alerts with escape characters (98a868e)

🏗️ Patch @-xun/scripts@1.30.1 (2024-11-25)

🪄 Fixes

  • config/conventional: fix global patch detection logic (89eebe7)

@-xun/scripts@1.29.0 (2024-11-24)

✨ Features

  • packages/bfe: allow more control over withUsageExtensions result (053bf3e)
  • src: add support for init version tag suffixes to "build changelog" (002431f)

🪄 Fixes

  • src: ensure "clean" command does not delete ignored packages (65b8c0b)

🏗️ Patch @-xun/scripts@1.29.2 (2024-11-25)

⚙️ Build System

  • package: upgrade @-xun/changelog to 1.0.0 (d89809b)

🏗️ Patch @-xun/scripts@1.29.1 (2024-11-24)

⚙️ Build System

  • remarkrc: fix faulty array reference (8feaaa7)

@-xun/scripts@1.28.0 (2024-11-24)

✨ Features

  • babel: use reverse entrypoint resolver to fix tsc output (c3fc126)
  • packages/project-utils: add try option to json reading functions (a91e7fa)

🪄 Fixes

  • eslint: do not collapse path group overrides (71b17c8)
  • packages/project-utils: ensure external and internal build target sets are mutually exclusive (7fed439)
  • Remove unnecessary restrictions on universe imports; bail out when an import is rejected (11b585d)
  • src: warn when release process ends with a dirty repo (cf5b25b)

⚙️ Build System

  • babel: add core-js validation checks (55ee62d)
  • babel: fix incorrect regexp stringification when using transform-rewrite-imports (56b706a)

@-xun/scripts@1.27.0 (2024-11-23)

✨ Features

  • project-utils: expose process.cwd replacement exports (1a69887)

🪄 Fixes

  • distributables.ts: do not output "build succeeded but" message unless build actually succeeded (1262cc8)

⚙️ Build System

  • eslint: add instanceof and process.cwd usage restrictions (645473d)
  • package: make scripts less verbose (c5c742e)
  • packages/debug: package-ify this workspace (afa3f46)

@-xun/scripts@1.26.0 (2024-11-22)

✨ Features

  • packages/bfe: ensure coerce function always receive an array when so configured (5c8816d)
  • src: implement "release" command (44be676)
  • src: implement new graph algorithm for lint target determination (3323fc3)
  • src: implement new graph algorithm for test target determination (8a67d70)

🪄 Fixes

  • packages/bfe: ensure downstream builder functions receive nullable argv (9b551a7)
  • packages/bfe: force BfeStrictArgs to be partial in argv to make usage easier (0924dd3)
  • packages/bfe: use more intuitive arg-val interpretation when given argument value is an array (ce72af2)
  • packages/cli-utils: do not propagate upstream error messages (6ac3376)
  • src: ignore root package properly when releasing package (09373fa)
  • src: improve dev version detection (b3e95e7)
  • src: improve outputs; fix crash due to shifting arg type (d27007d)
  • src: patch globals to deal with design decisions from upstream conventional-changelog-core (998218d)

⚙️ Build System

  • eslint: allow "arg" as a variable name (9087086)
  • eslint: update to use experimental features of @-xun/eslint-plugin-import-experimental (36016b1)
  • jest: ensure jest and jest-haste-map ignore ignored packages (86fca58)
  • src: update with latest launch.json (bb6bde9)

@-xun/scripts@1.25.0 (2024-11-14)

✨ Features

  • Integrate @-xun/changelog (31c7bbb)
  • Integrate @-xun/release (4f807cf)
  • Integrate @-xun/run (d22cee3)
  • Integrate Tstyche into "test" command (9045cd7)
  • packages/project-utils: add typescriptTestFiles to ProjectFiles objects (e7c4b6e)
  • packages/project-utils: add support for .shared files at package roots (c62261b)
  • packages/project-utils: ensure packages with id matching *.ignore are excluded from analysis (4d5ddb6)
  • packages/rejoinder: ensure outputs are yellow iff they are "warn" outputs (da60db8)
  • packages/test-utils: split off test utilities into new package (576dd64)
  • src: "test" prevents propagation of DEBUG env var by default unless --debug given (ffcad30)
  • src: ensure "build changelog" prints out full package name and version (4059ed7)
  • src: ensure current package is always printed last for "list-tasks" (5ea7f8a)
  • src: expand "build" pre-check to include all of a package's TS files (d4d3756)
  • src: explicitly allow arbitrary options passed to executables in "lint" and "test" (d915727)
  • src: implement "build" support for partial builds via --partial (5d61e87)

🪄 Fixes

  • assets/config: update conventional configuration to support both monorepos and polyrepos (1d0dee8)
  • packages/project-utils: ensure isRootPackage differentiates from non-root packages (2b46883)
  • packages/project-utils: ensure specifier-ok checks are also performed on type-only imports (95b0f68)
  • src: ambient types are only allowed at package root types/ dir (81ba7bc)
  • src: do not run prettier on files not targeted by --files (128e83a)
  • src: ensure "format" functions properly in a monorepo context given --scope (c4016a8)
  • src: ensure "lint" functions properly in monorepo context given --scope (0f4c7b1)
  • src: ensure "test" functions properly in a monorepo context given --scope (1894d80)
  • src: ensure BF context receives the correct version number from own package.json (351ee50)
  • src: ensure prettier always gets a pass at markdown and json files in "format" command (74ab5d9)
  • src: ensure tstyche is only run when type-only tests exist (18dbad0)
  • src: ensure version extraction regexp behaves robustly (8e82ac1)
  • src: improve "build distributables" options configuration (f323a6a)
  • src: improve command output aesthetics (4a6e254)
  • src: improved --version support (4e3cdc0)
  • src: include full package name and version in release commit subject (5e00587)
  • src: only match xpipeline commands that are proper suffixes (9b8b41a)
  • src: use proper gitLogOptions.paths property (fixes typo) (e22403c)

⚙️ Build System

  • eslint: ensure .transpiled directory is ignored (c34a549)
  • gitignore: upgrade to more robust .gitignore (43da882)
  • husky: add husky pre-push protective hook (33af2bc)
  • jest: ensure .transpiled directory is ignored (c1ac811)
  • jest: ensure .transpiled directory is ignored by jest-haste-map etc (901d853)
  • jest: ignore type-only tests (1fb8568)
  • package: correct typo in bug.url (3373208)
  • package: use --no-parallel in "release" script (5eb9def)
  • prettierignore: ignore license files (b928e8a)
  • remarkrc: never automatically capitalize our packages' names in markdown headings (45bcd8c)
  • src: patch both Proxy and spawn as a side effect (f50abaf)
  • Use consistent exclusions across TS configurations (98a1dd7)

@-xun/scripts@1.24.0 (2024-11-01)

✨ Features

  • packages/debug: differentiate root from nested namespaces (467e884)
  • packages/project-utils: re-implement caching subsystem (472af2c)

🪄 Fixes

  • packages/project-utils: remove overengineered sync/async plumbing functions (8ab4eec)
  • src: ensure build pre-checks run before the ./dist dir is cleared (69f2dc0)
  • src: ignore internal-resolution-errors with attw since we do our own internal checks (8dc4a96)
  • src: prevent clean command from obliterating cwd (e3fa185)
  • src: use upward root mode when searching for babel configs (89b57c4)

⚡️ Optimizations

  • eslint: use __dirname assumption instead of analyzing the entire project (b8b82d9)

⚙️ Build System

  • package: narrow scope of the lint npm script (556f17e)
  • package: use no-hoist to block execa hoisting (74d58d6)

@-xun/scripts@1.23.0 (2024-10-27)

✨ Features

  • babel: replace tsconfig-replace-paths with babel-plugin-transform-rewrite-import (1bdceca)
  • packages/project-utils: implement support for pseudodecorators (6ff2bd3)
  • src: perform validity and extraneity checks on build output for "build distributables" (a1d3657)

🪄 Fixes

  • eslint: use latest analyzeProjectStructure() function (fa2a97f)
  • packages/project-utils: ensure ".git" is already returned regardless of .gitignore (6e3f599)
  • packages/project-utils: ensure analysis cache uses entire call signature when memoizing (ca021f8)
  • packages/project-utils: repair caching mechanism for analyze-project-structure (b9218ee)

⚙️ Build System

  • Add pseudodecorators where appropriate (dc47cfb)
  • package: fix dependency issues identified by xscripts when analyzing its own project structure (ebb4fb5)
  • package: remove extraneous dependencies (ccc82b3)

@-xun/scripts@1.22.0 (2024-10-24)

✨ Features

  • src: make --run-to-completion default to true for "lint" command (8bdf28b)

🪄 Fixes

  • eslint: disable no-unsupported-features checks, generalize overwriteFileProperty, fix eslint-plugin-n bug (0c3f85c)
  • src: ensure CannotRunOutsideRoot error only triggers when outside root (531d3ea)
  • src: properly add the development tag when using self-referential xscripts (a7a66d9)

⚙️ Build System

  • eslint: modernize eslint config (e37006e)
  • package: expand engines.node to all maintained node versions (349cf20)
  • package: remove more rarely used scripts (d8b7442)
  • package: use consistent script names (c7fe410)
  • src: fix import missing extension (2c40974)
  • src: fix import missing extension (f5fb1bc)

@-xun/scripts@1.21.0 (2024-10-18)

✨ Features

  • @-xun/babel-plugin-metadata-accumulator: create accumulator babel plugin (bf9514f)
  • src: upgrade commands with scope (monorepo) support (7ad96c5)

🪄 Fixes

  • src: improve conventional-commits config monorepo support (d54cfa0)

⚙️ Build System

  • commitlint: update commitlint configuration from cjs (js) to esm (mjs) (cd82265)
  • eslint.config: activate several new rules (94a2253)
  • eslint: update with alias test and latest rule updates (db0c6d7)
  • eslint: upgrade eslint-plugin-import usage to take advantage of v9 support (7dcbf56)
  • jest: update jest configuration from cjs (js) to esm (mjs) (e334962)
  • lint-staged: update lint-staged configuration from cjs (js) to esm (mjs) (8833e0a)
  • ncurc: pin non-broken remark-lint-no-inline-padding (5070ab4)
  • package: add dependency aliases for find-up@5 and escape-string-regexp@4 (1eff5cb)
  • prettier: update prettier configuration from cjs (js) to esm (mjs) (0eb7fd3)
  • remarkrc: add lint-no-undef NODE_ENV support (e169f47)
  • Split tsconfig into project vs package configurations (e7b8579)
  • turbo: add stub turbo configuration (2036da0)
  • Update .gitignore and .prettierignore with improved documentation and latest best practices (a35f4c0)
  • vscode: update full project lint vscode task example (3f1a5a9)

@-xun/scripts@1.20.0 (2024-08-20)

✨ Features

  • Ensure --changelog-file is added to "build changelog" (d84b35f)
  • src: add --import-section-file and --changelog-file flags to "build changelog" (8cf99a9)

🪄 Fixes

  • src: ensure "format" ignores .remarkignore; ensure "lint" respects .remarkignore (3dd5d78)
  • src: ensure changelog prints patches (including imports) in proper order (5c3ed73)
  • src: properly section off patch notes using dividers (c912b09)

⚙️ Build System

  • package: update repository url to conform with GHA provenance guidelines (9cb2d72)
  • src/assets: disable remark-validate-links for template files (ce03500)
  • tsconfig: set declaration=false by default (22f2f41)

🏗️ Patch @-xun/scripts@1.20.8 (2024-08-23)

🪄 Fixes

  • src: ensure release notes have headers at level 2 (ce701f3)

🏗️ Patch @-xun/scripts@1.20.7 (2024-08-23)

🪄 Fixes

  • src: ensure only the start of the release notes are trimmed (3c48ae1)

🏗️ Patch @-xun/scripts@1.20.6 (2024-08-23)

🪄 Fixes

  • src/assets: remove first line from semantic-release plugin generated release notes (76992d9)

🏗️ Patch @-xun/scripts@1.20.5 (2024-08-22)

🪄 Fixes

  • Ensure xscripts supports limited invocations outside of project root (0864f92)
  • src/commands/lint: ensure no erroneous whitespaces are inserted between outputs (ff3853f)

🏗️ Patch @-xun/scripts@1.20.4 (2024-08-21)

🪄 Fixes


🏗️ Patch @-xun/scripts@1.20.3 (2024-08-21)

🪄 Fixes

  • src: move deep import with respect to new deduped location (dd265b4)
  • src: remove utf8 symbols from changelog generator output (cf21d7d)

🏗️ Patch @-xun/scripts@1.20.2 (2024-08-21)

🪄 Fixes

  • src: ensure calls to remark include an explicit --rc-path (bc2a56b)
  • src: ensure robust handling of formatter errors when running "format" (5211547)
  • src: make "build changelog" CustomCliArguments type more accurate (8735f61)
  • src: work around glob-gitignore bug in "format" (a86884f)

⚙️ Build System

  • eslint.config: update @typescript-eslint/require-await linting config (b23b12b)
  • release.config: subsume semantic-release plugin functionality into custom release conf plugin (8b54237)
  • src/assets: move custom semantic-release plugin into config asset (25e7a3b)
  • src: ensure custom semantic-release plugin does not allow non-md files (904c9ac)

🏗️ Patch @-xun/scripts@1.20.1 (2024-08-20)

⚙️ Build System

  • release: fix incorrect use of lodash template evaluate delimiter (35876a1)

@-xun/scripts@1.19.0 (2024-07-29)

✨ Features

  • src: implement --output-sort for "build changelog"; integrate conventional core and drop cli (587a354)

⚙️ Build System

  • commitlint.config: expand to include several useful rules (909949d)

🏗️ Patch @-xun/scripts@1.19.1 (2024-07-29)

🪄 Fixes

  • package: fix asset config import configuration (d201164)

@-xun/scripts@1.18.0 (2024-07-27)

✨ Features

  • src: "build changelog" now accepts --only-patch-changelog and --output-unreleased (6c7ae27)
  • src: "lint" now accepts --run-to-completion and --ignore-warnings (e833523)

🪄 Fixes

  • package: downgrade @arethetypeswrong/cli to ^0.15.0 (0383586)
  • src: ensure node options are concatenated properly (3a3489c)

⚡️ Optimizations

⚙️ Build System

  • eslint.config: update @typescript-eslint/unbound-method linting config (f6515ea)
  • Update source aliases to latest (8d71521)
  • vscode: take advantage of new --run-to-completion flag (d9b4b80)
  • vscode: update example with latest best practices (64b7309)

@-xun/scripts@1.17.0 (2024-07-23)

⚙️ Build System

  • eslint.config: update to eslint flat config (eslint.config.mjs) (609fca8)
  • husky: update husky scripts (e55a88e)
  • package: add semver; force install alpha versions of typescript-eslint et al (b56fd66)
  • package: update exports, dependencies, and scripts (323579d)
  • Update to eslint@9; begin transition to eslint.config.js flat (52763c5)

@-xun/scripts@1.16.0 (2024-07-14)

✨ Features

  • src: implement "lint" command (346b4ac)

🪄 Fixes

  • package: include missing listr2 dependency (f42f4ab)
  • src: ensure "build distributables" copies non-compiled files into ./dist (e596e5b)
  • src: ensure "lint" command linter subprocesses don't write to stdout or hang after error (d96ae1d)
  • src: ensure proper checks with various arguments (c9e254a)

⚙️ Build System

  • husky: update lint script to use latest name (ea6aaff)
  • package: add final npm scripts (eb5631b)
  • package: replace typescript babel preset dependency with syntax plugin (b72401a)
  • package: update lint scripts to use xscripts (7c1e7f1)

🏗️ Patch @-xun/scripts@1.16.1 (2024-07-14)

🪄 Fixes

  • src: place --copy-files argument in proper order in babel build sub-command (8f1d25d)

@-xun/scripts@1.15.0 (2024-07-07)

✨ Features

  • src: implement "test" script/command (b665723)

@-xun/scripts@1.14.0 (2024-07-07)

✨ Features

  • src: add --clean-output-dir option to "build distributables" command (a507530)
  • src: add struts for projector-js replacement "project" commands (489e75a)
  • src: merge "build distributables" and "build transpiled" commands (1b6c72a)

🪄 Fixes

  • src: add .tsx to babel --extensions arg (68c5582)
  • src: ensure "build distributables" --generate-intermediates-for includes tests (2ed4344)
  • src: remove bad options references from "format" command (cafeb73)

⚙️ Build System

  • maintaining: note that resetting the working tree before publishing is optional (f08250c)

@-xun/scripts@1.13.0 (2024-07-02)

✨ Features

  • src: implement "build documentation" script (05e56e7)
  • src: implement "build externals" script (1336341)

⚙️ Build System

  • Ensure local ecosystem ignores only relevant files (e4a1e0b)

@-xun/scripts@1.12.0 (2024-07-01)

✨ Features

  • src: implement "build changelog" script (8d4bb6d)
  • Transmute "format" command's --skip-docs into the more versatile --skip-ignored (7364616)

⚙️ Build System

  • changelog: add new CHANGELOG.md typo patches (b9b106a)
  • Hide all warnings from nodejs (c1a4b9c)
  • package: update scripts (and release.config.js) to use "build changelog" command (5b11c68)
  • remarkrc: always translate normal links into reference links (99c7b33)

🔥 Reverted

  • "build(prettierignore): no longer ignore CHANGELOG.md when formatting" (ddd9192)

@-xun/scripts@1.11.0 (2024-06-30)

✨ Features

  • src: add all-contributors regeneration to "format" command (d74f099)

🪄 Fixes

  • src: ensure --files never hands prettier paths it can't handle when running "format" command (0f4dd16)
  • src: ensure "format" command all-contributors regeneration only targets root README.md (2cd56d1)
  • src: ensure all glob relevant glob calls never return directories (9764967)
  • src: ensure, when --files is given, at least one option given for "format" command (fd86f3f)
  • src: fix fix fd86f3f (e295a02)

⚙️ Build System

  • lint-staged.config: update to use xscripts (d290ba5)
  • Reorganize deps/devdeps and re-enable commit-spell (4ea8aa4)

@-xun/scripts@1.10.0 (2024-06-29)

✨ Features

  • src: add --prepend-shebang, Next.js support to "build distributables" command (6575d49)
  • src: improve capabilities of "format" command (7d33dfe)

🪄 Fixes

  • src: actually implement --skip-docs functionality in "format" command (d535b78)
  • src: restrict root/sub-root check to certain commands (1b65f46)

🏗️ Patch @-xun/scripts@1.10.1 (2024-06-29)

🪄 Fixes

  • src: ensure --files is respected by prettier in "format" command (483f036)

@-xun/scripts@1.9.0 (2024-06-28)

✨ Features

  • src: add --full argument to "list-tasks" command (f47742b)
  • src: prevent cli from running if not in root or sub-root (4f280dc)

🪄 Fixes

  • src: fix lib output and improve other aspects of the "build distributables" command (159d771)

@-xun/scripts@1.8.0 (2024-06-27)

✨ Features

  • src: commit initial version of "build" command (c7b7623)

⚙️ Build System

  • eslintrc: do not ignore src/build (847cc63)
  • gitignore: do not ignore src files anymore (fd210c5)

@-xun/scripts@1.7.0 (2024-06-26)

✨ Features

  • src: implement "format" script (7824c25)

🪄 Fixes

  • remarkrc: improve output of "format" command" (b4c296e)

⚙️ Build System

  • package: replace format script with "format" command (005e378)
  • package: use --hush over --quiet for "format" command (9e4ae59)

@-xun/scripts@1.6.0 (2024-06-24)

✨ Features

  • src: implement "deploy" script (62e673b)

@-xun/scripts@1.5.0 (2024-06-23)

🪄 Fixes

  • clean.ts: add .vercel to list of ignored directories (fd903a4)
  • src: use loose implications with deploy command (8e11d66)

⚙️ Build System

  • package: disable tty in debug when running tests (b57a6be)
  • package: fix bad overwrite of ignore patterns (8d03799)

@-xun/scripts@1.4.0 (2024-06-01)

✨ Features

  • src: implement "dev" script (4eeba00)

⚙️ Build System

  • package: use real path to devdep version of xscripts (99d5786)

🏗️ Patch @-xun/scripts@1.4.1 (2024-06-02)

🪄 Fixes

  • src: pass arbitrary args to downstream executable (4b94a07)

⚙️ Build System

  • package: update "start" script to ensure arbitrary args are not erroneously parsed (a8ddaa5)

@-xun/scripts@1.3.0 (2024-06-01)

✨ Features

  • src: implement "start" script (cf66045)

🪄 Fixes

  • package: add workaround for npx being unable to deal with this type of recursion (b999593)
  • src: do not inherit IO when executing "clean" script (380c055)
  • src: execute husky post-checkout hook if available (f0b3b8c)

@-xun/scripts@1.2.0 (2024-05-31)

✨ Features

  • Implement "prepare" script (6426d70)

@-xun/scripts@1.1.0 (2024-05-31)

✨ Features

  • Implement "list-tasks" script (ac5a9ba)

@-xun/scripts@1.0.0 (2024-05-31)

✨ Features

  • src: implement "clean" script (89d81a3)

⚙️ Build System

  • package: update build scripts (589fcb0)