Package Exports
- @stoplight/spectral-ruleset-bundler
 - @stoplight/spectral-ruleset-bundler/plugins/builtins
 - @stoplight/spectral-ruleset-bundler/plugins/commonjs
 - @stoplight/spectral-ruleset-bundler/plugins/skypack
 - @stoplight/spectral-ruleset-bundler/plugins/stdin
 - @stoplight/spectral-ruleset-bundler/plugins/url
 - @stoplight/spectral-ruleset-bundler/plugins/virtualFs
 - @stoplight/spectral-ruleset-bundler/presets/browser
 - @stoplight/spectral-ruleset-bundler/presets/node
 - @stoplight/spectral-ruleset-bundler/presets/runtime
 - @stoplight/spectral-ruleset-bundler/presets/types
 - @stoplight/spectral-ruleset-bundler/with-loader
 
Readme
@stoplight/spectral-ruleset-bundler
Options
- plugins - any other Rollup.js plugin, i.e. a minifier.
 - target:
node- a preset suitable for the Node.js runtimebrowser- a preset tailored to Browsersruntime- a preset you want to use if you want to bundle & execute the ruleset at the runtime
 - format - supported values are: 
esm,commonjs,iife. - treeshake - whether to enable tree shaking. False by default.
 
Bolded options are required.
Loading YAML/JSON Ruleset
// spectral.mjs
import * as fs from "node:fs";
import { fileURLToPath } from "node:url";
import * as path from "node:path";
import { Spectral } from "@stoplight/spectral-core";
import { bundleAndLoadRuleset } from "@stoplight/spectral-ruleset-bundler/with-loader";
import { fetch } from "@stoplight/spectral-runtime";
const __dirname = path.dirname(fileURLToPath(import.meta.url));
const s = new Spectral();
s.setRuleset(await bundleAndLoadRuleset(path.join(__dirname, ".spectral.yaml"), { fs, fetch }));
// lint as usual