@compiled/webpack-loader 0.16.0 → 0.18.0
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/dist/compiled-loader.js +6 -2
- package/dist/compiled-loader.js.map +1 -1
- package/dist/extract-plugin.js +4 -0
- package/dist/extract-plugin.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/package.json +5 -5
- package/src/compiled-loader.ts +12 -2
- package/src/extract-plugin.ts +7 -0
- package/src/types.ts +9 -0
package/dist/compiled-loader.js
CHANGED
|
@@ -26,7 +26,7 @@ let hasErrored = false;
|
|
|
26
26
|
* @returns
|
|
27
27
|
*/
|
|
28
28
|
function getLoaderOptions(context) {
|
|
29
|
-
const { bake = true, extract = false, importReact = undefined, nonce = undefined, resolve = {}, extensions = undefined, parserBabelPlugins = utils_1.DEFAULT_PARSER_BABEL_PLUGINS, transformerBabelPlugins = [], [extract_plugin_1.pluginName]: isPluginEnabled = false, ssr = false, optimizeCss = true, addComponentName = false, classNameCompressionMap = undefined, extractStylesToDirectory = undefined, resolver = undefined, importSources = undefined, } = typeof context.getOptions === 'undefined'
|
|
29
|
+
const { bake = true, extract = false, importReact = undefined, nonce = undefined, resolve = {}, extensions = undefined, parserBabelPlugins = utils_1.DEFAULT_PARSER_BABEL_PLUGINS, transformerBabelPlugins = [], [extract_plugin_1.pluginName]: isPluginEnabled = false, ssr = false, optimizeCss = true, addComponentName = false, classNameCompressionMap = undefined, extractStylesToDirectory = undefined, resolver = undefined, importSources = undefined, classHashPrefix = undefined, } = typeof context.getOptions === 'undefined'
|
|
30
30
|
? // Webpack v4 flow
|
|
31
31
|
(0, loader_utils_1.getOptions)(context)
|
|
32
32
|
: // Webpack v5 flow
|
|
@@ -81,6 +81,9 @@ function getLoaderOptions(context) {
|
|
|
81
81
|
importSources: {
|
|
82
82
|
type: 'array',
|
|
83
83
|
},
|
|
84
|
+
classHashPrefix: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
},
|
|
84
87
|
},
|
|
85
88
|
});
|
|
86
89
|
return {
|
|
@@ -100,6 +103,7 @@ function getLoaderOptions(context) {
|
|
|
100
103
|
extractStylesToDirectory,
|
|
101
104
|
resolver,
|
|
102
105
|
importSources,
|
|
106
|
+
classHashPrefix,
|
|
103
107
|
};
|
|
104
108
|
}
|
|
105
109
|
/**
|
|
@@ -112,7 +116,7 @@ async function compiledLoader(code) {
|
|
|
112
116
|
var _a, _b, _c, _d;
|
|
113
117
|
const callback = this.async();
|
|
114
118
|
const _e = getLoaderOptions(this), { resolve } = _e, options = __rest(_e, ["resolve"]);
|
|
115
|
-
const importSources = [
|
|
119
|
+
const importSources = [...utils_1.DEFAULT_IMPORT_SOURCES, ...(options.importSources || [])];
|
|
116
120
|
// Bail early if we're looking at Compiled runtime code or Compiled (via an importSource) isn't in the module
|
|
117
121
|
if (this.resourcePath.includes('/node_modules/@compiled/react') ||
|
|
118
122
|
!importSources.some((name) => code.includes(name))) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-loader.js","sourceRoot":"","sources":["../src/compiled-loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,+BAAiC;AAEjC,sCAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"compiled-loader.js","sourceRoot":"","sources":["../src/compiled-loader.ts"],"names":[],"mappings":"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"}
|
package/dist/extract-plugin.js
CHANGED
|
@@ -98,6 +98,10 @@ class CompiledExtractPlugin {
|
|
|
98
98
|
constructor(options = {}) {
|
|
99
99
|
_CompiledExtractPlugin_options.set(this, void 0);
|
|
100
100
|
__classPrivateFieldSet(this, _CompiledExtractPlugin_options, options, "f");
|
|
101
|
+
// @ts-expect-error -- Make sure this config doesn't bleed in as it's passed through
|
|
102
|
+
if (options.classHashPrefix) {
|
|
103
|
+
throw new Error('`@compiled/webpack-loader.CompiledExtractPlugin` is mixing the `extract: true` and `classHashPrefix` options, which is not supported and will result in bundle size bloat.');
|
|
104
|
+
}
|
|
101
105
|
}
|
|
102
106
|
apply(compiler) {
|
|
103
107
|
const { RawSource } = (0, utils_2.getSources)(compiler);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-plugin.js","sourceRoot":"","sources":["../src/extract-plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAqC;AACrC,2CAAyD;AAIzD,mCAKiB;AAEJ,QAAA,UAAU,GAAG,uBAAuB,CAAC;AACrC,QAAA,cAAc,GAAG,cAAc,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,CAAC,MAA6B,EAAE,EAAE;IACrD,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SACvB,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE;QACpB,OAAO,SAAS,CAAC,QAAQ,CAAC,sBAAc,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1E,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,yBAAyB,GAAG,CAAC,QAAkB,EAAE,OAAqC,EAAE,EAAE;IAC9F,MAAM,UAAU,GAAG;QACjB,WAAW,EAAE;YACX,IAAI,EAAE,sBAAc;YACpB,IAAI,EAAE,kBAAkB;YACxB,MAAM,EAAE,KAAK;YACb,mCAAmC;YACnC,IAAI,EAAE,6CAA6C;YACnD,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,QAAQ;SACnB;KACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE;QAClC,QAAQ,CAAC,OAAO,CAAC,YAAY,GAAG,EAAE,CAAC;KACpC;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE;QAC9C,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,GAAG;YAC1C,WAAW,EAAE,EAAE;SAChB,CAAC;KACH;IAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE;QAC1D,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,GAAG,EAAE,CAAC;KAC5D;IAED,MAAM,CAAC,MAAM,CACX,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,WAAW,EACrD,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAC5C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,4BAA4B,GAAG,CACnC,QAAkB,EAClB,OAAqC,EAC/B,EAAE;IACR,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;QAC5B,MAAM,IAAA,mBAAW,EAAC,gBAAgB,CAAC,CAAC,4BAA4B,CAAC,CAAC;KACnE;IAED,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QACjC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,iBAAS,CAAC,EAAE;QACjF,OAAO,EAAE,OAAO,CAAC,kBAAkB;QACnC,OAAO,EAAE,OAAO,CAAC,kBAAkB;QACnC,GAAG,EAAE;YACH,MAAM,EAAE,0BAA0B;YAClC,OAAO,EAAE;gBACP,uGAAuG;gBACvG,IAAI,EAAE,KAAK;gBACX,OAAO,EAAE,IAAI;gBACb,CAAC,kBAAU,CAAC,EAAE,IAAI;aACnB;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAa,qBAAqB;IAGhC,YAAY,UAAwC,EAAE;QAFtD,iDAAuC;QAGrC,uBAAA,IAAI,kCAAY,OAAO,MAAA,CAAC;
|
|
1
|
+
{"version":3,"file":"extract-plugin.js","sourceRoot":"","sources":["../src/extract-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -88,6 +88,14 @@ export interface CompiledLoaderOptions {
|
|
|
88
88
|
* Passed to @compiled/babel-plugin.
|
|
89
89
|
*/
|
|
90
90
|
importSources?: string[];
|
|
91
|
+
/**
|
|
92
|
+
* Adds a defined prefix to the generated classes' hashes.
|
|
93
|
+
* Useful in micro frontend environments to avoid clashing/specificity issues.
|
|
94
|
+
*
|
|
95
|
+
* Avoid mixing this with extraction as this may throw an error if combined with extraction
|
|
96
|
+
* or `extract: true` in Webpack loaders or Parcel tranformers.
|
|
97
|
+
*/
|
|
98
|
+
classHashPrefix?: string;
|
|
91
99
|
}
|
|
92
100
|
export interface CompiledExtractPluginOptions {
|
|
93
101
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compiled/webpack-loader",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "A familiar and performant compile time CSS-in-JS library for React.",
|
|
5
5
|
"homepage": "https://compiledcssinjs.com/docs/pkg-webpack-loader",
|
|
6
6
|
"bugs": "https://github.com/atlassian-labs/compiled/issues/new?assignees=&labels=bug&template=bug_report.md",
|
|
@@ -22,10 +22,10 @@
|
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@babel/core": "^7.21.8",
|
|
24
24
|
"@babel/parser": "^7.21.8",
|
|
25
|
-
"@compiled/babel-plugin": "^0.
|
|
26
|
-
"@compiled/babel-plugin-strip-runtime": "^0.
|
|
27
|
-
"@compiled/css": "^0.
|
|
28
|
-
"@compiled/utils": "^0.
|
|
25
|
+
"@compiled/babel-plugin": "^0.32.1",
|
|
26
|
+
"@compiled/babel-plugin-strip-runtime": "^0.32.0",
|
|
27
|
+
"@compiled/css": "^0.16.0",
|
|
28
|
+
"@compiled/utils": "^0.13.0",
|
|
29
29
|
"enhanced-resolve": "^5.15.0",
|
|
30
30
|
"loader-utils": "^2.0.4",
|
|
31
31
|
"webpack-sources": "^3.2.3"
|
package/src/compiled-loader.ts
CHANGED
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { normalize } from 'path';
|
|
2
2
|
|
|
3
3
|
import { parseAsync, transformFromAstAsync } from '@babel/core';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
createError,
|
|
6
|
+
DEFAULT_IMPORT_SOURCES,
|
|
7
|
+
DEFAULT_PARSER_BABEL_PLUGINS,
|
|
8
|
+
toBoolean,
|
|
9
|
+
} from '@compiled/utils';
|
|
5
10
|
import { getOptions } from 'loader-utils';
|
|
6
11
|
import type { LoaderContext } from 'webpack';
|
|
7
12
|
|
|
@@ -35,6 +40,7 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
35
40
|
extractStylesToDirectory = undefined,
|
|
36
41
|
resolver = undefined,
|
|
37
42
|
importSources = undefined,
|
|
43
|
+
classHashPrefix = undefined,
|
|
38
44
|
}: CompiledLoaderOptions = typeof context.getOptions === 'undefined'
|
|
39
45
|
? // Webpack v4 flow
|
|
40
46
|
getOptions(context)
|
|
@@ -90,6 +96,9 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
90
96
|
importSources: {
|
|
91
97
|
type: 'array',
|
|
92
98
|
},
|
|
99
|
+
classHashPrefix: {
|
|
100
|
+
type: 'string',
|
|
101
|
+
},
|
|
93
102
|
},
|
|
94
103
|
});
|
|
95
104
|
|
|
@@ -110,6 +119,7 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
110
119
|
extractStylesToDirectory,
|
|
111
120
|
resolver,
|
|
112
121
|
importSources,
|
|
122
|
+
classHashPrefix,
|
|
113
123
|
};
|
|
114
124
|
}
|
|
115
125
|
|
|
@@ -125,7 +135,7 @@ export default async function compiledLoader(
|
|
|
125
135
|
): Promise<void> {
|
|
126
136
|
const callback = this.async();
|
|
127
137
|
const { resolve, ...options } = getLoaderOptions(this);
|
|
128
|
-
const importSources = [
|
|
138
|
+
const importSources = [...DEFAULT_IMPORT_SOURCES, ...(options.importSources || [])];
|
|
129
139
|
|
|
130
140
|
// Bail early if we're looking at Compiled runtime code or Compiled (via an importSource) isn't in the module
|
|
131
141
|
if (
|
package/src/extract-plugin.ts
CHANGED
|
@@ -108,6 +108,13 @@ export class CompiledExtractPlugin {
|
|
|
108
108
|
|
|
109
109
|
constructor(options: CompiledExtractPluginOptions = {}) {
|
|
110
110
|
this.#options = options;
|
|
111
|
+
|
|
112
|
+
// @ts-expect-error -- Make sure this config doesn't bleed in as it's passed through
|
|
113
|
+
if (options.classHashPrefix) {
|
|
114
|
+
throw new Error(
|
|
115
|
+
'`@compiled/webpack-loader.CompiledExtractPlugin` is mixing the `extract: true` and `classHashPrefix` options, which is not supported and will result in bundle size bloat.'
|
|
116
|
+
);
|
|
117
|
+
}
|
|
111
118
|
}
|
|
112
119
|
|
|
113
120
|
apply(compiler: Compiler): void {
|
package/src/types.ts
CHANGED
|
@@ -103,6 +103,15 @@ export interface CompiledLoaderOptions {
|
|
|
103
103
|
* Passed to @compiled/babel-plugin.
|
|
104
104
|
*/
|
|
105
105
|
importSources?: string[];
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Adds a defined prefix to the generated classes' hashes.
|
|
109
|
+
* Useful in micro frontend environments to avoid clashing/specificity issues.
|
|
110
|
+
*
|
|
111
|
+
* Avoid mixing this with extraction as this may throw an error if combined with extraction
|
|
112
|
+
* or `extract: true` in Webpack loaders or Parcel tranformers.
|
|
113
|
+
*/
|
|
114
|
+
classHashPrefix?: string;
|
|
106
115
|
}
|
|
107
116
|
|
|
108
117
|
export interface CompiledExtractPluginOptions {
|