mirror of
https://github.com/ezolenko/rollup-plugin-typescript2.git
synced 2025-12-08 19:06:16 +00:00
* hotfix: `this.load` was added in Rollup `2.60.0`; don't run on older versions - this is my bad, I didn't realize `this.load` came out _much_ later than `this.resolve` - c.f. https://github.com/rollup/rollup/blob/master/CHANGELOG.md#2600 - since we're backward-compatible w/ Rollup `1.26.3`, add in a version check for the type-only fix - the type-only fix will error out in Rollup versions less than `2.60.0`, so instead of erroring out, just skip this functionality - TODO: should move back to using `semver` that was removed in 08d2f5bcad7cb9a9a0974f3707a27d29dd89da7c * deps: add back `semver` and use for version checking - reverts the `semver` removal in 08d2f5bcad7cb9a9a0974f3707a27d29dd89da7c - add back the TS version range check - add a Rollup version range check, fixing an old issue - check `this.load` Rollup version with `semver` instead of string comparison - add `semver` to `external`s list - also remove `resolve` as it's no longer used as of 74f6761ff63863cdb3e92ca1f33640fe6f4fc7db - and re-organize the list so that Node built-ins are in one section while deps are in another - makes it clearer what we're marking as external * dx: add a nice warning when `this.load` is not supported - so it doesn't just silently skip the type-only fix on Rollup versions <2.60.0 * fix(test): add globals for strings that are replaced during build - `TS_VERSION_RANGE`, `ROLLUP_VERSION_RANGE`, `RPT2_VERSION` were previously only defined during builds, so would cause tests to fail - add these vars as (namespaced) globals in the Jest config so that they can be used in tests too - if they don't exist on `global` (or if `global` doesn't exist), then use the built strings instead - see in-line comments for more details - also reorder `re` placement to match the usage order in the code - and fix lint issues (`no-string-literal`) Co-authored-by: Eugene Zolenko <zolenkoe@gmail.com>
67 lines
1.1 KiB
JavaScript
67 lines
1.1 KiB
JavaScript
import resolve from "@rollup/plugin-node-resolve";
|
|
import commonjs from "@rollup/plugin-commonjs";
|
|
import replace from "rollup-plugin-re";
|
|
|
|
const pkg = require("./package.json");
|
|
|
|
export default {
|
|
input: "src/index.ts",
|
|
|
|
external: [
|
|
// Node built-ins
|
|
"fs",
|
|
"crypto",
|
|
"path",
|
|
"constants",
|
|
"stream",
|
|
"util",
|
|
"assert",
|
|
"os",
|
|
// deps
|
|
"fs-extra",
|
|
"semver",
|
|
"@rollup/pluginutils",
|
|
],
|
|
|
|
plugins: [
|
|
replace
|
|
({
|
|
replaces:
|
|
{
|
|
"$TS_VERSION_RANGE": pkg.peerDependencies.typescript,
|
|
"$ROLLUP_VERSION_RANGE": pkg.peerDependencies.rollup,
|
|
"$RPT2_VERSION": pkg.version,
|
|
},
|
|
}),
|
|
resolve({ jsnext: true, preferBuiltins: true, }),
|
|
commonjs
|
|
({
|
|
include: "node_modules/**",
|
|
}),
|
|
],
|
|
|
|
output: [
|
|
{
|
|
format: "cjs",
|
|
file: pkg.main,
|
|
sourcemap: true,
|
|
banner: "/* eslint-disable */",
|
|
exports: "auto",
|
|
},
|
|
{
|
|
format: "es",
|
|
file: pkg.module,
|
|
sourcemap: true,
|
|
banner: "/* eslint-disable */",
|
|
exports: "auto",
|
|
},
|
|
{
|
|
format: "es",
|
|
file: "build-self/" + pkg.module,
|
|
sourcemap: true,
|
|
banner: "/* eslint-disable */",
|
|
exports: "auto",
|
|
},
|
|
],
|
|
};
|