diff --git a/packages/cli/package.json b/packages/cli/package.json index 6af8fd90a3..c0e6d987f1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -104,7 +104,7 @@ "style-loader": "^1.2.1", "sucrase": "^3.18.2", "tar": "^6.1.2", - "terser-webpack-plugin": "^1.4.3", + "terser-webpack-plugin": "^5.1.3", "ts-loader": "^8.0.17", "typescript": "^4.0.3", "url-loader": "^4.1.0", @@ -137,6 +137,7 @@ "@types/rollup-plugin-peer-deps-external": "^2.2.0", "@types/rollup-plugin-postcss": "^2.0.0", "@types/tar": "^4.0.3", + "@types/terser-webpack-plugin": "^5.0.4", "@types/webpack": "^5.28.0", "@types/webpack-dev-server": "^3.11.5", "@types/yarnpkg__lockfile": "^1.1.4", diff --git a/packages/cli/src/lib/bundler/optimization.ts b/packages/cli/src/lib/bundler/optimization.ts index f42018e522..4d77f2cc73 100644 --- a/packages/cli/src/lib/bundler/optimization.ts +++ b/packages/cli/src/lib/bundler/optimization.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { WebpackOptionsNormalized } from 'webpack'; +import { WebpackOptionsNormalized, WebpackPluginInstance } from 'webpack'; import TerserPlugin from 'terser-webpack-plugin'; import { BundlingOptions } from './types'; import { isParallelDefault } from '../parallel'; @@ -30,9 +30,9 @@ export const optimization = ( ...(!isParallelDefault(options.parallel) ? { minimizer: [ - new TerserPlugin({ + (new TerserPlugin({ parallel: options.parallel, - }), + }) as unknown) as WebpackPluginInstance, ], } : {}), diff --git a/packages/cli/src/types.d.ts b/packages/cli/src/types.d.ts index 07684bc15a..d3ef72646b 100644 --- a/packages/cli/src/types.d.ts +++ b/packages/cli/src/types.d.ts @@ -29,9 +29,6 @@ declare module '@svgr/rollup' { } declare module '@rollup/plugin-yaml'; - -declare module 'terser-webpack-plugin'; - declare module 'react-dev-utils/formatWebpackMessages' { export default function ( stats: any, diff --git a/packages/config/package.json b/packages/config/package.json index 5d9bf94446..ad1afbbce7 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -19,8 +19,8 @@ "backstage" ], "license": "Apache-2.0", - "main": "src/index.ts", - "types": "src/index.ts", + "main": "dist/index.cjs.js", + "types": "dist/index.d.ts", "scripts": { "build": "backstage-cli build", "lint": "backstage-cli lint", @@ -38,5 +38,6 @@ }, "files": [ "dist" - ] + ], + "module": "dist/index.esm.js" } diff --git a/yarn.lock b/yarn.lock index 1d1738673e..9660983a75 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7464,6 +7464,14 @@ dependencies: "@types/estree" "*" +"@types/terser-webpack-plugin@^5.0.4": + version "5.0.4" + resolved "https://registry.npmjs.org/@types/terser-webpack-plugin/-/terser-webpack-plugin-5.0.4.tgz#852949e1d124e6c895cfa8cb17eb6265e4fdfe59" + integrity sha512-1iyfZpMNNA/h/Q8uBpwuVhxKfKQHc98PD9NaCTrg22nj6d8aUvT79KBMtRLmR43v1PtCB0r1/gWGdNXrrMEK7A== + dependencies: + terser "^5.3.8" + webpack "^5.1.0" + "@types/testing-library__jest-dom@^5.9.1": version "5.9.5" resolved "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0" @@ -25735,7 +25743,7 @@ terser@^4.1.2, terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.3.4, terser@^5.7.0: +terser@^5.3.4, terser@^5.3.8, terser@^5.7.0: version "5.7.1" resolved "https://registry.npmjs.org/terser/-/terser-5.7.1.tgz#2dc7a61009b66bb638305cb2a824763b116bf784" integrity sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== @@ -27326,6 +27334,36 @@ webpack@^5, webpack@^5.48.0: watchpack "^2.2.0" webpack-sources "^3.2.0" +webpack@^5.1.0: + version "5.49.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.49.0.tgz#e250362b781a9fb614ba0a97ed67c66b9c5310cd" + integrity sha512-XarsANVf28A7Q3KPxSnX80EkCcuOer5hTOEJWJNvbskOZ+EK3pobHarGHceyUZMxpsTHBHhlV7hiQyLZzGosYw== + dependencies: + "@types/eslint-scope" "^3.7.0" + "@types/estree" "^0.0.50" + "@webassemblyjs/ast" "1.11.1" + "@webassemblyjs/wasm-edit" "1.11.1" + "@webassemblyjs/wasm-parser" "1.11.1" + acorn "^8.4.1" + acorn-import-assertions "^1.7.6" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.8.0" + es-module-lexer "^0.7.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.4" + json-parse-better-errors "^1.0.2" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.1.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.1.3" + watchpack "^2.2.0" + webpack-sources "^3.2.0" + websocket-driver@>=0.5.1: version "0.7.3" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9"