From b5662c6316d68fbe77fc0e4c81041bfa5b142fd9 Mon Sep 17 00:00:00 2001 From: Lukas Taegert-Atkinson Date: Fri, 30 Sep 2022 06:39:54 +0200 Subject: [PATCH] fix(buble): prepare for Rollup 3 BREAKING CHANGES: Requires Node 14 --- packages/buble/README.md | 2 +- packages/buble/package.json | 33 ++++++++++++++++--------- packages/buble/rollup.config.js | 13 ---------- packages/buble/rollup.config.mjs | 7 ++++++ packages/buble/src/index.ts | 2 +- packages/buble/test/test.js | 22 ++++++++--------- pnpm-lock.yaml | 42 +++++++++----------------------- 7 files changed, 52 insertions(+), 69 deletions(-) delete mode 100644 packages/buble/rollup.config.js create mode 100644 packages/buble/rollup.config.mjs diff --git a/packages/buble/README.md b/packages/buble/README.md index a80265195..f82cbe2f2 100644 --- a/packages/buble/README.md +++ b/packages/buble/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 v1.20.0+. ## Install diff --git a/packages/buble/package.json b/packages/buble/package.json index 071545b46..a7d4d9ede 100644 --- a/packages/buble/package.json +++ b/packages/buble/package.json @@ -13,10 +13,15 @@ "author": "Rich Harris ", "homepage": "https://github.com/rollup/plugins/tree/master/packages/buble/#readme", "bugs": "https://github.com/rollup/plugins/issues", - "main": "dist/rollup-plugin-buble.cjs.js", - "module": "dist/rollup-plugin-buble.es.js", + "main": "./dist/cjs/index.js", + "module": "./dist/es/index.js", + "exports": { + "import": "./dist/es/index.js", + "types": "./types/index.d.ts", + "default": "./dist/cjs/index.js" + }, "engines": { - "node": ">= 8.0.0" + "node": ">=14.0.0" }, "scripts": { "build": "rollup -c", @@ -34,6 +39,7 @@ }, "files": [ "dist", + "!dist/**/*.map", "types", "README.md", "LICENSE" @@ -47,21 +53,26 @@ "modules" ], "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } }, "dependencies": { - "@rollup/pluginutils": "^3.1.0", + "@rollup/pluginutils": "^4.2.1", "@types/buble": "^0.19.2", "buble": "^0.20.0" }, "devDependencies": { - "@rollup/plugin-typescript": "^5.0.2", - "del-cli": "^3.0.1", - "rollup": "^2.67.3", - "source-map": "^0.7.3", - "typescript": "4.1.2" + "@rollup/plugin-typescript": "^8.5.0", + "del-cli": "^5.0.0", + "rollup": "^3.0.0-7", + "source-map": "^0.7.4", + "typescript": "^4.8.3" }, - "types": "types/index.d.ts", + "types": "./types/index.d.ts", "ava": { "workerThreads": false, "files": [ diff --git a/packages/buble/rollup.config.js b/packages/buble/rollup.config.js deleted file mode 100644 index 1c01001d9..000000000 --- a/packages/buble/rollup.config.js +++ /dev/null @@ -1,13 +0,0 @@ -import typescript from '@rollup/plugin-typescript'; - -import pkg from './package.json'; - -export default { - input: 'src/index.ts', - output: [ - { format: 'es', file: pkg.module }, - { format: 'cjs', file: pkg.main, exports: 'auto' } - ], - external: Object.keys(pkg.dependencies), - plugins: [typescript({ sourceMap: false })] -}; diff --git a/packages/buble/rollup.config.mjs b/packages/buble/rollup.config.mjs new file mode 100644 index 000000000..2a28aaaf6 --- /dev/null +++ b/packages/buble/rollup.config.mjs @@ -0,0 +1,7 @@ +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')) +}); diff --git a/packages/buble/src/index.ts b/packages/buble/src/index.ts index 134a71a6e..3d8a1d39e 100644 --- a/packages/buble/src/index.ts +++ b/packages/buble/src/index.ts @@ -2,7 +2,7 @@ import { transform } from 'buble'; import { Plugin } from 'rollup'; import { createFilter } from '@rollup/pluginutils'; -import { RollupBubleOptions } from '../types'; +import type { RollupBubleOptions } from '../types'; export default function buble(options: RollupBubleOptions = {}): Plugin { const filter = createFilter(options.include, options.exclude); diff --git a/packages/buble/test/test.js b/packages/buble/test/test.js index a757e64ad..60ffd6ccf 100644 --- a/packages/buble/test/test.js +++ b/packages/buble/test/test.js @@ -17,19 +17,17 @@ const getChunksFromGenerated = (generated) => { function getChunksFromBundle(bundle) { return bundle .generate({ - format: 'esm' + format: 'es' }) .then(getChunksFromGenerated); } -test('transforms files', async (t) => - rollup - .rollup({ - input: 'fixtures/basic/main.js', - plugins: [buble()] - }) - .then(getChunksFromBundle) - .then((generated) => { - t.is(generated.length, 1); - t.is(generated[0].code, 'function main () { return 42; }\n\nexport { main as default };\n'); - })); +test('transforms files', async (t) => { + const bundle = await rollup.rollup({ + input: `${__dirname}/fixtures/basic/main.js`, + plugins: [buble()] + }); + const generated = await getChunksFromBundle(bundle); + t.is(generated.length, 1); + t.is(generated[0].code, 'function main () { return 42; }\n\nexport { main as default };\n'); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d50287a4c..c3acf3e94 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,24 +146,24 @@ importers: packages/buble: specifiers: - '@rollup/plugin-typescript': ^5.0.2 - '@rollup/pluginutils': ^3.1.0 + '@rollup/plugin-typescript': ^8.5.0 + '@rollup/pluginutils': ^4.2.1 '@types/buble': ^0.19.2 buble: ^0.20.0 - del-cli: ^3.0.1 - rollup: ^2.67.3 - source-map: ^0.7.3 - typescript: 4.1.2 + del-cli: ^5.0.0 + rollup: ^3.0.0-7 + source-map: ^0.7.4 + typescript: ^4.8.3 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 + '@rollup/pluginutils': 4.2.1 '@types/buble': 0.19.2 buble: 0.20.0 devDependencies: - '@rollup/plugin-typescript': 5.0.2_4cjbvluduiokxidtfkm6fskiwi - del-cli: 3.0.1 - rollup: 2.79.1 + '@rollup/plugin-typescript': 8.5.0_vmpcm5aav5u37diqfc6pdubvhq + del-cli: 5.0.0 + rollup: 3.0.0-7 source-map: 0.7.4 - typescript: 4.1.2 + typescript: 4.8.3 packages/commonjs: specifiers: @@ -2116,20 +2116,6 @@ packages: rollup: 2.79.1 dev: true - /@rollup/plugin-typescript/5.0.2_4cjbvluduiokxidtfkm6fskiwi: - resolution: {integrity: sha512-CkS028Itwjqm1uLbFVfpJgtVtnNvZ+og/m6UlNRR5wOOnNTWPcVQzOu5xGdEX+WWJxdvWIqUq2uR/RBt2ZipWg==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^2.14.0 - tslib: '*' - typescript: '>=3.4.0' - dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.79.1 - resolve: 1.22.1 - rollup: 2.79.1 - typescript: 4.1.2 - dev: true - /@rollup/plugin-typescript/5.0.2_5q64ijqsuisqe52alrh6v6njki: resolution: {integrity: sha512-CkS028Itwjqm1uLbFVfpJgtVtnNvZ+og/m6UlNRR5wOOnNTWPcVQzOu5xGdEX+WWJxdvWIqUq2uR/RBt2ZipWg==} engines: {node: '>=8.0.0'} @@ -7662,12 +7648,6 @@ packages: hasBin: true dev: true - /typescript/4.1.2: - resolution: {integrity: sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==} - engines: {node: '>=4.2.0'} - hasBin: true - dev: true - /typescript/4.8.3: resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==} engines: {node: '>=4.2.0'}