From 24f1b15103d1ec5e5c43f5996f5e99e7648f565d Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 30 Sep 2022 07:01:08 +0200 Subject: [PATCH] fix(sucrase): prepare for Rollup 3 BREAKING CHANGES: Requires Node 14 --- packages/sucrase/README.md | 2 +- packages/sucrase/package.json | 30 ++++++++++++------- packages/sucrase/rollup.config.js | 12 -------- packages/sucrase/rollup.config.mjs | 11 +++++++ packages/sucrase/src/index.js | 12 ++++---- packages/sucrase/test/snapshots/test.js.snap | Bin 469 -> 459 bytes pnpm-lock.yaml | 22 +++++++++----- 7 files changed, 53 insertions(+), 36 deletions(-) delete mode 100644 packages/sucrase/rollup.config.js create mode 100644 packages/sucrase/rollup.config.mjs diff --git a/packages/sucrase/README.md b/packages/sucrase/README.md index d1f519e21..680e5a7b2 100644 --- a/packages/sucrase/README.md +++ b/packages/sucrase/README.md @@ -13,7 +13,7 @@ ## Requirements -This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v8.0.0+) and Rollup v1.20.0+. +This plugin requires an [LTS](https://github.com/nodejs/Release) Node version (v14.0.0+) and Rollup v2.53.1+. ## Install diff --git a/packages/sucrase/package.json b/packages/sucrase/package.json index 4e1df05ba..109af197a 100644 --- a/packages/sucrase/package.json +++ b/packages/sucrase/package.json @@ -13,10 +13,16 @@ "author": "Rich Harris", "homepage": "https://github.com/rollup/plugins/tree/master/packages/sucrase/#readme", "bugs": "https://github.com/rollup/plugins/issues", - "main": "dist/index.js", - "module": "dist/index.es.js", + "main": "./dist/cjs/index.js", + "module": "./dist/es/index.js", + "type": "commonjs", + "exports": { + "types": "./types/index.d.ts", + "import": "./dist/es/index.js", + "default": "./dist/cjs/index.js" + }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "scripts": { "build": "rollup -c", @@ -34,6 +40,7 @@ }, "files": [ "dist", + "!dist/**/*.map", "types", "README.md", "LICENSE" @@ -47,21 +54,24 @@ "jsx" ], "peerDependencies": { - "rollup": "^2.53.1" + "rollup": "^2.53.1||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } }, "dependencies": { - "@rollup/pluginutils": "^4.1.1", - "sucrase": "^3.20.0" + "@rollup/pluginutils": "^4.2.1", + "sucrase": "^3.27.0" }, "devDependencies": { "@rollup/plugin-alias": "^3.1.4", - "rollup": "^2.67.3" + "rollup": "^3.0.0-7" }, "types": "./types/index.d.ts", "ava": { - "babel": { - "compileEnhancements": false - }, + "workerThreads": false, "files": [ "!**/fixtures/**", "!**/output/**", diff --git a/packages/sucrase/rollup.config.js b/packages/sucrase/rollup.config.js deleted file mode 100644 index b0e30bc39..000000000 --- a/packages/sucrase/rollup.config.js +++ /dev/null @@ -1,12 +0,0 @@ -import pkg from './package.json'; - -const external = Object.keys(pkg.dependencies).concat(['path', 'fs']); - -export default { - input: 'src/index.js', - external, - output: [ - { format: 'cjs', file: pkg.main }, - { format: 'esm', file: pkg.module } - ] -}; diff --git a/packages/sucrase/rollup.config.mjs b/packages/sucrase/rollup.config.mjs new file mode 100644 index 000000000..80558c224 --- /dev/null +++ b/packages/sucrase/rollup.config.mjs @@ -0,0 +1,11 @@ +import { readFileSync } from 'fs'; + +import { createConfig } from '../../shared/rollup.config.mjs'; + +export default { + ...createConfig({ + pkg: JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8')) + }), + input: 'src/index.js', + plugins: [] +}; diff --git a/packages/sucrase/src/index.js b/packages/sucrase/src/index.js index ea3d534e3..dfeb9a765 100644 --- a/packages/sucrase/src/index.js +++ b/packages/sucrase/src/index.js @@ -1,10 +1,10 @@ -const fs = require('fs'); -const path = require('path'); +import fs from 'fs'; +import path from 'path'; -const { transform } = require('sucrase'); -const { createFilter } = require('@rollup/pluginutils'); +import { transform } from 'sucrase'; +import { createFilter } from '@rollup/pluginutils'; -module.exports = function sucrase(opts = {}) { +export default function sucrase(opts = {}) { const filter = createFilter(opts.include, opts.exclude); return { @@ -59,4 +59,4 @@ module.exports = function sucrase(opts = {}) { }; } }; -}; +} diff --git a/packages/sucrase/test/snapshots/test.js.snap b/packages/sucrase/test/snapshots/test.js.snap index 2fe76088e7899a5b0c1b0f41ece5f895304a9bfa..4ab40afddea6142d4041f37a84f285ecf6eee259 100644 GIT binary patch literal 459 zcmV;+0W|(WRzV00000000Bcl+8-RKoEdiMLdcRAPzxkB2lP%3g|`bv4|&cWwSf6Yd6`j zyXg<52c^~r5WPx$0H4vcrnaSp76t2`GGUnczL`z>fiEPj>E1gUZUhP{qdF?1;Z8TX zj!3Ml(&+m>W5ke~=k?rXZgBD&x$U)X&UWDJ9Ila2b3_#qgO>tBjEr4iyk2mj4V-yk z1yWirR4N)p;6V~G40wcW_(~>IxVD0Q(~C;hEtT5%dF9-Fa4 zH*?sTbjWYn#07t-LEr%VKTaBL1LmNAErke9H0s%1ELV76p_ZbKQ-v8OkK0yAAC1^r;Be{2KO-q_qH?~ zHc1!@JoJBxc(MQyYyuk7VKXp1M8|^kIIA1!@zNt*0bFruxc~SQ{{*_hSZ9a^004?x B(4znV literal 469 zcmV;`0V@7MRzV}Mu@w*}*(3|S3Q6gop%wIH|HrMT8Ns6A zKs;~fqM0r&X~#ZPX4~F+zV$mRSo94P&timNeI^J#0>$CX3=BKu7JStEd8XOrMO@#O z?+vq9z@jBkJQ0f5LGfuIJ}_tDW7WQo%7HhmW{2J4`M?MkO=MwUc*^&#MLX92ab=3c z`toZZ&M|^TzW^~a13TC^jI0cTjQkpjItode3bu9%i3(Z@NobPEItnRZ$z-5p3eh^5 z+88vzGC`?{$t8NpMX8A;sjfMxxv6<28tN&TW$HQ#)e4y@RtidK`T0sZ3i0v9sX1v@ z3Z;1|scD&csVQKg{L-T2R4aw*w9K4Tzr=8.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - rollup: 2.79.1 + rollup: 3.0.0-7 slash: 3.0.0 dev: true @@ -6742,6 +6742,14 @@ packages: optionalDependencies: fsevents: 2.3.2 + /rollup/3.0.0-7: + resolution: {integrity: sha512-Hq5hpq9IrR4YfGd4o4zDtsfZnkwoCpjrQ4ZQIZrVF4ryzW6FOgXKBm6N7vJfodIJ6v+51FsqsXD2bxW5wapiuA==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + /run-parallel/1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: