@compiled/webpack-loader 0.7.5 → 0.8.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.
Files changed (37) hide show
  1. package/css-loader/README.md +1 -1
  2. package/css-loader/{extract.css → compiled-css.css} +0 -0
  3. package/dist/__fixtures__/binding-not-found.d.ts +1 -1
  4. package/dist/__fixtures__/binding-not-found.js +2 -2
  5. package/dist/__fixtures__/binding-not-found.js.map +1 -1
  6. package/dist/__fixtures__/common/css-prop.js +1 -1
  7. package/dist/__fixtures__/common/css-prop.js.map +1 -1
  8. package/dist/__fixtures__/compiled-error.js +2 -2
  9. package/dist/__fixtures__/compiled-error.js.map +1 -1
  10. package/dist/__fixtures__/important-styles.js +1 -1
  11. package/dist/__fixtures__/important-styles.js.map +1 -1
  12. package/dist/__fixtures__/lib/loader-alias.js +1 -1
  13. package/dist/__fixtures__/lib/loader-alias.js.map +1 -1
  14. package/dist/__fixtures__/lib/webpack-alias.js +1 -1
  15. package/dist/__fixtures__/lib/webpack-alias.js.map +1 -1
  16. package/dist/__fixtures__/loader-alias.js +1 -1
  17. package/dist/__fixtures__/loader-alias.js.map +1 -1
  18. package/dist/__fixtures__/local-styles.js +3 -3
  19. package/dist/__fixtures__/local-styles.js.map +1 -1
  20. package/dist/__fixtures__/relative-styles.d.ts +1 -1
  21. package/dist/__fixtures__/relative-styles.js +4 -4
  22. package/dist/__fixtures__/relative-styles.js.map +1 -1
  23. package/dist/__fixtures__/webpack-alias.js +1 -1
  24. package/dist/__fixtures__/webpack-alias.js.map +1 -1
  25. package/dist/compiled-loader.js +23 -12
  26. package/dist/compiled-loader.js.map +1 -1
  27. package/dist/extract-plugin.js +22 -27
  28. package/dist/extract-plugin.js.map +1 -1
  29. package/dist/types.d.ts +14 -0
  30. package/dist/utils.d.ts +6 -3
  31. package/dist/utils.js +37 -15
  32. package/dist/utils.js.map +1 -1
  33. package/package.json +12 -8
  34. package/src/compiled-loader.tsx +18 -5
  35. package/src/extract-plugin.tsx +4 -7
  36. package/src/types.tsx +18 -0
  37. package/src/utils.tsx +38 -20
@@ -1,6 +1,6 @@
1
1
  # @compiled/webpack-loader/css-loader
2
2
 
3
- ## What's `extract.css`
3
+ ## What's `compiled-css.css`
4
4
 
5
5
  It's a placeholder CSS file we use for style extraction,
6
6
  used for two reasons:
File without changes
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- export declare const HeaderSpacing: React.ComponentType<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & import("../../../react/src/styled").StyledProps>;
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,YAAC,YAAY,kBAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAM,KAAK;QACrD,mBAAG,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"}
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,qBAAK,GAAG,EAAE,EAAE,KAAK,EAAE,cAAK,EAAE,MAAM,EAAE,aAAa,cAAK,EAAE,EAAE,GAAI,CAC7D,CAAC;AAFW,QAAA,KAAK,SAEhB"}
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,CAAC,KAAK,CAAC,CAAC;AAEnB,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,qBAAK,GAAG,EAAE,MAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
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,qBAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,CAAC;AAE/F,kBAAe,SAAS,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,CAAC;IACxB,KAAK,EAAE,QAAQ;CAChB,CAAC,CAAC"}
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,CAAC;IACxB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC"}
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,qBAAK,GAAG,EAAE,qBAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
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,YAAC,gBAAQ;IACP,qBAAK,GAAG,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAI;IAC9B,YAAC,MAAM,OAAG,CACD,CACZ,CAAC;AALW,QAAA,GAAG,OAKd"}
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("../../../react/src/styled").StyledProps>;
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,CAAA;WACP,YAAG;;;aAGD,eAAM;;;;aAIN,eAAM;;CAElB,CAAC;AAEK,MAAM,GAAG,GAAG,GAAgB,EAAE,CAAC,CACpC,YAAC,gBAAQ;IACP,qBAAK,GAAG,EAAE,MAAM,GAAI;IACpB,YAAC,cAAM,OAAG,CACD,CACZ,CAAC;AALW,QAAA,GAAG,OAKd"}
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,qBAAK,GAAG,EAAE,sBAAM,GAAI,CAAC;AAA9C,QAAA,GAAG,OAA2C"}
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"}
@@ -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,11 +138,11 @@ 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 = `
133
- require("@compiled/webpack-loader/css-loader!@compiled/webpack-loader/css-loader/extract.css?style=${params}");
145
+ require("@compiled/webpack-loader/css-loader!@compiled/webpack-loader/css-loader/${extract_plugin_1.styleSheetName}.css?style=${params}");
134
146
  ${output}`;
135
147
  });
136
148
  }
@@ -138,16 +150,15 @@ async function compiledLoader(code) {
138
150
  }
139
151
  catch (e) {
140
152
  // @ts-expect-error Not checking for error type
141
- const error = utils_1.createError('compiled-loader', 'Unhandled exception')(e.stack);
153
+ const error = (0, utils_1.createError)('compiled-loader', 'Unhandled exception')(e.stack);
142
154
  callback(error);
143
155
  }
144
156
  }
145
157
  exports.default = compiledLoader;
146
158
  function pitch() {
147
159
  const options = getLoaderOptions(this);
148
- // @ts-expect-error No definitions for this[pluginName]
149
- if (!hasErrored && options.extract && !this[extract_plugin_1.pluginName]) {
150
- 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`));
151
162
  // We only want to error once, if we didn't do this you'd get an error for every file found.
152
163
  hasErrored = true;
153
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,GACb,GAA0B,OAAO,OAAO,CAAC,UAAU,KAAK,WAAW;QAClE,CAAC,CAAC,kBAAkB;YAClB,yBAAU,CAAC,OAAO,CAAC;QACrB,CAAC,CAAC,kBAAkB;YAClB,OAAO,CAAC,UAAU,CAAC;gBACjB,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACV,IAAI,EAAE;wBACJ,IAAI,EAAE,SAAS;qBAChB;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;qBAChB;oBACD,WAAW,EAAE;wBACX,IAAI,EAAE,SAAS;qBAChB;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;qBACf;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF,CAAC,CAAC;IAEP,OAAO;QACL,IAAI;QACJ,OAAO;QACP,WAAW;QACX,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACY,KAAK,UAAU,cAAc,CAE1C,IAAY;;IAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAE9B,8CAA8C;IAC9C,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,EAAE;QAC1C,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KAC7B;IAED,IAAI;QACF,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,KAA0B,gBAAgB,CAAC,IAAI,CAAC,EAAhD,EAAE,OAAO,OAAuC,EAAlC,OAAO,cAArB,WAAuB,CAAyB,CAAC;QAEvD,oDAAoD;QACpD,MAAM,GAAG,GAAG,MAAM,iBAAU,CAAC,IAAI,EAAE;YACjC,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;YAC5B,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;QAEH,8FAA8F;QAC9F,wGAAwG;QACxG,kEAAkE;QAClE,MAAM,QAAQ,GAAG,kCAAe,CAAC,cAAc;YAC7C,mBAAmB;YACnB,UAAU,EAAE,IAAI,wCAAqB,CAAC,YAAE,EAAE,IAAI,CAAC,IAC5C,CAAC,MAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,GAC1C,OAAO;YACV,4DAA4D;YAC5D,sBAAsB,EAAE,IAAI,IAC5B,CAAC;QAEH,+FAA+F;QAC/F,MAAM,MAAM,GAAG,MAAM,4BAAqB,CAAC,GAAI,EAAE,IAAI,EAAE;YACrD,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI,CAAC,YAAY;YAC3B,OAAO,EAAE;gBACP,OAAO,CAAC,OAAO,IAAI;oBACjB,sCAAsC;oBACtC,EAAE,iBAAiB,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAAE;iBACzE;gBACD,OAAO,CAAC,IAAI,IAAI;oBACd,wBAAwB;oDAEnB,OAAO,KACV,eAAe,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,EAClE,QAAQ,EAAE;4BACR,6EAA6E;4BAC7E,WAAW,EAAE,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE;gCAChD,OAAO,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,cAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;4BAC7D,CAAC;yBACF;iBAEJ;aACF,CAAC,MAAM,CAAC,iBAAS,CAAC;SACpB,CAAC,CAAC;QAEH,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7B,IAAI,CAAC,aAAa,CAAC,gBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,GAAW,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,EAAE,CAAC;QAExC,IAAI,OAAO,CAAC,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE;YAC3C,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC7B,mGAAmG;gBACnG,2BAA2B;gBAC3B,uCAAuC;gBACvC,mEAAmE;gBACnE,MAAM,MAAM,GAAG,sBAAc,CAAC,IAAI,CAAC,CAAC;gBAEpC,6EAA6E;gBAC7E,kEAAkE;gBAClE,MAAM,GAAG;uGACsF,MAAM;IACzG,MAAM,EAAE,CAAC;YACP,CAAC,CAAC,CAAC;SACJ;QAED,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,mCAAI,SAAS,CAAC,CAAC;KAClD;IAAC,OAAO,CAAU,EAAE;QACnB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,mBAAW,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC7E,QAAQ,CAAC,KAAK,CAAC,CAAC;KACjB;AACH,CAAC;AA1FD,iCA0FC;AAED,SAAgB,KAAK;IACnB,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEvC,uDAAuD;IACvD,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,2BAAU,CAAC,EAAE;QACvD,IAAI,CAAC,SAAS,CACZ,mBAAW,CAAC,gBAAgB,CAAC,CAC3B,gLAAgL,CACjL,CACF,CAAC;QAEF,4FAA4F;QAC5F,UAAU,GAAG,IAAI,CAAC;KACnB;AACH,CAAC;AAdD,sBAcC"}
1
+ {"version":3,"file":"compiled-loader.js","sourceRoot":"","sources":["../src/compiled-loader.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,16 @@
1
1
  "use strict";
2
- var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, privateMap, value) {
3
- if (!privateMap.has(receiver)) {
4
- throw new TypeError("attempted to set private field on non-instance");
5
- }
6
- privateMap.set(receiver, value);
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, privateMap) {
10
- if (!privateMap.has(receiver)) {
11
- throw new TypeError("attempted to get private field on non-instance");
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 _options;
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");
@@ -48,7 +46,7 @@ const forceCSSIntoOneStyleSheet = (compiler) => {
48
46
  type: 'css/mini-extract',
49
47
  chunks: 'all',
50
48
  // We merge only CSS from Compiled.
51
- test: /css-loader\/extract\.css$/,
49
+ test: /css-loader\/compiled-css\.css$/,
52
50
  enforce: true,
53
51
  },
54
52
  };
@@ -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
- _options.set(this, void 0);
100
- __classPrivateFieldSet(this, _options, options);
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, _options));
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.getNormalModuleHook(compiler, compilation).tap(exports.pluginName, (loaderContext) => {
108
- // We add some information here to tell loaders that the plugin has been configured.
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
- _options = new WeakMap();
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":"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"}
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
- * Gets the normal module hook for webpack 4 & webpack 5.
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 getNormalModuleHook: (compiler: Compiler, compilation: CompilationType) => CompilationType['hooks']['normalModuleLoader'];
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.getNormalModuleHook = void 0;
3
+ exports.toURIComponent = exports.getSources = exports.getOptimizeAssetsHook = exports.getAssetSourceContents = exports.setPluginConfiguredOption = void 0;
4
4
  /**
5
- * Gets the normal module hook for webpack 4 & webpack 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 getNormalModuleHook = (compiler, compilation) => {
10
- const { NormalModule } =
11
- // Webpack 5 flow
12
- compiler.webpack ||
13
- // Webpack 4 flow
14
- require('webpack');
15
- const normalModuleHook = NormalModule && typeof NormalModule.getCompilationHooks !== 'undefined'
16
- ? // Webpack 5 flow
17
- NormalModule.getCompilationHooks(compilation).loader
18
- : // Webpack 4 flow
19
- compilation.hooks.normalModuleLoader;
20
- return normalModuleHook;
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.getNormalModuleHook = getNormalModuleHook;
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;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,CACjC,QAAkB,EAClB,WAA4B,EACoB,EAAE;IAClD,MAAM,EAAE,YAAY,EAAE;IACpB,iBAAiB;IACjB,QAAQ,CAAC,OAAO;QAChB,iBAAiB;QACjB,OAAO,CAAC,SAAS,CAAC,CAAC;IAErB,MAAM,gBAAgB,GACpB,YAAY,IAAI,OAAO,YAAY,CAAC,mBAAmB,KAAK,WAAW;QACrE,CAAC,CAAC,iBAAiB;YACjB,YAAY,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,MAAM;QACtD,CAAC,CAAC,iBAAiB;YACjB,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC;IAE3C,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CAAC,WAA2B,EAAU,EAAE;IAC5E,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC9B,OAAO,MAAM,CAAC;KACf;IAED,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC,CAAC;AAPW,QAAA,sBAAsB,0BAOjC;AAEF;;;;;GAKG;AACI,MAAM,qBAAqB,GAAG,CACnC,QAAkB,EAClB,WAA4B,EAC+B,EAAE;IAC7D,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE;IAC5B,iBAAiB;IACjB,QAAQ,CAAC,OAAO;QAChB,iBAAiB;QACjB,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,cAAc;IAClB,iBAAiB;IACjB,WAAW,CAAC,KAAK,CAAC,aAAa;QAC/B,iBAAiB;QACjB,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC;IAEnC,OAAO;QACL,GAAG,EAAE,CAAC,UAAkB,EAAE,QAAqD,EAAE,EAAE;YACjF,cAAc,CAAC,GAAG,CAChB,UAAU;gBACR,CAAC,CAAC,UAAU;gBACZ,CAAC,CAAC;oBACE,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,WAAW,CAAC,kCAAkC;iBACtD,EACL,QAAQ,CACT,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,qBAAqB,yBA6BhC;AAEF;;;GAGG;AACI,MAAM,UAAU,GAAG,CAAC,QAAkB,EAAkB,EAAE;IAC/D,MAAM,EAAE,OAAO,EAAE;IACf,iBAAiB;IACjB,QAAQ,CAAC,OAAO;QAChB,iBAAiB;QACjB,EAAE,CAAC;IAEL,OAAO;IACL,iBAAiB;IACjB,OAAO;QACP,iBAAiB;QACjB,OAAO,CAAC,iBAAiB,CAAC,CAC3B,CAAC;AACJ,CAAC,CAAC;AAbW,QAAA,UAAU,cAarB;AAEF;;;;;;GAMG;AACI,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE;IACrD,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEhE,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compiled/webpack-loader",
3
- "version": "0.7.5",
3
+ "version": "0.8.2",
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",
@@ -20,10 +20,11 @@
20
20
  "src"
21
21
  ],
22
22
  "dependencies": {
23
- "@babel/core": "^7.16.0",
24
- "@compiled/babel-plugin": "^0.11.3",
25
- "@compiled/babel-plugin-strip-runtime": "^0.11.2",
26
- "@compiled/css": "^0.8.0",
23
+ "@babel/core": "^7.17.5",
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",
27
28
  "@compiled/utils": "^0.6.14",
28
29
  "enhanced-resolve": "^5.8.3",
29
30
  "loader-utils": "^2.0.2",
@@ -32,9 +33,12 @@
32
33
  "devDependencies": {
33
34
  "babel-loader": "^8.2.3",
34
35
  "css-loader": "^5.2.7",
35
- "memfs": "^3.2.4",
36
- "mini-css-extract-plugin": "^1.5.0",
37
- "webpack": "^5.61.0"
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"
38
42
  },
39
43
  "peerDependencies": {
40
44
  "webpack": ">= 4.46.0"
@@ -7,7 +7,7 @@ import { CachedInputFileSystem, ResolverFactory } from 'enhanced-resolve';
7
7
  import { getOptions } from 'loader-utils';
8
8
  import type { LoaderContext } from 'webpack';
9
9
 
10
- import { pluginName } from './extract-plugin';
10
+ import { pluginName, styleSheetName } from './extract-plugin';
11
11
  import type { CompiledLoaderOptions } from './types';
12
12
  import { toURIComponent } from './utils';
13
13
 
@@ -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
 
@@ -145,7 +160,7 @@ export default async function compiledLoader(
145
160
  // We use require instead of import so it works with both ESM and CJS source.
146
161
  // If we used ESM it would blow up with CJS source, unfortunately.
147
162
  output = `
148
- require("@compiled/webpack-loader/css-loader!@compiled/webpack-loader/css-loader/extract.css?style=${params}");
163
+ require("@compiled/webpack-loader/css-loader!@compiled/webpack-loader/css-loader/${styleSheetName}.css?style=${params}");
149
164
  ${output}`;
150
165
  });
151
166
  }
@@ -160,9 +175,7 @@ export default async function compiledLoader(
160
175
 
161
176
  export function pitch(this: LoaderContext<CompiledLoaderOptions>): void {
162
177
  const options = getLoaderOptions(this);
163
-
164
- // @ts-expect-error No definitions for this[pluginName]
165
- if (!hasErrored && options.extract && !this[pluginName]) {
178
+ if (!hasErrored && options.extract && !options[pluginName]) {
166
179
  this.emitError(
167
180
  createError('webpack-loader')(
168
181
  `You forgot to add the 'CompiledExtractPlugin' plugin (i.e \`{ plugins: [new CompiledExtractPlugin()] }\`), please read https://compiledcssinjs.com/docs/css-extraction-webpack`
@@ -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';
@@ -42,7 +42,7 @@ const forceCSSIntoOneStyleSheet = (compiler: Compiler) => {
42
42
  type: 'css/mini-extract',
43
43
  chunks: 'all',
44
44
  // We merge only CSS from Compiled.
45
- test: /css-loader\/extract\.css$/,
45
+ test: /css-loader\/compiled-css\.css$/,
46
46
  enforce: true,
47
47
  },
48
48
  };
@@ -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
- getNormalModuleHook(compiler, compilation).tap(pluginName, (loaderContext) => {
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
- * Gets the normal module hook for webpack 4 & webpack 5.
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 getNormalModuleHook = (
9
- compiler: Compiler,
10
- compilation: CompilationType
11
- ): CompilationType['hooks']['normalModuleLoader'] => {
12
- const { NormalModule } =
13
- // Webpack 5 flow
14
- compiler.webpack ||
15
- // Webpack 4 flow
16
- require('webpack');
17
-
18
- const normalModuleHook =
19
- NormalModule && typeof NormalModule.getCompilationHooks !== 'undefined'
20
- ? // Webpack 5 flow
21
- NormalModule.getCompilationHooks(compilation).loader
22
- : // Webpack 4 flow
23
- compilation.hooks.normalModuleLoader;
24
-
25
- return normalModuleHook;
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
  /**