963 markdown files reformatted with the repository's pinned prettier so pnpm format:check covers the folded tree like every other repo file. The formatter's embedded-language pass also normalized code fences (TS semicolons, closed HTML tags in examples, lowercased CSS hex colors, one renumbered list that skipped an index). Alphanumeric token deltas vs the fold commit were audited file-by-file; all are formatter-equivalent markup normalizations plus the four sanitized skills.
2.1 KiB
2.1 KiB
CI Environment Support
Automatically detect CI environments and toggle features based on local vs CI builds.
Overview
tsdown uses the is-in-ci package to detect CI environments. This covers GitHub Actions, GitLab CI, Jenkins, CircleCI, Travis CI, and more.
CI-Aware Values
Several options accept CI-aware string values:
| Value | Behavior |
|---|---|
true |
Always enabled |
false |
Always disabled |
'ci-only' |
Enabled only in CI, disabled locally |
'local-only' |
Enabled only locally, disabled in CI |
Supported Options
These options accept CI-aware values:
dts- TypeScript declaration file generationpublint- Package lint validationattw- "Are the types wrong" validationreport- Bundle size reportingexports- Auto-generatepackage.jsonexportsunused- Unused dependency checkdevtools- DevTools integrationfailOnWarn- Fail on warnings (defaults to'ci-only')
Usage
String Form
export default defineConfig({
dts: 'local-only', // Skip DTS in CI for faster builds
publint: 'ci-only', // Only run publint in CI
failOnWarn: 'ci-only', // Fail on warnings in CI only (default)
});
Object Form
When an option takes a configuration object, set enabled to a CI-aware value:
export default defineConfig({
publint: {
enabled: 'ci-only',
level: 'error',
},
attw: {
enabled: 'ci-only',
profile: 'node16',
},
});
Config Function
The config function receives a ci boolean in its context:
export default defineConfig((_, { ci }) => ({
minify: ci,
sourcemap: !ci,
}));
Typical CI Configuration
export default defineConfig({
entry: 'src/index.ts',
format: ['esm', 'cjs'],
dts: true,
failOnWarn: 'ci-only',
publint: 'ci-only',
attw: 'ci-only',
});
Related Options
- Package Validation - publint and attw configuration
- Log Level -
failOnWarnoption details