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