@ms-cloudpack/bundler-rollup 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -21,3 +21,7 @@ async function start() {
21
21
 
22
22
  start();
23
23
  ```
24
+
25
+ ## Limitations
26
+
27
+ Due to [limitations of `rollup-plugin-postcss`](https://github.com/egoist/rollup-plugin-postcss/issues/184), if you want to use SCSS/SASS files, you must have `sass` or `node-sass` installed (or visible due to hoisting) in the CWD where Cloudpack is being run.
@@ -1 +1 @@
1
- {"version":3,"file":"getRollupPlugins.d.ts","sourceRoot":"","sources":["../src/getRollupPlugins.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqBrC,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA4FpB"}
1
+ {"version":3,"file":"getRollupPlugins.d.ts","sourceRoot":"","sources":["../src/getRollupPlugins.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAqBrC,wBAAsB,gBAAgB,CAAC,OAAO,EAAE;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA+GpB"}
@@ -36,9 +36,28 @@ export async function getRollupPlugins(options) {
36
36
  }),
37
37
  normalizeRequireStatements(),
38
38
  postcss({
39
+ // Use named exports in addition to the default export.
40
+ namedExports: true,
41
+ // Respect the `modules` option regardless of the file extension.
42
+ // Otherwise only *.module.* will be passed through postcss-modules and exports won't work correctly.
43
+ autoModules: false,
44
+ // Options for `postcss-modules` plugin. Note that as of writing, rollup-plugin-postcss
45
+ // uses version 4: https://github.com/madyankin/postcss-modules/tree/v4.3.1
39
46
  modules: {
40
- globalModulePaths: [/global\.css$/],
47
+ // Treat .css and .s[ac]ss files as global stylesheets unless they have the `.module` suffix
48
+ globalModulePaths: [/(?<!\.module)\.(css|s[ac]ss)$/],
49
+ // Export global classnames in addition to local ones
50
+ exportGlobals: true,
51
+ // Convert non-identifier-friendly class names to exported camelCase identifiers (like css-loader),
52
+ // but keep the original names to use in the default export object too
53
+ localsConvention: 'camelCase',
41
54
  },
55
+ // don't load postcss config
56
+ config: false,
57
+ minimize: isProduction,
58
+ sourceMap: sourcemap,
59
+ // spammy, non-actionable warning (types have incorrect extra required props)
60
+ use: { sass: { silenceDeprecations: ['legacy-js-api'] } },
42
61
  }),
43
62
  // Used to parse commonjs.
44
63
  commonjs({
@@ -1 +1 @@
1
- {"version":3,"file":"getRollupPlugins.js","sourceRoot":"","sources":["../src/getRollupPlugins.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSwcConfig } from '@ms-cloudpack/bundler-utilities';\nimport _dynamicImportVariables from '@rollup/plugin-dynamic-import-vars';\nimport json from './plugins/json/index.js';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport _replace from '@rollup/plugin-replace';\nimport type _swc from '@rollup/plugin-swc';\nimport _terser from '@rollup/plugin-terser';\nimport _commonjs from '@rollup/plugin-commonjs';\nimport type { Plugin } from 'rollup';\nimport _nodePolyfills from 'rollup-plugin-polyfill-node';\nimport _postcss from 'rollup-plugin-postcss';\nimport { normalizeRequireStatements } from './plugins/normalizeRequireStatements.js';\nimport { importAsString } from 'rollup-plugin-string-import';\n\n// Workaround for https://github.com/microsoft/TypeScript/issues/49189#issuecomment-1137756847\n// (https://arethetypeswrong.github.io/?p=%40rollup%2Fplugin-replace%405.0.2)\n// At runtime, we should always be using the ESM version of these packages, which use `export default`.\n// However, typescript interprets the types as CJS modules with a `default` property (which will fail at runtime).\nconst replace = _replace as unknown as typeof _replace.default;\nconst terser = _terser as unknown as typeof _terser.default;\nconst commonjs = _commonjs as unknown as typeof _commonjs.default;\nconst nodePolyfills = _nodePolyfills as unknown as typeof _nodePolyfills.default;\nconst postcss = _postcss as unknown as typeof _postcss.default;\nconst dynamicImportVariables = _dynamicImportVariables as unknown as typeof _dynamicImportVariables.default;\n\nfunction getSwcPlugin() {\n return import('@rollup/plugin-swc').then((m) => m.default) as Promise<typeof _swc.default>;\n}\n\nexport async function getRollupPlugins(options: {\n isProduction?: boolean;\n packagePath: string;\n enableTypescript?: boolean;\n dynamicImports?: string[];\n sourcemap: boolean | undefined;\n resolveWebExtensions: boolean;\n}): Promise<Plugin[]> {\n const { isProduction, packagePath, enableTypescript, dynamicImports = [], sourcemap, resolveWebExtensions } = options;\n\n const swcConfigsForTs = enableTypescript ? getSwcConfig({ packagePath, sourcemap }) : undefined;\n\n return [\n // Used to replaces constants in the code.\n replace({\n values: {\n 'process.env.NODE_ENV': isProduction ? `\"production\"` : `\"development\"`,\n DEPRECATED_UNIT_TEST: 'true',\n },\n preventAssignment: true,\n }),\n\n normalizeRequireStatements(),\n\n postcss({\n modules: {\n globalModulePaths: [/global\\.css$/],\n },\n }),\n\n // Used to parse commonjs.\n commonjs({\n // Treat all dependencies as external esm modules (since we'll be bundling them.)\n esmExternals: true,\n\n // When __esModule is true, the default export is `exports.default`; otherwise it's `module.exports`.\n defaultIsModuleExports: true,\n\n // Convert `require('library')` to `import * as library from 'library'` always, because `import library from\n // 'library' risks runtime failure if the dependency is ESM that doesn't export a default.\n requireReturnsDefault: false,\n }),\n\n // Used to compile json files into javascript exports.\n json({\n extensions: ['.json', '.resjson'],\n }),\n\n // // Used to resolve node_modules.\n nodeResolve({\n preferBuiltins: false,\n browser: true,\n // TODO: Align with other bundlers https://github.com/microsoft/cloudpack/issues/2687\n extensions: [\n ...(resolveWebExtensions ? ['.web.js'] : []),\n '.js',\n '.json',\n ...(enableTypescript && resolveWebExtensions ? ['.web.ts', '.web.tsx'] : []),\n ...(enableTypescript ? ['.ts', '.tsx'] : []),\n ],\n }),\n\n // Used to browserify node globals (process, global, etc.)\n nodePolyfills(),\n\n // The rollup swc plugin gets confused by angle bracket casts like `const x = <T>value;`\n // in .ts files if the tsx option is enabled, so use separate rules for .ts and .tsx files.\n // https://github.com/microsoft/cloudpack/pull/2555\n swcConfigsForTs &&\n (await getSwcPlugin())({\n swc: swcConfigsForTs.tsOnly,\n include: /\\.ts$/,\n }),\n\n swcConfigsForTs &&\n (await getSwcPlugin())({\n swc: swcConfigsForTs.tsx,\n include: /\\.tsx$/,\n }),\n\n // Only run this plugin on **/*.dynamic.* files (plus others as specified) to avoid an extra\n // parsing/processing step on all files.\n // Must be done AFTER the TS step because it can only handle JS syntax.\n dynamicImportVariables({\n include: [\n '**/*.dynamic.*',\n // Convert the dynamic imports options to globs starting with **\n // (the plugin seems to be matching against full paths)\n ...dynamicImports.map((d) => (d.startsWith('**/') ? d : d.replace(/^(\\.?\\/)?/, '**/'))),\n ],\n }),\n\n // Minify production builds as a last step.\n !!isProduction && terser(),\n\n importAsString({\n include: '**/*.glsl',\n }),\n ].filter((plugin): plugin is Plugin => !!plugin);\n}\n"]}
1
+ {"version":3,"file":"getRollupPlugins.js","sourceRoot":"","sources":["../src/getRollupPlugins.ts"],"names":[],"mappings":"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","sourcesContent":["import { getSwcConfig } from '@ms-cloudpack/bundler-utilities';\nimport _dynamicImportVariables from '@rollup/plugin-dynamic-import-vars';\nimport json from './plugins/json/index.js';\nimport { nodeResolve } from '@rollup/plugin-node-resolve';\nimport _replace from '@rollup/plugin-replace';\nimport type _swc from '@rollup/plugin-swc';\nimport _terser from '@rollup/plugin-terser';\nimport _commonjs from '@rollup/plugin-commonjs';\nimport type { Plugin } from 'rollup';\nimport _nodePolyfills from 'rollup-plugin-polyfill-node';\nimport _postcss, { type PostCSSPluginConf } from 'rollup-plugin-postcss';\nimport { normalizeRequireStatements } from './plugins/normalizeRequireStatements.js';\nimport { importAsString } from 'rollup-plugin-string-import';\n\n// Workaround for https://github.com/microsoft/TypeScript/issues/49189#issuecomment-1137756847\n// (https://arethetypeswrong.github.io/?p=%40rollup%2Fplugin-replace%405.0.2)\n// At runtime, we should always be using the ESM version of these packages, which use `export default`.\n// However, typescript interprets the types as CJS modules with a `default` property (which will fail at runtime).\nconst replace = _replace as unknown as typeof _replace.default;\nconst terser = _terser as unknown as typeof _terser.default;\nconst commonjs = _commonjs as unknown as typeof _commonjs.default;\nconst nodePolyfills = _nodePolyfills as unknown as typeof _nodePolyfills.default;\nconst postcss = _postcss as unknown as typeof _postcss.default;\nconst dynamicImportVariables = _dynamicImportVariables as unknown as typeof _dynamicImportVariables.default;\n\nfunction getSwcPlugin() {\n return import('@rollup/plugin-swc').then((m) => m.default) as Promise<typeof _swc.default>;\n}\n\nexport async function getRollupPlugins(options: {\n isProduction?: boolean;\n packagePath: string;\n enableTypescript?: boolean;\n dynamicImports?: string[];\n sourcemap: boolean | undefined;\n resolveWebExtensions: boolean;\n}): Promise<Plugin[]> {\n const { isProduction, packagePath, enableTypescript, dynamicImports = [], sourcemap, resolveWebExtensions } = options;\n\n const swcConfigsForTs = enableTypescript ? getSwcConfig({ packagePath, sourcemap }) : undefined;\n\n return [\n // Used to replaces constants in the code.\n replace({\n values: {\n 'process.env.NODE_ENV': isProduction ? `\"production\"` : `\"development\"`,\n DEPRECATED_UNIT_TEST: 'true',\n },\n preventAssignment: true,\n }),\n\n normalizeRequireStatements(),\n\n postcss({\n // Use named exports in addition to the default export.\n namedExports: true,\n // Respect the `modules` option regardless of the file extension.\n // Otherwise only *.module.* will be passed through postcss-modules and exports won't work correctly.\n autoModules: false,\n // Options for `postcss-modules` plugin. Note that as of writing, rollup-plugin-postcss\n // uses version 4: https://github.com/madyankin/postcss-modules/tree/v4.3.1\n modules: {\n // Treat .css and .s[ac]ss files as global stylesheets unless they have the `.module` suffix\n globalModulePaths: [/(?<!\\.module)\\.(css|s[ac]ss)$/],\n // Export global classnames in addition to local ones\n exportGlobals: true,\n // Convert non-identifier-friendly class names to exported camelCase identifiers (like css-loader),\n // but keep the original names to use in the default export object too\n localsConvention: 'camelCase',\n },\n // don't load postcss config\n config: false,\n minimize: isProduction,\n sourceMap: sourcemap,\n // spammy, non-actionable warning (types have incorrect extra required props)\n use: { sass: { silenceDeprecations: ['legacy-js-api'] } } as PostCSSPluginConf['use'],\n }),\n\n // Used to parse commonjs.\n commonjs({\n // Treat all dependencies as external esm modules (since we'll be bundling them.)\n esmExternals: true,\n\n // When __esModule is true, the default export is `exports.default`; otherwise it's `module.exports`.\n defaultIsModuleExports: true,\n\n // Convert `require('library')` to `import * as library from 'library'` always, because `import library from\n // 'library' risks runtime failure if the dependency is ESM that doesn't export a default.\n requireReturnsDefault: false,\n }),\n\n // Used to compile json files into javascript exports.\n json({\n extensions: ['.json', '.resjson'],\n }),\n\n // // Used to resolve node_modules.\n nodeResolve({\n preferBuiltins: false,\n browser: true,\n // TODO: Align with other bundlers https://github.com/microsoft/cloudpack/issues/2687\n extensions: [\n ...(resolveWebExtensions ? ['.web.js'] : []),\n '.js',\n '.json',\n ...(enableTypescript && resolveWebExtensions ? ['.web.ts', '.web.tsx'] : []),\n ...(enableTypescript ? ['.ts', '.tsx'] : []),\n ],\n }),\n\n // Used to browserify node globals (process, global, etc.)\n nodePolyfills(),\n\n // The rollup swc plugin gets confused by angle bracket casts like `const x = <T>value;`\n // in .ts files if the tsx option is enabled, so use separate rules for .ts and .tsx files.\n // https://github.com/microsoft/cloudpack/pull/2555\n swcConfigsForTs &&\n (await getSwcPlugin())({\n swc: swcConfigsForTs.tsOnly,\n include: /\\.ts$/,\n }),\n\n swcConfigsForTs &&\n (await getSwcPlugin())({\n swc: swcConfigsForTs.tsx,\n include: /\\.tsx$/,\n }),\n\n // Only run this plugin on **/*.dynamic.* files (plus others as specified) to avoid an extra\n // parsing/processing step on all files.\n // Must be done AFTER the TS step because it can only handle JS syntax.\n dynamicImportVariables({\n include: [\n '**/*.dynamic.*',\n // Convert the dynamic imports options to globs starting with **\n // (the plugin seems to be matching against full paths)\n ...dynamicImports.map((d) => (d.startsWith('**/') ? d : d.replace(/^(\\.?\\/)?/, '**/'))),\n ],\n }),\n\n // Minify production builds as a last step.\n !!isProduction && terser(),\n\n importAsString({\n include: '**/*.glsl',\n }),\n ].filter((plugin): plugin is Plugin => !!plugin);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/bundler-rollup",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "A cloudpack plugin for abstracting rollup.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -14,13 +14,13 @@
14
14
  }
15
15
  },
16
16
  "dependencies": {
17
- "@ms-cloudpack/bundler-capabilities": "^0.2.30",
18
- "@ms-cloudpack/bundler-utilities": "^0.4.1",
19
- "@ms-cloudpack/common-types": "^0.26.0",
20
- "@ms-cloudpack/esm-stub-utilities": "^0.15.3",
21
- "@ms-cloudpack/package-utilities": "^12.3.16",
17
+ "@ms-cloudpack/bundler-capabilities": "^0.2.32",
18
+ "@ms-cloudpack/bundler-utilities": "^0.4.3",
19
+ "@ms-cloudpack/common-types": "^0.26.2",
20
+ "@ms-cloudpack/esm-stub-utilities": "^0.15.5",
21
+ "@ms-cloudpack/package-utilities": "^12.3.18",
22
22
  "@ms-cloudpack/path-string-parsing": "^1.2.7",
23
- "@ms-cloudpack/path-utilities": "^3.1.10",
23
+ "@ms-cloudpack/path-utilities": "^3.1.12",
24
24
  "@rollup/plugin-commonjs": "^28.0.4",
25
25
  "@rollup/plugin-dynamic-import-vars": "^2.0.0",
26
26
  "@rollup/plugin-node-resolve": "^16.0.0",