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 2fe76088e..4ab40afdd 100644 Binary files a/packages/sucrase/test/snapshots/test.js.snap and b/packages/sucrase/test/snapshots/test.js.snap differ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aa0ac2771..a7c2890f2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -490,15 +490,15 @@ importers: packages/sucrase: specifiers: '@rollup/plugin-alias': ^3.1.4 - '@rollup/pluginutils': ^4.1.1 - rollup: ^2.67.3 - sucrase: ^3.20.0 + '@rollup/pluginutils': ^4.2.1 + rollup: ^3.0.0-7 + sucrase: ^3.27.0 dependencies: '@rollup/pluginutils': 4.2.1 sucrase: 3.27.0 devDependencies: - '@rollup/plugin-alias': 3.1.9_rollup@2.79.1 - rollup: 2.79.1 + '@rollup/plugin-alias': 3.1.9_rollup@3.0.0-7 + rollup: 3.0.0-7 packages/typescript: specifiers: @@ -1964,13 +1964,13 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.13.0 - /@rollup/plugin-alias/3.1.9_rollup@2.79.1: + /@rollup/plugin-alias/3.1.9_rollup@3.0.0-7: resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} engines: {node: '>=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: