@nimbus-ds/webpack 1.4.0-rc.2 → 1.4.1-rc.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.
@@ -1,4 +1,6 @@
1
1
  import { Configuration } from "webpack";
2
- export declare const getConfiguration: (config?: Configuration) => Configuration;
2
+ export declare const getConfiguration: (config?: Configuration, extraParams?: {
3
+ isClientSide?: boolean;
4
+ }) => Configuration;
3
5
  declare const _default: Configuration;
4
6
  export default _default;
@@ -33,8 +33,12 @@ const webpack = {
33
33
  },
34
34
  externals: external_1.externalItems,
35
35
  };
36
- const getConfiguration = (config) => utils_1.isProduction
37
- ? (0, webpack_merge_1.default)(webpack, production_1.default, config || {})
36
+ const getConfiguration = (config, extraParams) => utils_1.isProduction
37
+ ? (0, webpack_merge_1.default)(webpack, production_1.default, config || {},
38
+ // For production, we need to inject the "use client" statement in the generated files if it's a client-side bundle
39
+ extraParams?.isClientSide
40
+ ? { plugins: [new plugins_1.UseClientInjectionPlugin()] }
41
+ : {})
38
42
  : (0, webpack_merge_1.default)(webpack, development_1.default, config || {});
39
43
  exports.getConfiguration = getConfiguration;
