@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.
Files changed (36) hide show
  1. package/dist/__fixtures__/binding-not-found.d.ts +1 -1
  2. package/dist/__fixtures__/binding-not-found.js +2 -2
  3. package/dist/__fixtures__/binding-not-found.js.map +1 -1
  4. package/dist/__fixtures__/common/css-prop.js +1 -1
  5. package/dist/__fixtures__/common/css-prop.js.map +1 -1
  6. package/dist/__fixtures__/compiled-error.js +2 -2
  7. package/dist/__fixtures__/compiled-error.js.map +1 -1
  8. package/dist/__fixtures__/important-styles.js +1 -1
  9. package/dist/__fixtures__/important-styles.js.map +1 -1
  10. package/dist/__fixtures__/lib/loader-alias.js +1 -1
  11. package/dist/__fixtures__/lib/loader-alias.js.map +1 -1
  12. package/dist/__fixtures__/lib/webpack-alias.js +1 -1
  13. package/dist/__fixtures__/lib/webpack-alias.js.map +1 -1
  14. package/dist/__fixtures__/loader-alias.js +1 -1
  15. package/dist/__fixtures__/loader-alias.js.map +1 -1
  16. package/dist/__fixtures__/local-styles.js +3 -3
  17. package/dist/__fixtures__/local-styles.js.map +1 -1
  18. package/dist/__fixtures__/relative-styles.d.ts +1 -1
  19. package/dist/__fixtures__/relative-styles.js +4 -4
  20. package/dist/__fixtures__/relative-styles.js.map +1 -1
  21. package/dist/__fixtures__/webpack-alias.js +1 -1
  22. package/dist/__fixtures__/webpack-alias.js.map +1 -1
  23. package/dist/compiled-loader.js +23 -11
  24. package/dist/compiled-loader.js.map +1 -1
  25. package/dist/extract-plugin.js +21 -26
  26. package/dist/extract-plugin.js.map +1 -1
  27. package/dist/types.d.ts +14 -0
  28. package/dist/utils.d.ts +6 -3
  29. package/dist/utils.js +37 -15
  30. package/dist/utils.js.map +1 -1
  31. package/package.json +15 -12
  32. package/src/compiled-loader.tsx +18 -4
  33. package/src/extract-plugin.tsx +3 -6
  34. package/src/types.tsx +18 -0
  35. package/src/utils.tsx +38 -20
  36. 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("../../../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,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
- const error = utils_1.createError('compiled-loader', 'Unhandled exception')(e.stack);
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
- // @ts-expect-error No definitions for this[pluginName]
148
- if (!hasErrored && options.extract && !this[extract_plugin_1.pluginName]) {
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":"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"}
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");
@@ -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":";;;AAEA;;;;;;;GAOG;AACI,MAAM,yBAAyB,GAAG,CACvC,KAA8B,EAC9B,UAAkB,EACZ,EAAE;IACR,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,MAAM,GAAG,GAAI,IAAoB,CAAC,GAAG,CAAC;QACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACnC,SAAS;SACV;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;gBACf,SAAS;aACV;YACD,KAAK,MAAM,SAAS,IAAI,GAAG,EAAE;gBAC3B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,MAAM,KAAK,0BAA0B,EAAE;oBACpF,SAAS;iBACV;gBACD,MAAM,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;gBAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC/D,SAAS;iBACV;gBACD,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5B;SACF;aAAM;YACL,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,0BAA0B,EAAE;gBACxE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC;gBACxB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;oBAC/D,SAAS;iBACV;gBACD,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;aAC5B;SACF;KACF;AACH,CAAC,CAAC;AAjCW,QAAA,yBAAyB,6BAiCpC;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"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@compiled/webpack-loader",
3
- "version": "0.7.3",
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.16.0",
25
- "@compiled/babel-plugin": "^0.11.1",
26
- "@compiled/babel-plugin-strip-runtime": "^0.11.1",
27
- "@compiled/css": "^0.7.1",
28
- "@compiled/utils": "^0.6.12",
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.2.4",
37
- "mini-css-extract-plugin": "^1.5.0",
38
- "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"
39
42
  },
40
43
  "peerDependencies": {
41
44
  "webpack": ">= 4.46.0"
@@ -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`
@@ -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
- 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
  /**
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