Siroc is a zero-configuration yet extensible framework designed for developing Node.js applications and libraries. It aims to simplify the build process by intelligently supporting TypeScript and modern JavaScript syntax, leveraging industry-standard tools like Rollup and esbuild under the hood for bundling and type definition generation. The package, currently at `v0.16.0` (as of August 2021), maintains a frequent release cadence, often introducing minor versions with significant breaking changes, aligning with its declared "work in progress" status. Key differentiators include its convention-over-configuration approach, extensibility through custom commands and build hooks, and comprehensive TypeScript support. Siroc automatically infers build configurations from `package.json` fields such as `main`, `module`, `browser`, `bin`, and `exports`, and offers robust support for Yarn workspaces in monorepo setups. It also handles `.d.ts` generation and transpires subpath patterns efficiently using `mkdist`.
npm install sirocVerified import paths — ran on the pinned version, not inferred.
Demonstrates setting up a `package.json` for siroc, a basic TypeScript entry file, and a `siroc.config.ts` file with `defineSirocConfig`.
Upgrade your Node.js environment to version 12 or newer (e.g., using `nvm install 16` and `nvm use 16`).
Ensure your `package.json` `exports` map `.mjs` files correctly for ES module consumers, and that downstream tools or build processes are configured to resolve `.mjs`.
Review the esbuild v0.12 changelog for specific breaking changes and adjust any custom `siroc` or Rollup configurations accordingly.
If you have custom externalization logic or a complex dependency graph, update your `siroc` configuration to use regular expressions for external matching, or verify existing configurations are still valid.
Consult the changelogs for `@rollup/plugin-commonjs` and `@rollup/plugin-replace` for their respective breaking changes and update your `siroc.config.ts` or Rollup configuration as needed.
Pin `siroc` to exact versions in production environments (`"siroc": "0.x.y"`) and thoroughly test updates before deploying. Keep a close eye on release notes.
Upgrade your Node.js environment to version 12 or newer. Use `nvm install 16` and `nvm use 16` or similar version management tools.
Check the `siroc` changelog for relevant plugin updates. Ensure named exports are correctly handled, or that your module resolver is configured to handle interop correctly.
Verify that your `package.json`'s `exports` field and the consumer's build configuration (e.g., Webpack, Node.js resolution) are set up to correctly resolve `.mjs` files as ES modules.
Ensure you are using `import { defineSirocConfig } from 'siroc'` in an ESM context (e.g., `.mjs` file or `type: "module"` in `package.json`).No dependency data recorded yet.