Mirror: The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

chore: Replace CJS Rollup check with rollup-plugin-cjs-check (#2851)

+1
package.json
···
"react-is": "^17.0.2",
"rimraf": "^3.0.2",
"rollup": "^3.3.0",
+
"rollup-plugin-cjs-check": "^1.0.2",
"rollup-plugin-generate-package-json": "^3.2.0",
"rollup-plugin-tsconfig-paths": "^1.4.0",
"rollup-plugin-typescript2": "0.34.1",
+13
pnpm-lock.yaml
···
react-is: ^17.0.2
rimraf: ^3.0.2
rollup: ^3.3.0
+
rollup-plugin-cjs-check: ^1.0.2
rollup-plugin-generate-package-json: ^3.2.0
rollup-plugin-tsconfig-paths: ^1.4.0
rollup-plugin-typescript2: 0.34.1
···
react-is: 17.0.2
rimraf: 3.0.2
rollup: 3.3.0
+
rollup-plugin-cjs-check: 1.0.2_rollup@3.3.0
rollup-plugin-generate-package-json: 3.2.0_rollup@3.3.0
rollup-plugin-tsconfig-paths: 1.4.0_6annma2bj33shm6er7hwi5u4z4
rollup-plugin-typescript2: 0.34.1_6annma2bj33shm6er7hwi5u4z4
···
dependencies:
hash-base: 3.1.0
inherits: 2.0.4
+
+
/rollup-plugin-cjs-check/1.0.2_rollup@3.3.0:
+
resolution: {integrity: sha512-q5DuMiYTXoMlLIHeTDdTYQrN+v/AdjEyVZnfkdvX1NnS4jQP1fwSuOr29WS4pB/4lnF1D7Annp62/27aZUyTyQ==}
+
engines: {node: '>=14.0.0'}
+
peerDependencies:
+
rollup: ^1.20.0 || ^2.0.0 || ^3.0.0
+
dependencies:
+
'@rollup/pluginutils': 5.0.2_rollup@3.3.0
+
cjs-module-lexer: 1.2.2
+
rollup: 3.3.0
+
dev: true
/rollup-plugin-generate-package-json/3.2.0_rollup@3.3.0:
resolution: {integrity: sha512-+Kq1kFVr+maxW/mZB+E+XuaieCXVZqjl2tNU9k3TtAMs3NOaeREa5sRHy67qKDmcnFtZZukIQ3dFCcnV+r0xyw==}
-42
scripts/rollup/cjs-check-plugin.mjs
···
-
import { parse, init } from 'cjs-module-lexer';
-
import { createFilter } from '@rollup/pluginutils';
-
-
function cleanup(opts = {}) {
-
const filter = createFilter(opts.include, opts.exclude, {
-
resolve: false
-
});
-
-
return {
-
name: "cjs-check",
-
-
async renderChunk(code, chunk) {
-
if (opts.extension !== '.js') {
-
return null;
-
} else if (!filter(chunk.fileName)) {
-
return null;
-
}
-
-
await init()
-
const output = parse(code);
-
-
let hasMissing = false;
-
for (const mod of chunk.exports) {
-
if (mod[0] == '*' && !output.reexports.includes(mod.slice(1))) {
-
hasMissing = true;
-
console.error(`Missing Module Re-Export: ${mod.slice(1)}`)
-
} else if (mod[0] != '*' && !output.exports.includes(mod)) {
-
hasMissing = true;
-
console.error(`Missing Module Export: ${mod}`)
-
}
-
}
-
-
if (hasMissing) {
-
throw new Error('cjs-module-lexer did not agree with Rollup\'s exports.');
-
}
-
-
return null;
-
}
-
};
-
}
-
-
export default cleanup;
+1 -1
scripts/rollup/plugins.mjs
···
import babel from '@rollup/plugin-babel';
import visualizer from 'rollup-plugin-visualizer';
import terser from '@rollup/plugin-terser';
+
import cjsCheck from 'rollup-plugin-cjs-check';
import cleanup from './cleanup-plugin.mjs'
-
import cjsCheck from './cjs-check-plugin.mjs'
import babelPluginTransformPipe from '../babel/transform-pipe.mjs';
import babelPluginTransformInvariant from '../babel/transform-invariant-warning.mjs';
import babelPluginTransformDebugTarget from '../babel/transform-debug-target.mjs';