@compiled/webpack-loader 0.7.3 → 0.8.1
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/__fixtures__/binding-not-found.d.ts +1 -1
- package/dist/__fixtures__/binding-not-found.js +2 -2
- package/dist/__fixtures__/binding-not-found.js.map +1 -1
- package/dist/__fixtures__/common/css-prop.js +1 -1
- package/dist/__fixtures__/common/css-prop.js.map +1 -1
- package/dist/__fixtures__/compiled-error.js +2 -2
- package/dist/__fixtures__/compiled-error.js.map +1 -1
- package/dist/__fixtures__/important-styles.js +1 -1
- package/dist/__fixtures__/important-styles.js.map +1 -1
- package/dist/__fixtures__/lib/loader-alias.js +1 -1
- package/dist/__fixtures__/lib/loader-alias.js.map +1 -1
- package/dist/__fixtures__/lib/webpack-alias.js +1 -1
- package/dist/__fixtures__/lib/webpack-alias.js.map +1 -1
- package/dist/__fixtures__/loader-alias.js +1 -1
- package/dist/__fixtures__/loader-alias.js.map +1 -1
- package/dist/__fixtures__/local-styles.js +3 -3
- package/dist/__fixtures__/local-styles.js.map +1 -1
- package/dist/__fixtures__/relative-styles.d.ts +1 -1
- package/dist/__fixtures__/relative-styles.js +4 -4
- package/dist/__fixtures__/relative-styles.js.map +1 -1
- package/dist/__fixtures__/webpack-alias.js +1 -1
- package/dist/__fixtures__/webpack-alias.js.map +1 -1
- package/dist/compiled-loader.js +23 -11
- package/dist/compiled-loader.js.map +1 -1
- package/dist/extract-plugin.js +21 -26
- package/dist/extract-plugin.js.map +1 -1
- package/dist/types.d.ts +14 -0
- package/dist/utils.d.ts +6 -3
- package/dist/utils.js +37 -15
- package/dist/utils.js.map +1 -1
- package/package.json +15 -12
- package/src/compiled-loader.tsx +18 -4
- package/src/extract-plugin.tsx +3 -6
- package/src/types.tsx +18 -0
- package/src/utils.tsx +38 -20
- package/CHANGELOG.md +0 -144
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export declare const HeaderSpacing: React.ComponentType<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & import("
|
|
2
|
+
export declare const HeaderSpacing: React.ComponentType<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & import("packages/react/src/styled").StyledProps>;
|
|
3
3
|
interface HeaderProps {
|
|
4
4
|
variant?: 'default' | 'invert';
|
|
5
5
|
children: React.ReactNode;
|
|
@@ -37,8 +37,8 @@ exports.HeaderSpacing = react_1.styled.div `
|
|
|
37
37
|
const Header = (_a) => {
|
|
38
38
|
var { children, variant = 'default' } = _a, props = __rest(_a, ["children", "variant"]);
|
|
39
39
|
const color = variant === 'default' ? 'rgba(37, 56, 88, 0.9)' : 'rgba(255, 255, 255, 0.75)';
|
|
40
|
-
return (react_1.jsx(StyledHeader, Object.assign({ variant: variant, color: color }, props),
|
|
41
|
-
react_1.jsx("a", { href: "/", css: { textDecoration: 'none', color: 'currentColor' } }, "Compiled"),
|
|
40
|
+
return ((0, react_1.jsx)(StyledHeader, Object.assign({ variant: variant, color: color }, props),
|
|
41
|
+
(0, react_1.jsx)("a", { href: "/", css: { textDecoration: 'none', color: 'currentColor' } }, "Compiled"),
|
|
42
42
|
children));
|
|
43
43
|
};
|
|
44
44
|
exports.Header = Header;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binding-not-found.js","sourceRoot":"","sources":["../../src/__fixtures__/binding-not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,eAAe;AACf,2CAA8C;AAG9C,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,YAAY,GAAG,cAAM,CAAC,MAAM,CAGhC;YACU,MAAM;;;;;;;;;;;;MAYZ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,aAAa,CAAC;WAChF,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;CAChC,CAAC;AAEW,QAAA,aAAa,GAAG,cAAM,CAAC,GAAG,CAAA;YAC3B,MAAM;CACjB,CAAC;AAOK,MAAM,MAAM,GAAG,CAAC,EAAwD,EAAe,EAAE;QAAzE,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,OAAyB,EAApB,KAAK,cAAzC,uBAA2C,CAAF;IAC9D,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAC;IAE5F,OAAO,CACL,
|
|
1
|
+
{"version":3,"file":"binding-not-found.js","sourceRoot":"","sources":["../../src/__fixtures__/binding-not-found.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,eAAe;AACf,2CAA8C;AAG9C,MAAM,MAAM,GAAG,MAAM,CAAC;AAEtB,MAAM,YAAY,GAAG,cAAM,CAAC,MAAM,CAGhC;YACU,MAAM;;;;;;;;;;;;MAYZ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,aAAa,CAAC;WAChF,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK;CAChC,CAAC;AAEW,QAAA,aAAa,GAAG,cAAM,CAAC,GAAG,CAAA;YAC3B,MAAM;CACjB,CAAC;AAOK,MAAM,MAAM,GAAG,CAAC,EAAwD,EAAe,EAAE;QAAzE,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,OAAyB,EAApB,KAAK,cAAzC,uBAA2C,CAAF;IAC9D,MAAM,KAAK,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,2BAA2B,CAAC;IAE5F,OAAO,CACL,iBAAC,YAAY,kBAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAM,KAAK;QACrD,wBAAG,IAAI,EAAC,GAAG,EAAC,GAAG,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,eAE9D;QACH,QAAQ,CACI,CAChB,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,MAAM,UAWjB"}
|
|
@@ -4,6 +4,6 @@ exports.Coral = void 0;
|
|
|
4
4
|
/** @jsx jsx */
|
|
5
5
|
const react_1 = require("@compiled/react");
|
|
6
6
|
const colors_1 = require("./colors");
|
|
7
|
-
const Coral = () => (react_1.jsx("div", { css: { color: colors_1.coral, border: `2px solid ${colors_1.coral}` } }));
|
|
7
|
+
const Coral = () => ((0, react_1.jsx)("div", { css: { color: colors_1.coral, border: `2px solid ${colors_1.coral}` } }));
|
|
8
8
|
exports.Coral = Coral;
|
|
9
9
|
//# sourceMappingURL=css-prop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-prop.js","sourceRoot":"","sources":["../../../src/__fixtures__/common/css-prop.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAAsC;AAEtC,qCAAiC;AAE1B,MAAM,KAAK,GAAG,GAAgB,EAAE,CAAC,CACtC,
|
|
1
|
+
{"version":3,"file":"css-prop.js","sourceRoot":"","sources":["../../../src/__fixtures__/common/css-prop.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAAsC;AAEtC,qCAAiC;AAE1B,MAAM,KAAK,GAAG,GAAgB,EAAE,CAAC,CACtC,0BAAK,GAAG,EAAE,EAAE,KAAK,EAAE,cAAK,EAAE,MAAM,EAAE,aAAa,cAAK,EAAE,EAAE,GAAI,CAC7D,CAAC;AAFW,QAAA,KAAK,SAEhB"}
|
|
@@ -4,7 +4,7 @@ exports.App = void 0;
|
|
|
4
4
|
/** @jsx jsx */
|
|
5
5
|
const react_1 = require("@compiled/react");
|
|
6
6
|
// @ts-expect-error
|
|
7
|
-
const styles = react_1.css(false);
|
|
8
|
-
const App = () => react_1.jsx("div", { css: styles });
|
|
7
|
+
const styles = (0, react_1.css)(false);
|
|
8
|
+
const App = () => (0, react_1.jsx)("div", { css: styles });
|
|
9
9
|
exports.App = App;
|
|
10
10
|
//# sourceMappingURL=compiled-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-error.js","sourceRoot":"","sources":["../../src/__fixtures__/compiled-error.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAA2C;AAE3C,mBAAmB;AACnB,MAAM,MAAM,GAAG,WAAG,
|
|
1
|
+
{"version":3,"file":"compiled-error.js","sourceRoot":"","sources":["../../src/__fixtures__/compiled-error.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAA2C;AAE3C,mBAAmB;AACnB,MAAM,MAAM,GAAG,IAAA,WAAG,EAAC,KAAK,CAAC,CAAC;AAEnB,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,0BAAK,GAAG,EAAE,MAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
/** @jsx jsx */
|
|
4
4
|
const react_1 = require("@compiled/react");
|
|
5
|
-
const Component = () => react_1.jsx("div", { css: { fontSize: '12!important', color: 'blue' } });
|
|
5
|
+
const Component = () => (0, react_1.jsx)("div", { css: { fontSize: '12!important', color: 'blue' } });
|
|
6
6
|
exports.default = Component;
|
|
7
7
|
//# sourceMappingURL=important-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"important-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/important-styles.tsx"],"names":[],"mappings":";;AAAA,eAAe;AACf,2CAAsC;AAEtC,MAAM,SAAS,GAAG,GAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"important-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/important-styles.tsx"],"names":[],"mappings":";;AAAA,eAAe;AACf,2CAAsC;AAEtC,MAAM,SAAS,GAAG,GAAgB,EAAE,CAAC,0BAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,CAAC;AAE/F,kBAAe,SAAS,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.styles = void 0;
|
|
4
4
|
const react_1 = require("@compiled/react");
|
|
5
|
-
exports.styles = react_1.css({
|
|
5
|
+
exports.styles = (0, react_1.css)({
|
|
6
6
|
color: 'indigo',
|
|
7
7
|
});
|
|
8
8
|
//# sourceMappingURL=loader-alias.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-alias.js","sourceRoot":"","sources":["../../../src/__fixtures__/lib/loader-alias.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAEzB,QAAA,MAAM,GAAG,WAAG,
|
|
1
|
+
{"version":3,"file":"loader-alias.js","sourceRoot":"","sources":["../../../src/__fixtures__/lib/loader-alias.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAEzB,QAAA,MAAM,GAAG,IAAA,WAAG,EAAC;IACxB,KAAK,EAAE,QAAQ;CAChB,CAAC,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.styles = void 0;
|
|
4
4
|
const react_1 = require("@compiled/react");
|
|
5
|
-
exports.styles = react_1.css({
|
|
5
|
+
exports.styles = (0, react_1.css)({
|
|
6
6
|
color: 'blue',
|
|
7
7
|
});
|
|
8
8
|
//# sourceMappingURL=webpack-alias.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-alias.js","sourceRoot":"","sources":["../../../src/__fixtures__/lib/webpack-alias.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAEzB,QAAA,MAAM,GAAG,WAAG,
|
|
1
|
+
{"version":3,"file":"webpack-alias.js","sourceRoot":"","sources":["../../../src/__fixtures__/lib/webpack-alias.ts"],"names":[],"mappings":";;;AAAA,2CAAsC;AAEzB,QAAA,MAAM,GAAG,IAAA,WAAG,EAAC;IACxB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC"}
|
|
@@ -7,6 +7,6 @@ exports.App = void 0;
|
|
|
7
7
|
const react_1 = require("@compiled/react");
|
|
8
8
|
// @ts-expect-error
|
|
9
9
|
const loader_alias_1 = require("loader-alias");
|
|
10
|
-
const App = () => react_1.jsx("div", { css: loader_alias_1.styles });
|
|
10
|
+
const App = () => (0, react_1.jsx)("div", { css: loader_alias_1.styles });
|
|
11
11
|
exports.App = App;
|
|
12
12
|
//# sourceMappingURL=loader-alias.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader-alias.js","sourceRoot":"","sources":["../../src/__fixtures__/loader-alias.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,iFAAiF;AACjF,6DAA6D;AAC7D,2CAA2C;AAC3C,mBAAmB;AACnB,+CAAsC;AAE/B,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"loader-alias.js","sourceRoot":"","sources":["../../src/__fixtures__/loader-alias.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,iFAAiF;AACjF,6DAA6D;AAC7D,2CAA2C;AAC3C,mBAAmB;AACnB,+CAAsC;AAE/B,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,0BAAK,GAAG,EAAE,qBAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
|
|
@@ -7,8 +7,8 @@ const react_2 = require("react");
|
|
|
7
7
|
const Styled = react_1.styled.div({
|
|
8
8
|
color: 'blue',
|
|
9
9
|
});
|
|
10
|
-
const App = () => (react_1.jsx(react_2.Fragment, null,
|
|
11
|
-
react_1.jsx("div", { css: { fontSize: 14 } }),
|
|
12
|
-
react_1.jsx(Styled, null)));
|
|
10
|
+
const App = () => ((0, react_1.jsx)(react_2.Fragment, null,
|
|
11
|
+
(0, react_1.jsx)("div", { css: { fontSize: 14 } }),
|
|
12
|
+
(0, react_1.jsx)(Styled, null)));
|
|
13
13
|
exports.App = App;
|
|
14
14
|
//# sourceMappingURL=local-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/local-styles.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAA8C;AAC9C,iCAAiC;AAEjC,MAAM,MAAM,GAAG,cAAM,CAAC,GAAG,CAAC;IACxB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEI,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,CACpC,
|
|
1
|
+
{"version":3,"file":"local-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/local-styles.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAA8C;AAC9C,iCAAiC;AAEjC,MAAM,MAAM,GAAG,cAAM,CAAC,GAAG,CAAC;IACxB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC;AAEI,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,CACpC,iBAAC,gBAAQ;IACP,0BAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI;IAC9B,iBAAC,MAAM,OAAG,CACD,CACZ,CAAC;AALW,QAAA,GAAG,OAKd"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const Styled: import("react").ComponentType<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & import("
|
|
2
|
+
export declare const Styled: import("react").ComponentType<import("react").ClassAttributes<HTMLSpanElement> & import("react").HTMLAttributes<HTMLSpanElement> & import("packages/react/src/styled").StyledProps>;
|
|
3
3
|
export declare const App: () => JSX.Element;
|
|
@@ -16,7 +16,7 @@ exports.Styled = react_1.styled.span `
|
|
|
16
16
|
color: ${colors_1.blue};
|
|
17
17
|
}
|
|
18
18
|
`;
|
|
19
|
-
const styles = react_1.css `
|
|
19
|
+
const styles = (0, react_1.css) `
|
|
20
20
|
color: ${colors_1.red};
|
|
21
21
|
|
|
22
22
|
:focus {
|
|
@@ -27,8 +27,8 @@ const styles = react_1.css `
|
|
|
27
27
|
color: ${colors_1.yellow};
|
|
28
28
|
}
|
|
29
29
|
`;
|
|
30
|
-
const App = () => (react_1.jsx(react_2.Fragment, null,
|
|
31
|
-
react_1.jsx("div", { css: styles }),
|
|
32
|
-
react_1.jsx(exports.Styled, null)));
|
|
30
|
+
const App = () => ((0, react_1.jsx)(react_2.Fragment, null,
|
|
31
|
+
(0, react_1.jsx)("div", { css: styles }),
|
|
32
|
+
(0, react_1.jsx)(exports.Styled, null)));
|
|
33
33
|
exports.App = App;
|
|
34
34
|
//# sourceMappingURL=relative-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relative-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/relative-styles.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAAmD;AACnD,iCAAiC;AAEjC,4CAAgF;AAKnE,QAAA,MAAM,GAAG,cAAM,CAAC,IAAI,CAAA;WACtB,mBAAU;;;aAGR,eAAM;;;;aAIN,aAAI;;CAEhB,CAAC;AAEF,MAAM,MAAM,GAAG,WAAG,
|
|
1
|
+
{"version":3,"file":"relative-styles.js","sourceRoot":"","sources":["../../src/__fixtures__/relative-styles.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,2CAAmD;AACnD,iCAAiC;AAEjC,4CAAgF;AAKnE,QAAA,MAAM,GAAG,cAAM,CAAC,IAAI,CAAA;WACtB,mBAAU;;;aAGR,eAAM;;;;aAIN,aAAI;;CAEhB,CAAC;AAEF,MAAM,MAAM,GAAG,IAAA,WAAG,EAAA;WACP,YAAG;;;aAGD,eAAM;;;;aAIN,eAAM;;CAElB,CAAC;AAEK,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,CACpC,iBAAC,gBAAQ;IACP,0BAAK,GAAG,EAAE,MAAM,GAAI;IACpB,iBAAC,cAAM,OAAG,CACD,CACZ,CAAC;AALW,QAAA,GAAG,OAKd"}
|
|
@@ -7,6 +7,6 @@ exports.App = void 0;
|
|
|
7
7
|
const react_1 = require("@compiled/react");
|
|
8
8
|
// @ts-expect-error
|
|
9
9
|
const webpack_alias_1 = require("webpack-alias");
|
|
10
|
-
const App = () => react_1.jsx("div", { css: webpack_alias_1.styles });
|
|
10
|
+
const App = () => (0, react_1.jsx)("div", { css: webpack_alias_1.styles });
|
|
11
11
|
exports.App = App;
|
|
12
12
|
//# sourceMappingURL=webpack-alias.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webpack-alias.js","sourceRoot":"","sources":["../../src/__fixtures__/webpack-alias.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uFAAuF;AACvF,6DAA6D;AAC7D,2CAA2C;AAC3C,mBAAmB;AACnB,iDAAuC;AAEhC,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"webpack-alias.js","sourceRoot":"","sources":["../../src/__fixtures__/webpack-alias.tsx"],"names":[],"mappings":";;;AAAA,eAAe;AACf,uFAAuF;AACvF,6DAA6D;AAC7D,2CAA2C;AAC3C,mBAAmB;AACnB,iDAAuC;AAEhC,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,0BAAK,GAAG,EAAE,sBAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
|
package/dist/compiled-loader.js
CHANGED
|
@@ -31,9 +31,9 @@ let hasErrored = false;
|
|
|
31
31
|
* @returns
|
|
32
32
|
*/
|
|
33
33
|
function getLoaderOptions(context) {
|
|
34
|
-
const { bake = true, extract = false, importReact = undefined, nonce = undefined, resolve = {}, } = typeof context.getOptions === 'undefined'
|
|
34
|
+
const { bake = true, extract = false, importReact = undefined, nonce = undefined, resolve = {}, extensions = undefined, babelPlugins = [], [extract_plugin_1.pluginName]: isPluginEnabled = false, } = typeof context.getOptions === 'undefined'
|
|
35
35
|
? // Webpack v4 flow
|
|
36
|
-
loader_utils_1.getOptions(context)
|
|
36
|
+
(0, loader_utils_1.getOptions)(context)
|
|
37
37
|
: // Webpack v5 flow
|
|
38
38
|
context.getOptions({
|
|
39
39
|
type: 'object',
|
|
@@ -53,6 +53,15 @@ function getLoaderOptions(context) {
|
|
|
53
53
|
resolve: {
|
|
54
54
|
type: 'object',
|
|
55
55
|
},
|
|
56
|
+
extensions: {
|
|
57
|
+
type: 'array',
|
|
58
|
+
},
|
|
59
|
+
babelPlugins: {
|
|
60
|
+
type: 'array',
|
|
61
|
+
},
|
|
62
|
+
[extract_plugin_1.pluginName]: {
|
|
63
|
+
type: 'boolean',
|
|
64
|
+
},
|
|
56
65
|
},
|
|
57
66
|
});
|
|
58
67
|
return {
|
|
@@ -61,6 +70,9 @@ function getLoaderOptions(context) {
|
|
|
61
70
|
importReact,
|
|
62
71
|
nonce,
|
|
63
72
|
resolve,
|
|
73
|
+
extensions,
|
|
74
|
+
babelPlugins,
|
|
75
|
+
[extract_plugin_1.pluginName]: isPluginEnabled,
|
|
64
76
|
};
|
|
65
77
|
}
|
|
66
78
|
/**
|
|
@@ -81,7 +93,7 @@ async function compiledLoader(code) {
|
|
|
81
93
|
const foundCSSRules = [];
|
|
82
94
|
const _d = getLoaderOptions(this), { resolve } = _d, options = __rest(_d, ["resolve"]);
|
|
83
95
|
// Transform to an AST using the local babel config.
|
|
84
|
-
const ast = await core_1.parseAsync(code, {
|
|
96
|
+
const ast = await (0, core_1.parseAsync)(code, {
|
|
85
97
|
filename: this.resourcePath,
|
|
86
98
|
caller: { name: 'compiled' },
|
|
87
99
|
rootMode: 'upward-optional',
|
|
@@ -95,7 +107,7 @@ async function compiledLoader(code) {
|
|
|
95
107
|
// This makes the resolver invoke the callback synchronously
|
|
96
108
|
useSyncFileSystemCalls: true }));
|
|
97
109
|
// Transform using the Compiled Babel Plugin - we deliberately turn off using the local config.
|
|
98
|
-
const result = await core_1.transformFromAstAsync(ast, code, {
|
|
110
|
+
const result = await (0, core_1.transformFromAstAsync)(ast, code, {
|
|
99
111
|
babelrc: false,
|
|
100
112
|
configFile: false,
|
|
101
113
|
sourceMaps: true,
|
|
@@ -110,14 +122,14 @@ async function compiledLoader(code) {
|
|
|
110
122
|
Object.assign(Object.assign({}, options), { onIncludedFiles: (files) => includedFiles.push(...files), resolver: {
|
|
111
123
|
// The resolver needs to be synchronous, as babel plugins must be synchronous
|
|
112
124
|
resolveSync: (context, request) => {
|
|
113
|
-
return resolver.resolveSync({}, path_1.dirname(context), request);
|
|
125
|
+
return resolver.resolveSync({}, (0, path_1.dirname)(context), request);
|
|
114
126
|
},
|
|
115
127
|
} }),
|
|
116
128
|
],
|
|
117
129
|
].filter(utils_1.toBoolean),
|
|
118
130
|
});
|
|
119
131
|
includedFiles.forEach((file) => {
|
|
120
|
-
this.addDependency(path_1.normalize(file));
|
|
132
|
+
this.addDependency((0, path_1.normalize)(file));
|
|
121
133
|
});
|
|
122
134
|
let output = (result === null || result === void 0 ? void 0 : result.code) || '';
|
|
123
135
|
if (options.extract && foundCSSRules.length) {
|
|
@@ -126,7 +138,7 @@ async function compiledLoader(code) {
|
|
|
126
138
|
// The benefit is two fold:
|
|
127
139
|
// (1) thread safe collection of styles
|
|
128
140
|
// (2) caching -- resulting in faster builds (one import per rule!)
|
|
129
|
-
const params = utils_2.toURIComponent(rule);
|
|
141
|
+
const params = (0, utils_2.toURIComponent)(rule);
|
|
130
142
|
// We use require instead of import so it works with both ESM and CJS source.
|
|
131
143
|
// If we used ESM it would blow up with CJS source, unfortunately.
|
|
132
144
|
output = `
|
|
@@ -137,16 +149,16 @@ async function compiledLoader(code) {
|
|
|
137
149
|
callback(null, output, (_c = result === null || result === void 0 ? void 0 : result.map) !== null && _c !== void 0 ? _c : undefined);
|
|
138
150
|
}
|
|
139
151
|
catch (e) {
|
|
140
|
-
|
|
152
|
+
// @ts-expect-error Not checking for error type
|
|
153
|
+
const error = (0, utils_1.createError)('compiled-loader', 'Unhandled exception')(e.stack);
|
|
141
154
|
callback(error);
|
|
142
155
|
}
|
|
143
156
|
}
|
|
144
157
|
exports.default = compiledLoader;
|
|
145
158
|
function pitch() {
|
|
146
159
|
const options = getLoaderOptions(this);
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
this.emitError(utils_1.createError('webpack-loader')(`You forgot to add the 'CompiledExtractPlugin' plugin (i.e \`{ plugins: [new CompiledExtractPlugin()] }\`), please read https://compiledcssinjs.com/docs/css-extraction-webpack`));
|
|
160
|
+
if (!hasErrored && options.extract && !options[extract_plugin_1.pluginName]) {
|
|
161
|
+
this.emitError((0, utils_1.createError)('webpack-loader')(`You forgot to add the 'CompiledExtractPlugin' plugin (i.e \`{ plugins: [new CompiledExtractPlugin()] }\`), please read https://compiledcssinjs.com/docs/css-extraction-webpack`));
|
|
150
162
|
// We only want to error once, if we didn't do this you'd get an error for every file found.
|
|
151
163
|
hasErrored = true;
|
|
152
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-loader.js","sourceRoot":"","sources":["../src/compiled-loader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,+BAA0C;AAE1C,sCAAgE;AAChE,2CAAyD;AACzD,uDAA0E;AAC1E,+CAA0C;AAG1C,qDAA8C;AAE9C,mCAAyC;AAEzC,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,OAA6C;IACrE,MAAM,EACJ,IAAI,GAAG,IAAI,EACX,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,SAAS,EACvB,KAAK,GAAG,SAAS,EACjB,OAAO,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"compiled-loader.js","sourceRoot":"","sources":["../src/compiled-loader.tsx"],"names":[],"mappings":"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"}
|
package/dist/extract-plugin.js
CHANGED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver,
|
|
3
|
-
if (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return value;
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
8
7
|
};
|
|
9
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver,
|
|
10
|
-
if (!
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return privateMap.get(receiver);
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
14
12
|
};
|
|
15
|
-
var
|
|
13
|
+
var _CompiledExtractPlugin_options;
|
|
16
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
15
|
exports.CompiledExtractPlugin = exports.styleSheetName = exports.pluginName = void 0;
|
|
18
16
|
const css_1 = require("@compiled/css");
|
|
@@ -73,7 +71,7 @@ const forceCSSIntoOneStyleSheet = (compiler) => {
|
|
|
73
71
|
*/
|
|
74
72
|
const pushNodeModulesExtractLoader = (compiler, options) => {
|
|
75
73
|
if (!compiler.options.module) {
|
|
76
|
-
throw utils_1.createError('webpack-loader')('module options not defined');
|
|
74
|
+
throw (0, utils_1.createError)('webpack-loader')('module options not defined');
|
|
77
75
|
}
|
|
78
76
|
compiler.options.module.rules.push({
|
|
79
77
|
test: { and: [/node_modules.+\.js$/, options.nodeModulesTest].filter(utils_1.toBoolean) },
|
|
@@ -85,6 +83,7 @@ const pushNodeModulesExtractLoader = (compiler, options) => {
|
|
|
85
83
|
// We turn off baking as we're only interested in extracting from node modules (they're already baked)!
|
|
86
84
|
bake: false,
|
|
87
85
|
extract: true,
|
|
86
|
+
[exports.pluginName]: true,
|
|
88
87
|
},
|
|
89
88
|
},
|
|
90
89
|
});
|
|
@@ -96,32 +95,28 @@ const pushNodeModulesExtractLoader = (compiler, options) => {
|
|
|
96
95
|
*/
|
|
97
96
|
class CompiledExtractPlugin {
|
|
98
97
|
constructor(options = {}) {
|
|
99
|
-
|
|
100
|
-
__classPrivateFieldSet(this,
|
|
98
|
+
_CompiledExtractPlugin_options.set(this, void 0);
|
|
99
|
+
__classPrivateFieldSet(this, _CompiledExtractPlugin_options, options, "f");
|
|
101
100
|
}
|
|
102
101
|
apply(compiler) {
|
|
103
|
-
const { RawSource } = utils_2.getSources(compiler);
|
|
104
|
-
pushNodeModulesExtractLoader(compiler, __classPrivateFieldGet(this,
|
|
102
|
+
const { RawSource } = (0, utils_2.getSources)(compiler);
|
|
103
|
+
pushNodeModulesExtractLoader(compiler, __classPrivateFieldGet(this, _CompiledExtractPlugin_options, "f"));
|
|
105
104
|
forceCSSIntoOneStyleSheet(compiler);
|
|
106
105
|
compiler.hooks.compilation.tap(exports.pluginName, (compilation) => {
|
|
107
|
-
utils_2.
|
|
108
|
-
|
|
109
|
-
// Bundling will throw if this is missing (i.e. consumers did not setup correctly).
|
|
110
|
-
loaderContext[exports.pluginName] = true;
|
|
111
|
-
});
|
|
112
|
-
utils_2.getOptimizeAssetsHook(compiler, compilation).tap(exports.pluginName, (assets) => {
|
|
106
|
+
(0, utils_2.setPluginConfiguredOption)(compilation.options.module.rules, exports.pluginName);
|
|
107
|
+
(0, utils_2.getOptimizeAssetsHook)(compiler, compilation).tap(exports.pluginName, (assets) => {
|
|
113
108
|
const cssAssets = getCSSAssets(assets);
|
|
114
109
|
if (cssAssets.length === 0) {
|
|
115
110
|
return;
|
|
116
111
|
}
|
|
117
112
|
const [asset] = cssAssets;
|
|
118
|
-
const contents = utils_2.getAssetSourceContents(asset.source);
|
|
119
|
-
const newSource = new RawSource(css_1.sort(contents));
|
|
113
|
+
const contents = (0, utils_2.getAssetSourceContents)(asset.source);
|
|
114
|
+
const newSource = new RawSource((0, css_1.sort)(contents));
|
|
120
115
|
compilation.updateAsset(asset.name, newSource, asset.info);
|
|
121
116
|
});
|
|
122
117
|
});
|
|
123
118
|
}
|
|
124
119
|
}
|
|
125
120
|
exports.CompiledExtractPlugin = CompiledExtractPlugin;
|
|
126
|
-
|
|
121
|
+
_CompiledExtractPlugin_options = new WeakMap();
|
|
127
122
|
//# sourceMappingURL=extract-plugin.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-plugin.js","sourceRoot":"","sources":["../src/extract-plugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract-plugin.js","sourceRoot":"","sources":["../src/extract-plugin.tsx"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { ParserPlugin } from '@babel/parser';
|
|
1
2
|
import type { ResolveOptions, RuleSetCondition } from 'webpack';
|
|
3
|
+
import type { pluginName } from './extract-plugin';
|
|
2
4
|
export type { ResolveOptions };
|
|
3
5
|
export interface CompiledLoaderOptions {
|
|
4
6
|
/**
|
|
@@ -25,6 +27,18 @@ export interface CompiledLoaderOptions {
|
|
|
25
27
|
* Override the default `resolve` passed into webpack, which is used to statically evaluate import declarations
|
|
26
28
|
*/
|
|
27
29
|
resolve?: ResolveOptions;
|
|
30
|
+
/**
|
|
31
|
+
* List of file extensions to traverse as code
|
|
32
|
+
*/
|
|
33
|
+
extensions?: string[];
|
|
34
|
+
/**
|
|
35
|
+
* List of babel plugins to be applied to evaluated files
|
|
36
|
+
*/
|
|
37
|
+
babelPlugins?: ParserPlugin[];
|
|
38
|
+
/**
|
|
39
|
+
* Set to true if CompiledExtractPlugin has been set up correctly
|
|
40
|
+
*/
|
|
41
|
+
[pluginName]?: boolean;
|
|
28
42
|
}
|
|
29
43
|
export interface CompiledExtractPluginOptions {
|
|
30
44
|
/**
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type { Compilation as CompilationType, Compiler, sources } from 'webpack';
|
|
1
|
+
import type { Compilation as CompilationType, Compiler, sources, RuleSetRule } from 'webpack';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Sets an option on the plugin config to tell loaders that the plugin has been configured.
|
|
4
|
+
* Bundling will throw if this option is missing (i.e. consumers did not setup correctly).
|
|
4
5
|
*
|
|
6
|
+
* @param rules
|
|
7
|
+
* @param pluginName
|
|
5
8
|
* @returns
|
|
6
9
|
*/
|
|
7
|
-
export declare const
|
|
10
|
+
export declare const setPluginConfiguredOption: (rules: (RuleSetRule | '...')[], pluginName: string) => void;
|
|
8
11
|
/**
|
|
9
12
|
* Returns the string representation of an assets source.
|
|
10
13
|
*
|
package/dist/utils.js
CHANGED
|
@@ -1,25 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toURIComponent = exports.getSources = exports.getOptimizeAssetsHook = exports.getAssetSourceContents = exports.
|
|
3
|
+
exports.toURIComponent = exports.getSources = exports.getOptimizeAssetsHook = exports.getAssetSourceContents = exports.setPluginConfiguredOption = void 0;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Sets an option on the plugin config to tell loaders that the plugin has been configured.
|
|
6
|
+
* Bundling will throw if this option is missing (i.e. consumers did not setup correctly).
|
|
6
7
|
*
|
|
8
|
+
* @param rules
|
|
9
|
+
* @param pluginName
|
|
7
10
|
* @returns
|
|
8
11
|
*/
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
12
|
+
const setPluginConfiguredOption = (rules, pluginName) => {
|
|
13
|
+
for (const rule of rules) {
|
|
14
|
+
const use = rule.use;
|
|
15
|
+
if (!use || typeof use === 'string') {
|
|
16
|
+
continue;
|
|
17
|
+
}
|
|
18
|
+
if (Array.isArray(use)) {
|
|
19
|
+
if (!use.length) {
|
|
20
|
+
continue;
|
|
21
|
+
}
|
|
22
|
+
for (const nestedUse of use) {
|
|
23
|
+
if (typeof nestedUse !== 'object' || nestedUse.loader !== '@compiled/webpack-loader') {
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
const { options } = nestedUse;
|
|
27
|
+
if (!options || typeof options !== 'object' || !options.extract) {
|
|
28
|
+
continue;
|
|
29
|
+
}
|
|
30
|
+
options[pluginName] = true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
if (typeof use === 'object' && use.loader === '@compiled/webpack-loader') {
|
|
35
|
+
const { options } = use;
|
|
36
|
+
if (!options || typeof options !== 'object' || !options.extract) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
options[pluginName] = true;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
21
43
|
};
|
|
22
|
-
exports.
|
|
44
|
+
exports.setPluginConfiguredOption = setPluginConfiguredOption;
|
|
23
45
|
/**
|
|
24
46
|
* Returns the string representation of an assets source.
|
|
25
47
|
*
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":";;;AAEA
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@compiled/webpack-loader",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.1",
|
|
4
4
|
"description": "A familiar and performant compile time CSS-in-JS library for React.",
|
|
5
|
-
"homepage": "https://compiledcssinjs.com",
|
|
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",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"css-loader",
|
|
19
19
|
"dist",
|
|
20
|
-
"src"
|
|
21
|
-
"README.md"
|
|
20
|
+
"src"
|
|
22
21
|
],
|
|
23
22
|
"dependencies": {
|
|
24
|
-
"@babel/core": "^7.
|
|
25
|
-
"@compiled/babel-plugin": "^0.
|
|
26
|
-
"@compiled/babel-plugin-strip-runtime": "^0.11.
|
|
27
|
-
"@compiled/css": "^0.
|
|
28
|
-
"@compiled/
|
|
23
|
+
"@babel/core": "^7.17.2",
|
|
24
|
+
"@compiled/babel-plugin": "^0.12.1",
|
|
25
|
+
"@compiled/babel-plugin-strip-runtime": "^0.11.4",
|
|
26
|
+
"@compiled/css": "^0.8.1",
|
|
27
|
+
"@compiled/react": "0.10.2",
|
|
28
|
+
"@compiled/utils": "^0.6.14",
|
|
29
29
|
"enhanced-resolve": "^5.8.3",
|
|
30
30
|
"loader-utils": "^2.0.2",
|
|
31
31
|
"webpack-sources": "^1.4.3"
|
|
@@ -33,9 +33,12 @@
|
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"babel-loader": "^8.2.3",
|
|
35
35
|
"css-loader": "^5.2.7",
|
|
36
|
-
"memfs": "^3.
|
|
37
|
-
"mini-css-extract-plugin": "^1.
|
|
38
|
-
"
|
|
36
|
+
"memfs": "^3.4.1",
|
|
37
|
+
"mini-css-extract-plugin": "^1.6.2",
|
|
38
|
+
"react": "^17.0.2",
|
|
39
|
+
"ts-node": "^10.4.0",
|
|
40
|
+
"tsconfig-paths": "^3.12.0",
|
|
41
|
+
"webpack": "^5.66.0"
|
|
39
42
|
},
|
|
40
43
|
"peerDependencies": {
|
|
41
44
|
"webpack": ">= 4.46.0"
|
package/src/compiled-loader.tsx
CHANGED
|
@@ -26,6 +26,9 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
26
26
|
importReact = undefined,
|
|
27
27
|
nonce = undefined,
|
|
28
28
|
resolve = {},
|
|
29
|
+
extensions = undefined,
|
|
30
|
+
babelPlugins = [],
|
|
31
|
+
[pluginName]: isPluginEnabled = false,
|
|
29
32
|
}: CompiledLoaderOptions = typeof context.getOptions === 'undefined'
|
|
30
33
|
? // Webpack v4 flow
|
|
31
34
|
getOptions(context)
|
|
@@ -48,6 +51,15 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
48
51
|
resolve: {
|
|
49
52
|
type: 'object',
|
|
50
53
|
},
|
|
54
|
+
extensions: {
|
|
55
|
+
type: 'array',
|
|
56
|
+
},
|
|
57
|
+
babelPlugins: {
|
|
58
|
+
type: 'array',
|
|
59
|
+
},
|
|
60
|
+
[pluginName]: {
|
|
61
|
+
type: 'boolean',
|
|
62
|
+
},
|
|
51
63
|
},
|
|
52
64
|
});
|
|
53
65
|
|
|
@@ -57,6 +69,9 @@ function getLoaderOptions(context: LoaderContext<CompiledLoaderOptions>) {
|
|
|
57
69
|
importReact,
|
|
58
70
|
nonce,
|
|
59
71
|
resolve,
|
|
72
|
+
extensions,
|
|
73
|
+
babelPlugins,
|
|
74
|
+
[pluginName]: isPluginEnabled,
|
|
60
75
|
};
|
|
61
76
|
}
|
|
62
77
|
|
|
@@ -151,7 +166,8 @@ export default async function compiledLoader(
|
|
|
151
166
|
}
|
|
152
167
|
|
|
153
168
|
callback(null, output, result?.map ?? undefined);
|
|
154
|
-
} catch (e) {
|
|
169
|
+
} catch (e: unknown) {
|
|
170
|
+
// @ts-expect-error Not checking for error type
|
|
155
171
|
const error = createError('compiled-loader', 'Unhandled exception')(e.stack);
|
|
156
172
|
callback(error);
|
|
157
173
|
}
|
|
@@ -159,9 +175,7 @@ export default async function compiledLoader(
|
|
|
159
175
|
|
|
160
176
|
export function pitch(this: LoaderContext<CompiledLoaderOptions>): void {
|
|
161
177
|
const options = getLoaderOptions(this);
|
|
162
|
-
|
|
163
|
-
// @ts-expect-error No definitions for this[pluginName]
|
|
164
|
-
if (!hasErrored && options.extract && !this[pluginName]) {
|
|
178
|
+
if (!hasErrored && options.extract && !options[pluginName]) {
|
|
165
179
|
this.emitError(
|
|
166
180
|
createError('webpack-loader')(
|
|
167
181
|
`You forgot to add the 'CompiledExtractPlugin' plugin (i.e \`{ plugins: [new CompiledExtractPlugin()] }\`), please read https://compiledcssinjs.com/docs/css-extraction-webpack`
|
package/src/extract-plugin.tsx
CHANGED
|
@@ -5,9 +5,9 @@ import type { Compilation, Compiler } from 'webpack';
|
|
|
5
5
|
import type { CompiledExtractPluginOptions } from './types';
|
|
6
6
|
import {
|
|
7
7
|
getAssetSourceContents,
|
|
8
|
-
getNormalModuleHook,
|
|
9
8
|
getOptimizeAssetsHook,
|
|
10
9
|
getSources,
|
|
10
|
+
setPluginConfiguredOption,
|
|
11
11
|
} from './utils';
|
|
12
12
|
|
|
13
13
|
export const pluginName = 'CompiledExtractPlugin';
|
|
@@ -88,6 +88,7 @@ const pushNodeModulesExtractLoader = (
|
|
|
88
88
|
// We turn off baking as we're only interested in extracting from node modules (they're already baked)!
|
|
89
89
|
bake: false,
|
|
90
90
|
extract: true,
|
|
91
|
+
[pluginName]: true,
|
|
91
92
|
},
|
|
92
93
|
},
|
|
93
94
|
});
|
|
@@ -112,11 +113,7 @@ export class CompiledExtractPlugin {
|
|
|
112
113
|
forceCSSIntoOneStyleSheet(compiler);
|
|
113
114
|
|
|
114
115
|
compiler.hooks.compilation.tap(pluginName, (compilation) => {
|
|
115
|
-
|
|
116
|
-
// We add some information here to tell loaders that the plugin has been configured.
|
|
117
|
-
// Bundling will throw if this is missing (i.e. consumers did not setup correctly).
|
|
118
|
-
(loaderContext as any)[pluginName] = true;
|
|
119
|
-
});
|
|
116
|
+
setPluginConfiguredOption(compilation.options.module.rules, pluginName);
|
|
120
117
|
|
|
121
118
|
getOptimizeAssetsHook(compiler, compilation).tap(pluginName, (assets) => {
|
|
122
119
|
const cssAssets = getCSSAssets(assets);
|
package/src/types.tsx
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
import type { ParserPlugin } from '@babel/parser';
|
|
1
2
|
import type { ResolveOptions, RuleSetCondition } from 'webpack';
|
|
2
3
|
|
|
4
|
+
import type { pluginName } from './extract-plugin';
|
|
5
|
+
|
|
3
6
|
export type { ResolveOptions };
|
|
4
7
|
|
|
5
8
|
export interface CompiledLoaderOptions {
|
|
@@ -31,6 +34,21 @@ export interface CompiledLoaderOptions {
|
|
|
31
34
|
* Override the default `resolve` passed into webpack, which is used to statically evaluate import declarations
|
|
32
35
|
*/
|
|
33
36
|
resolve?: ResolveOptions;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* List of file extensions to traverse as code
|
|
40
|
+
*/
|
|
41
|
+
extensions?: string[];
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* List of babel plugins to be applied to evaluated files
|
|
45
|
+
*/
|
|
46
|
+
babelPlugins?: ParserPlugin[];
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Set to true if CompiledExtractPlugin has been set up correctly
|
|
50
|
+
*/
|
|
51
|
+
[pluginName]?: boolean;
|
|
34
52
|
}
|
|
35
53
|
|
|
36
54
|
export interface CompiledExtractPluginOptions {
|
package/src/utils.tsx
CHANGED
|
@@ -1,28 +1,46 @@
|
|
|
1
|
-
import type { Compilation as CompilationType, Compiler, sources } from 'webpack';
|
|
1
|
+
import type { Compilation as CompilationType, Compiler, sources, RuleSetRule } from 'webpack';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Sets an option on the plugin config to tell loaders that the plugin has been configured.
|
|
5
|
+
* Bundling will throw if this option is missing (i.e. consumers did not setup correctly).
|
|
5
6
|
*
|
|
7
|
+
* @param rules
|
|
8
|
+
* @param pluginName
|
|
6
9
|
* @returns
|
|
7
10
|
*/
|
|
8
|
-
export const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
):
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
11
|
+
export const setPluginConfiguredOption = (
|
|
12
|
+
rules: (RuleSetRule | '...')[],
|
|
13
|
+
pluginName: string
|
|
14
|
+
): void => {
|
|
15
|
+
for (const rule of rules) {
|
|
16
|
+
const use = (rule as RuleSetRule).use;
|
|
17
|
+
if (!use || typeof use === 'string') {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(use)) {
|
|
21
|
+
if (!use.length) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
for (const nestedUse of use) {
|
|
25
|
+
if (typeof nestedUse !== 'object' || nestedUse.loader !== '@compiled/webpack-loader') {
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
const { options } = nestedUse;
|
|
29
|
+
if (!options || typeof options !== 'object' || !options.extract) {
|
|
30
|
+
continue;
|
|
31
|
+
}
|
|
32
|
+
options[pluginName] = true;
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
if (typeof use === 'object' && use.loader === '@compiled/webpack-loader') {
|
|
36
|
+
const { options } = use;
|
|
37
|
+
if (!options || typeof options !== 'object' || !options.extract) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
options[pluginName] = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
26
44
|
};
|
|
27
45
|
|
|
28
46
|
/**
|
package/CHANGELOG.md
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
# @compiled/webpack-loader
|
|
2
|
-
|
|
3
|
-
## 0.7.3
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- 427cead: Compiled now supports turning on the `css` prop using jsx pragmas (both with `@jsx` and `@jsxImportSource`).
|
|
8
|
-
- 79cfb08: Internal refactor changing how the TypeScript compiler picks up source files.
|
|
9
|
-
- 79cfb08: Compiled's CSS loader now uses referential equality instead of pathname to determine if it needs to re-order itself from the last to first.
|
|
10
|
-
- Updated dependencies [79cfb08]
|
|
11
|
-
- Updated dependencies [14368bb]
|
|
12
|
-
- Updated dependencies [68ebac3]
|
|
13
|
-
- Updated dependencies [427cead]
|
|
14
|
-
- Updated dependencies [79cfb08]
|
|
15
|
-
- @compiled/babel-plugin@0.11.1
|
|
16
|
-
- @compiled/babel-plugin-strip-runtime@0.11.1
|
|
17
|
-
- @compiled/css@0.7.1
|
|
18
|
-
- @compiled/utils@0.6.12
|
|
19
|
-
|
|
20
|
-
## 0.7.2
|
|
21
|
-
|
|
22
|
-
### Patch Changes
|
|
23
|
-
|
|
24
|
-
- Updated dependencies [e015a3a]
|
|
25
|
-
- Updated dependencies [fa6af90]
|
|
26
|
-
- @compiled/babel-plugin@0.11.0
|
|
27
|
-
|
|
28
|
-
## 0.7.1
|
|
29
|
-
|
|
30
|
-
### Patch Changes
|
|
31
|
-
|
|
32
|
-
- Updated dependencies [b68411c]
|
|
33
|
-
- Updated dependencies [53a3d71]
|
|
34
|
-
- @compiled/babel-plugin@0.10.0
|
|
35
|
-
|
|
36
|
-
## 0.7.0
|
|
37
|
-
|
|
38
|
-
### Minor Changes
|
|
39
|
-
|
|
40
|
-
- 0b60ae1: Use webpack resolution and add custom `resolve` override
|
|
41
|
-
|
|
42
|
-
### Patch Changes
|
|
43
|
-
|
|
44
|
-
- Updated dependencies [0b60ae1]
|
|
45
|
-
- Updated dependencies [2092839]
|
|
46
|
-
- @compiled/babel-plugin@0.9.0
|
|
47
|
-
|
|
48
|
-
## 0.6.17
|
|
49
|
-
|
|
50
|
-
### Patch Changes
|
|
51
|
-
|
|
52
|
-
- Updated dependencies [53935b3]
|
|
53
|
-
- @compiled/babel-plugin@0.8.0
|
|
54
|
-
|
|
55
|
-
## 0.6.16
|
|
56
|
-
|
|
57
|
-
### Patch Changes
|
|
58
|
-
|
|
59
|
-
- Updated dependencies [bcb2a68]
|
|
60
|
-
- Updated dependencies [a7ab8e1]
|
|
61
|
-
- Updated dependencies [e1dc346]
|
|
62
|
-
- Updated dependencies [bcb2a68]
|
|
63
|
-
- Updated dependencies [48805ec]
|
|
64
|
-
- Updated dependencies [587e729]
|
|
65
|
-
- @compiled/babel-plugin@0.7.0
|
|
66
|
-
- @compiled/css@0.7.0
|
|
67
|
-
|
|
68
|
-
## 0.6.15
|
|
69
|
-
|
|
70
|
-
### Patch Changes
|
|
71
|
-
|
|
72
|
-
- 40bc0d9: Package descriptions have been updated.
|
|
73
|
-
- Updated dependencies [40bc0d9]
|
|
74
|
-
- Updated dependencies [1b1c964]
|
|
75
|
-
- Updated dependencies [1b1c964]
|
|
76
|
-
- @compiled/babel-plugin@0.6.13
|
|
77
|
-
- @compiled/babel-plugin-strip-runtime@0.6.13
|
|
78
|
-
- @compiled/css@0.6.11
|
|
79
|
-
- @compiled/utils@0.6.11
|
|
80
|
-
|
|
81
|
-
## 0.6.14
|
|
82
|
-
|
|
83
|
-
### Patch Changes
|
|
84
|
-
|
|
85
|
-
- ad512ec: Fixed extraction when `!important` styles were found.
|
|
86
|
-
|
|
87
|
-
## 0.6.13
|
|
88
|
-
|
|
89
|
-
### Patch Changes
|
|
90
|
-
|
|
91
|
-
- 6a7261e: Programmatic babel use now searches upwards for a project root, and if found will use that config. This fixes issues in some monorepo setups.
|
|
92
|
-
- 8a13ee9: The loader now only errors once when running without the webpack extract plugin.
|
|
93
|
-
- Updated dependencies [b92eb6d]
|
|
94
|
-
- @compiled/babel-plugin-strip-runtime@0.6.11
|
|
95
|
-
|
|
96
|
-
## 0.6.12
|
|
97
|
-
|
|
98
|
-
### Patch Changes
|
|
99
|
-
|
|
100
|
-
- 4032cd4: The `importReact` option now correctly defaults to `true`.
|
|
101
|
-
|
|
102
|
-
## 0.6.11
|
|
103
|
-
|
|
104
|
-
### Patch Changes
|
|
105
|
-
|
|
106
|
-
- 37108e4: Fixed webpack 4 flow throwing unexpectedly.
|
|
107
|
-
- 37108e4: Added missing babel dependency.
|
|
108
|
-
- 37108e4: Fixed css loader entrypoint not making its way to npm.
|
|
109
|
-
- 37108e4: Compiled dependencies are now using carat range.
|
|
110
|
-
- 37108e4: Fixed bug picking up an unexpected asset during webpack compilation.
|
|
111
|
-
- Updated dependencies [992e401]
|
|
112
|
-
- Updated dependencies [37108e4]
|
|
113
|
-
- @compiled/utils@0.6.10
|
|
114
|
-
- @compiled/babel-plugin@0.6.10
|
|
115
|
-
- @compiled/css@0.6.10
|
|
116
|
-
|
|
117
|
-
## 0.6.10
|
|
118
|
-
|
|
119
|
-
### Patch Changes
|
|
120
|
-
|
|
121
|
-
- 660309a: Support for webpack 4 has been added, follow the [extraction guide](https://compiledcssinjs.com/docs/css-extraction-webpack) to get started.
|
|
122
|
-
|
|
123
|
-
## 0.6.9
|
|
124
|
-
|
|
125
|
-
### Patch Changes
|
|
126
|
-
|
|
127
|
-
- 0bb1c11: Added new option `extract` with pairing webpack plugin `CompiledExtractPlugin`.
|
|
128
|
-
Configuring them will strip all the runtime from your app and extract all styles to an atomic style sheet.
|
|
129
|
-
|
|
130
|
-
For help getting started with this feature read the [CSS extraction guide](https://compiledcssinjs.com/docs/css-extraction-webpack) for webpack.
|
|
131
|
-
|
|
132
|
-
- Updated dependencies [0bb1c11]
|
|
133
|
-
- Updated dependencies [0bb1c11]
|
|
134
|
-
- @compiled/css@0.6.9
|
|
135
|
-
- @compiled/utils@0.6.9
|
|
136
|
-
- @compiled/babel-plugin@0.6.9
|
|
137
|
-
|
|
138
|
-
## 0.6.8
|
|
139
|
-
|
|
140
|
-
### Patch Changes
|
|
141
|
-
|
|
142
|
-
- aea3504: Packages now released with [changesets](https://github.com/atlassian/changesets).
|
|
143
|
-
- Updated dependencies [aea3504]
|
|
144
|
-
- @compiled/babel-plugin@0.6.8
|