@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.
- package/dist/config/base.d.ts +3 -1
- package/dist/config/base.js +6 -2
- package/dist/config/base.js.map +1 -1
- package/dist/index.d.ts +9 -2
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/plugins/UseClientInjectionPlugin.d.ts +5 -0
- package/dist/plugins/UseClientInjectionPlugin.js +29 -0
- package/dist/plugins/UseClientInjectionPlugin.js.map +1 -0
- package/dist/plugins/index.d.ts +1 -0
- package/dist/plugins/index.js +3 -1
- package/dist/plugins/index.js.map +1 -1
- package/package.json +5 -3
package/dist/config/base.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Configuration } from "webpack";
|
|
2
|
-
export declare const getConfiguration: (config?: 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;
|
package/dist/config/base.js
CHANGED
|
@@ -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)();
|
package/dist/config/base.js.map
CHANGED
|
@@ -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,
|
|
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
|
|
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
|
|
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,
|
|
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,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"}
|
package/dist/plugins/index.d.ts
CHANGED
|
@@ -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";
|
package/dist/plugins/index.js
CHANGED
|
@@ -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.
|
|
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.
|
|
39
|
+
"stableVersion": "1.4.0"
|
|
38
40
|
}
|