40
44
  exports.default = (0, exports.getConfiguration)();
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":";;;;AAAA;;GAEG;AACH,0EAAkC;AAGlC,oCAA0D;AAC1D,oCAAmD;AACnD,wCAAsD;AACtD,mCAAqC;AACrC,yCAA2C;AAE3C,sEAAsC;AACtC,wEAAwC;AAExC,MAAM,OAAO,GAAkB;IAC7B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,oBAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;IACjD,KAAK,EAAE;QACL,SAAS,EAAE,gBAAgB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,aAAa,EAAE,KAAK;KACrB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,IAAA,wBAAgB,EAAC,CAAC,sBAAc,EAAE,eAAO,CAAC,CAAC;KACnD;IACD,OAAO,EAAE,CAAC,IAAA,kCAAwB,GAAE,CAAC;IACrC,OAAO,EAAE;QACP,KAAK,EAAE,kBAAU;QACjB,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACnC;IACD,SAAS,EAAE,wBAAa;CACzB,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAAsB,EAAE,EAAE,CACzD,oBAAY;IACV,CAAC,CAAC,IAAA,uBAAK,EAAC,OAAO,EAAE,oBAAU,EAAE,MAAM,IAAI,EAAE,CAAC;IAC1C,CAAC,CAAC,IAAA,uBAAK,EAAC,OAAO,EAAE,qBAAW,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAHnC,QAAA,gBAAgB,oBAGmB;AAEhD,kBAAe,IAAA,wBAAgB,GAAE,CAAC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":";;;;AAAA;;GAEG;AACH,0EAAkC;AAGlC,oCAA0D;AAC1D,oCAAmD;AACnD,wCAAgF;AAChF,mCAAqC;AACrC,yCAA2C;AAE3C,sEAAsC;AACtC,wEAAwC;AAExC,MAAM,OAAO,GAAkB;IAC7B,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,oBAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;IACjD,KAAK,EAAE;QACL,SAAS,EAAE,gBAAgB;KAC5B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,WAAW;QACrB,aAAa,EAAE,KAAK;KACrB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,IAAA,wBAAgB,EAAC,CAAC,sBAAc,EAAE,eAAO,CAAC,CAAC;KACnD;IACD,OAAO,EAAE,CAAC,IAAA,kCAAwB,GAAE,CAAC;IACrC,OAAO,EAAE;QACP,KAAK,EAAE,kBAAU;QACjB,UAAU,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACnC;IACD,SAAS,EAAE,wBAAa;CACzB,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,MAAsB,EACtB,WAAwC,EACxC,EAAE,CACF,oBAAY;IACV,CAAC,CAAC,IAAA,uBAAK,EACH,OAAO,EACP,oBAAU,EACV,MAAM,IAAI,EAAE;IACZ,mHAAmH;IACnH,WAAW,EAAE,YAAY;QACvB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,kCAAwB,EAAE,CAAC,EAAE;QAC/C,CAAC,CAAC,EAAE,CACP;IACH,CAAC,CAAC,IAAA,uBAAK,EAAC,OAAO,EAAE,qBAAW,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAdnC,QAAA,gBAAgB,oBAcmB;AAEhD,kBAAe,IAAA,wBAAgB,GAAE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { UseClientInjectionPlugin } from "./plugins";
1
2
  export declare const rules: {
2
3
  cssLoaderExtractRule: {
3
4
  test: RegExp;
@@ -35,6 +36,7 @@ export declare const plugins: {
35
36
  dtsBundleGeneratorPlugin: (configuration?: {
36
37
  entries: string[];
37
38
  }) => import("webpack-shell-plugin-next").default;
39
+ UseClientInjectionPlugin: typeof UseClientInjectionPlugin;
38
40
  };
39
41
  export declare const configuration: {
40
42
  aliasItems: {
@@ -53,7 +55,9 @@ export declare const configuration: {
53
55
  development: import("webpack").Configuration;
54
56
  production: import("webpack").Configuration;
55
57
  base: import("webpack").Configuration;
56
- getConfiguration: (config?: import("webpack").Configuration | undefined) => import("webpack").Configuration;
58
+ getConfiguration: (config?: import("webpack").Configuration | undefined, extraParams?: {
59
+ isClientSide?: boolean | undefined;
60
+ } | undefined) => import("webpack").Configuration;
57
61
  };
58
62
  export declare const utils: {
59
63
  rootDir: string;
@@ -109,6 +113,7 @@ declare const webpack: {
109
113
  dtsBundleGeneratorPlugin: (configuration?: {
110
114
  entries: string[];
111
115
  }) => import("webpack-shell-plugin-next").default;
116
+ UseClientInjectionPlugin: typeof UseClientInjectionPlugin;
112
117
  };
113
118
  configuration: {
114
119
  aliasItems: {
@@ -127,7 +132,9 @@ declare const webpack: {
127
132
  development: import("webpack").Configuration;
128
133
  production: import("webpack").Configuration;
129
134
  base: import("webpack").Configuration;
130
- getConfiguration: (config?: import("webpack").Configuration | undefined) => import("webpack").Configuration;
135
+ getConfiguration: (config?: import("webpack").Configuration | undefined, extraParams?: {
136
+ isClientSide?: boolean | undefined;
137
+ } | undefined) => import("webpack").Configuration;
131
138
  };
132
139
  utils: {
133
140
  rootDir: string;
package/dist/index.js CHANGED
@@ -18,6 +18,7 @@ exports.plugins = {
18
18
  cssHashRemoverPlugin: plugins_1.cssHashRemoverPlugin,
19
19
  cssMinimizerPlugin: plugins_1.cssMinimizerPlugin,
20
20
  dtsBundleGeneratorPlugin: plugins_1.dtsBundleGeneratorPlugin,
21
+ UseClientInjectionPlugin: plugins_1.UseClientInjectionPlugin,
21
22
  };
22
23
  exports.configuration = {
23
24
  aliasItems: config_1.aliasItems,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAOkB;AAClB,uCAMmB;AACnB,mCAMiB;AACjB,mCAKiB;AAEJ,QAAA,KAAK,GAAG;IACnB,oBAAoB,EAApB,4BAAoB;IACpB,kBAAkB,EAAlB,0BAAkB;IAClB,kBAAkB,EAAlB,0BAAkB;IAClB,cAAc,EAAd,sBAAc;IACd,OAAO,EAAP,eAAO;CACR,CAAC;AACW,QAAA,OAAO,GAAG;IACrB,oBAAoB,EAApB,8BAAoB;IACpB,oBAAoB,EAApB,8BAAoB;IACpB,oBAAoB,EAApB,8BAAoB;IACpB,kBAAkB,EAAlB,4BAAkB;IAClB,wBAAwB,EAAxB,kCAAwB;CACzB,CAAC;AACW,QAAA,aAAa,GAAG;IAC3B,UAAU,EAAV,mBAAU;IACV,YAAY,EAAZ,qBAAY;IACZ,WAAW,EAAX,oBAAW;IACX,UAAU,EAAV,mBAAU;IACV,IAAI,EAAJ,aAAI;IACJ,gBAAgB,EAAhB,yBAAgB;CACjB,CAAC;AAEW,QAAA,KAAK,GAAG,EAAE,OAAO,EAAP,eAAO,EAAE,gBAAgB,EAAhB,wBAAgB,EAAE,YAAY,EAAZ,oBAAY,EAAE,aAAa,EAAb,qBAAa,EAAE,CAAC;AAEhF,MAAM,OAAO,GAAG;IACd,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,aAAa,EAAb,qBAAa;IACb,KAAK,EAAL,aAAK;CACN,CAAC;AAEF,kBAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAOkB;AAClB,uCAOmB;AACnB,mCAMiB;AACjB,mCAKiB;AAEJ,QAAA,KAAK,GAAG;IACnB,oBAAoB,EAApB,4BAAoB;IACpB,kBAAkB,EAAlB,0BAAkB;IAClB,kBAAkB,EAAlB,0BAAkB;IAClB,cAAc,EAAd,sBAAc;IACd,OAAO,EAAP,eAAO;CACR,CAAC;AACW,QAAA,OAAO,GAAG;IACrB,oBAAoB,EAApB,8BAAoB;IACpB,oBAAoB,EAApB,8BAAoB;IACpB,oBAAoB,EAApB,8BAAoB;IACpB,kBAAkB,EAAlB,4BAAkB;IAClB,wBAAwB,EAAxB,kCAAwB;IACxB,wBAAwB,EAAxB,kCAAwB;CACzB,CAAC;AACW,QAAA,aAAa,GAAG;IAC3B,UAAU,EAAV,mBAAU;IACV,YAAY,EAAZ,qBAAY;IACZ,WAAW,EAAX,oBAAW;IACX,UAAU,EAAV,mBAAU;IACV,IAAI,EAAJ,aAAI;IACJ,gBAAgB,EAAhB,yBAAgB;CACjB,CAAC;AAEW,QAAA,KAAK,GAAG,EAAE,OAAO,EAAP,eAAO,EAAE,gBAAgB,EAAhB,wBAAgB,EAAE,YAAY,EAAZ,oBAAY,EAAE,aAAa,EAAb,qBAAa,EAAE,CAAC;AAEhF,MAAM,OAAO,GAAG;IACd,KAAK,EAAL,aAAK;IACL,OAAO,EAAP,eAAO;IACP,aAAa,EAAb,qBAAa;IACb,KAAK,EAAL,aAAK;CACN,CAAC;AAEF,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Compiler } from "webpack";
2
+ declare class UseClientInjectionPlugin {
3
+ apply(compiler: Compiler): void;
4
+ }
5
+ export { UseClientInjectionPlugin };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseClientInjectionPlugin = void 0;
4
+ const webpack_sources_1 = require("webpack-sources");
5
+ class UseClientInjectionPlugin {
6
+ apply(compiler) {
7
+ // Use the 'emit' hook (works in both Webpack 4 and 5; Webpack 5 offers processAssets too)
8
+ compiler.hooks.emit.tapAsync("UseClientInjectionPlugin", (compilation, callback) => {
9
+ Object.keys(compilation.assets).forEach((assetName) => {
10
+ console.warn("USE CLIENT INJECTION PLUGIN" + assetName);
11
+ if (assetName.endsWith(".js")) {
12
+ const asset = compilation.assets[assetName];
13
+ let source = asset.source().toString();
14
+ // If the file doesn't already start with "use client", inject it.
15
+ if (!source.startsWith(`"use client";`) &&
16
+ !source.startsWith(`'use client';`)) {
17
+ source = `"use client";\n${source}`;
18
+ // Use RawSource to create a proper asset source.
19
+ compilation.assets[assetName] = new webpack_sources_1.RawSource(source);
20
+ console.log(`Injected "use client" in: ${assetName}`);
21
+ }
22
+ }
23
+ });
24
+ callback();
25
+ });
26
+ }
27
+ }
28
+ exports.UseClientInjectionPlugin = UseClientInjectionPlugin;
29
+ //# sourceMappingURL=UseClientInjectionPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UseClientInjectionPlugin.js","sourceRoot":"","sources":["../../src/plugins/UseClientInjectionPlugin.ts"],"names":[],"mappings":";;;AAEA,qDAA4C;AAE5C,MAAM,wBAAwB;IAC5B,KAAK,CAAC,QAAkB;QACtB,0FAA0F;QAC1F,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAC1B,0BAA0B,EAC1B,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE;YACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBACpD,OAAO,CAAC,IAAI,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAAC;gBACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;oBAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC5C,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;oBAEvC,kEAAkE;oBAClE,IACE,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;wBACnC,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,EACnC;wBACA,MAAM,GAAG,kBAAkB,MAAM,EAAE,CAAC;wBACpC,iDAAiD;wBACjD,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI,2BAAS,CAAC,MAAM,CAAQ,CAAC;wBAC7D,OAAO,CAAC,GAAG,CAAC,6BAA6B,SAAS,EAAE,CAAC,CAAC;qBACvD;iBACF;YACH,CAAC,CAAC,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AAEQ,4DAAwB"}
@@ -4,3 +4,4 @@ export { cssHashRemoverPlugin } from "./cssHashRemoverPlugin";
4
4
  export { cssMinimizerPlugin } from "./cssMinimizerPlugin";
5
5
  export { terserJSPlugin } from "./terserJSPlugin";
6
6
  export { dtsBundleGeneratorPlugin } from "./dtsBundleGeneratorPlugin";
7
+ export { UseClientInjectionPlugin } from "./UseClientInjectionPlugin";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dtsBundleGeneratorPlugin = exports.terserJSPlugin = exports.cssMinimizerPlugin = exports.cssHashRemoverPlugin = exports.vanillaExtractPlugin = exports.miniCssExtractPlugin = void 0;
3
+ exports.UseClientInjectionPlugin = exports.dtsBundleGeneratorPlugin = exports.terserJSPlugin = exports.cssMinimizerPlugin = exports.cssHashRemoverPlugin = exports.vanillaExtractPlugin = exports.miniCssExtractPlugin = void 0;
4
4
  var miniCssExtract_1 = require("./miniCssExtract");
5
5
  Object.defineProperty(exports, "miniCssExtractPlugin", { enumerable: true, get: function () { return miniCssExtract_1.miniCssExtractPlugin; } });
6
6
  var vanillaExtractPlugin_1 = require("./vanillaExtractPlugin");
@@ -13,4 +13,6 @@ var terserJSPlugin_1 = require("./terserJSPlugin");
13
13
  Object.defineProperty(exports, "terserJSPlugin", { enumerable: true, get: function () { return terserJSPlugin_1.terserJSPlugin; } });
14
14
  var dtsBundleGeneratorPlugin_1 = require("./dtsBundleGeneratorPlugin");
15
15
  Object.defineProperty(exports, "dtsBundleGeneratorPlugin", { enumerable: true, get: function () { return dtsBundleGeneratorPlugin_1.dtsBundleGeneratorPlugin; } });
16
+ var UseClientInjectionPlugin_1 = require("./UseClientInjectionPlugin");
17
+ Object.defineProperty(exports, "UseClientInjectionPlugin", { enumerable: true, get: function () { return UseClientInjectionPlugin_1.UseClientInjectionPlugin; } });
16
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";;;AAAA,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,2DAA0D;AAAjD,wHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nimbus-ds/webpack",
3
- "version": "1.4.0-rc.2",
3
+ "version": "1.4.1-rc.1",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "files": [
@@ -24,6 +24,7 @@
24
24
  "devDependencies": {
25
25
  "@types/dashify": "^1.0.1",
26
26
  "@types/webpack": "^5.28.0",
27
+ "@types/webpack-sources": "^3",
27
28
  "@vanilla-extract/webpack-plugin": "^2.3.1",
28
29
  "css-minimizer-webpack-plugin": "^4.2.2",
29
30
  "dashify": "^2.0.0",
@@ -32,7 +33,8 @@
32
33
  "typescript": "^4.9.3",
33
34
  "webpack": "^5.76.0",
34
35
  "webpack-merge": "^5.8.0",
35
- "webpack-shell-plugin-next": "^2.3.1"
36
+ "webpack-shell-plugin-next": "^2.3.1",
37
+ "webpack-sources": "^3.2.3"
36
38
  },
37
- "stableVersion": "1.3.1"
39
+ "stableVersion": "1.4.0"
38
40
  }