@codepress/codepress-engine 0.6.0 → 0.7.0
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/README.md +42 -16
- package/dist/webpack-plugin.d.ts +73 -0
- package/dist/webpack-plugin.js +172 -0
- package/dist/webpack-plugin.js.map +1 -0
- package/package.json +7 -1
- package/swc/codepress_engine.v0_82_87.wasm +0 -0
- package/swc/codepress_engine.v26.wasm +0 -0
- package/swc/codepress_engine.v42.wasm +0 -0
package/README.md
CHANGED
|
@@ -20,24 +20,48 @@ TypeScript-powered instrumentation for the CodePress visual editor. The package
|
|
|
20
20
|
npm install @codepress/codepress-engine
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
### Next.js usage
|
|
24
24
|
|
|
25
25
|
```js
|
|
26
|
-
// next.config.
|
|
27
|
-
|
|
26
|
+
// next.config.js
|
|
27
|
+
const createSWCPlugin = require("@codepress/codepress-engine/swc");
|
|
28
|
+
const CodePressWebpackPlugin = require("@codepress/codepress-engine/webpack-plugin");
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
module.exports = {
|
|
31
|
+
// SWC plugin for code transformation (existing)
|
|
30
32
|
experimental: {
|
|
31
|
-
swcPlugins: [
|
|
32
|
-
// Auto-detects repo/branch; no options required
|
|
33
|
-
createSWCPlugin(),
|
|
34
|
-
],
|
|
33
|
+
swcPlugins: [createSWCPlugin()],
|
|
35
34
|
},
|
|
36
|
-
};
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
// Webpack plugin for production module mapping (new)
|
|
37
|
+
webpack: (config, { isServer, dev }) => {
|
|
38
|
+
config.plugins.push(new CodePressWebpackPlugin({ isServer, dev }));
|
|
39
|
+
return config;
|
|
40
|
+
},
|
|
41
|
+
};
|
|
39
42
|
```
|
|
40
43
|
|
|
44
|
+
### How it works
|
|
45
|
+
|
|
46
|
+
The plugin:
|
|
47
|
+
|
|
48
|
+
1. Automatically skips server builds (`isServer: true`) and dev builds (`dev: true`)
|
|
49
|
+
2. Runs during webpack compilation for production client builds
|
|
50
|
+
3. Builds a mapping: `{ 33: "react", 92: "react-dom", ... }`
|
|
51
|
+
4. Injects `window.__CP_MODULE_MAP__` into the main bundle
|
|
52
|
+
5. Enables O(1) module resolution instead of scanning all modules
|
|
53
|
+
|
|
54
|
+
### Bundle size impact
|
|
55
|
+
|
|
56
|
+
- Typical app (1000 modules): +3-4KB gzipped
|
|
57
|
+
- Large app (3000 modules): +8-10KB gzipped
|
|
58
|
+
|
|
59
|
+
### When to use
|
|
60
|
+
|
|
61
|
+
- **Required**: Production builds where you need HMR to work
|
|
62
|
+
- **Optional**: Development (already has named module IDs)
|
|
63
|
+
- **Alternative**: Set `moduleIds: 'named'` in webpack config (larger bundle, exposes file structure)
|
|
64
|
+
|
|
41
65
|
Note: When using ESM (`next.config.mjs`), prefer the named import above due to CJS interop. For CommonJS configs you can use:
|
|
42
66
|
|
|
43
67
|
```js
|
|
@@ -76,12 +100,13 @@ Optional options for the Babel plugin (all are optional; omit to use auto-detect
|
|
|
76
100
|
|
|
77
101
|
Entry points exposed by the package:
|
|
78
102
|
|
|
79
|
-
| Export
|
|
80
|
-
|
|
|
81
|
-
| `@codepress/codepress-engine/babel`
|
|
82
|
-
| `@codepress/codepress-engine/swc`
|
|
83
|
-
| `@codepress/codepress-engine/
|
|
84
|
-
| `@codepress/codepress-engine/
|
|
103
|
+
| Export | Description |
|
|
104
|
+
| -------------------------------------------- | ---------------------------------------- |
|
|
105
|
+
| `@codepress/codepress-engine/babel` | Compiled Babel plugin (CommonJS) |
|
|
106
|
+
| `@codepress/codepress-engine/swc` | SWC plugin factory & WASM helpers |
|
|
107
|
+
| `@codepress/codepress-engine/webpack-plugin` | Webpack plugin for production module map |
|
|
108
|
+
| `@codepress/codepress-engine/server` | Fastify development server factory |
|
|
109
|
+
| `@codepress/codepress-engine/cli` | CLI used by the `codepress` binary |
|
|
85
110
|
|
|
86
111
|
---
|
|
87
112
|
|
|
@@ -184,6 +209,7 @@ The helper automatically selects the correct WASM binary based on detected Next.
|
|
|
184
209
|
## Additional references
|
|
185
210
|
|
|
186
211
|
- `INSTALL.md` – linking the package locally & publishing guidance
|
|
212
|
+
- `MODULE_MAP_INTEGRATION.md` – detailed guide for webpack plugin integration and troubleshooting
|
|
187
213
|
- `scripts/build-swc.mjs` – rebuild the WASM binaries (requires Rust toolchain)
|
|
188
214
|
- `tests/` – examples of mocking git, fetch, and file IO when validating the plugin
|
|
189
215
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Webpack plugin that injects a module ID → name mapping for CodePress HMR
|
|
3
|
+
*
|
|
4
|
+
* This plugin runs during webpack compilation and builds a mapping from numeric
|
|
5
|
+
* module IDs (used in production) to human-readable module names. The mapping
|
|
6
|
+
* is injected into the main bundle as window.__CP_MODULE_MAP__.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // next.config.js
|
|
10
|
+
* const CodePressWebpackPlugin = require('@codepress/codepress-engine/webpack-plugin');
|
|
11
|
+
*
|
|
12
|
+
* module.exports = {
|
|
13
|
+
* webpack: (config, { isServer, dev }) => {
|
|
14
|
+
* config.plugins.push(new CodePressWebpackPlugin({ isServer, dev }));
|
|
15
|
+
* return config;
|
|
16
|
+
* }
|
|
17
|
+
* };
|
|
18
|
+
*/
|
|
19
|
+
import type { Compiler } from 'webpack';
|
|
20
|
+
export interface CodePressWebpackPluginOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Whether this is a server-side build (Next.js specific)
|
|
23
|
+
* Plugin will skip if true
|
|
24
|
+
*/
|
|
25
|
+
isServer?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Whether this is a development build
|
|
28
|
+
* Plugin will skip if true (dev already has named IDs)
|
|
29
|
+
*/
|
|
30
|
+
dev?: boolean;
|
|
31
|
+
}
|
|
32
|
+
export default class CodePressWebpackPlugin {
|
|
33
|
+
/**
|
|
34
|
+
* The name of the plugin
|
|
35
|
+
*/
|
|
36
|
+
readonly name = "CodePressWebpackPlugin";
|
|
37
|
+
private readonly options;
|
|
38
|
+
/**
|
|
39
|
+
* @param options - Plugin options for conditional execution
|
|
40
|
+
*/
|
|
41
|
+
constructor(options?: CodePressWebpackPluginOptions);
|
|
42
|
+
/**
|
|
43
|
+
* Apply the plugin to the webpack compiler
|
|
44
|
+
*/
|
|
45
|
+
apply(compiler: Compiler): void;
|
|
46
|
+
/**
|
|
47
|
+
* Process compilation assets and inject module map
|
|
48
|
+
*/
|
|
49
|
+
private processAssets;
|
|
50
|
+
/**
|
|
51
|
+
* Build a mapping of module IDs to normalized paths
|
|
52
|
+
*/
|
|
53
|
+
private buildModuleMap;
|
|
54
|
+
/**
|
|
55
|
+
* Normalize a module path to a human-readable format
|
|
56
|
+
*
|
|
57
|
+
* @param resourcePath - The absolute path to the module
|
|
58
|
+
* @param context - The webpack context (project root)
|
|
59
|
+
* @returns Normalized path or null if path should be excluded
|
|
60
|
+
*/
|
|
61
|
+
private normalizePath;
|
|
62
|
+
/**
|
|
63
|
+
* Generate the inline script that injects the module map
|
|
64
|
+
*/
|
|
65
|
+
private generateMapScript;
|
|
66
|
+
/**
|
|
67
|
+
* Find the main bundle and inject the map script
|
|
68
|
+
*
|
|
69
|
+
* @returns true if injection succeeded, false otherwise
|
|
70
|
+
*/
|
|
71
|
+
private injectIntoMainBundle;
|
|
72
|
+
}
|
|
73
|
+
export { CodePressWebpackPlugin };
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Webpack plugin that injects a module ID → name mapping for CodePress HMR
|
|
4
|
+
*
|
|
5
|
+
* This plugin runs during webpack compilation and builds a mapping from numeric
|
|
6
|
+
* module IDs (used in production) to human-readable module names. The mapping
|
|
7
|
+
* is injected into the main bundle as window.__CP_MODULE_MAP__.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // next.config.js
|
|
11
|
+
* const CodePressWebpackPlugin = require('@codepress/codepress-engine/webpack-plugin');
|
|
12
|
+
*
|
|
13
|
+
* module.exports = {
|
|
14
|
+
* webpack: (config, { isServer, dev }) => {
|
|
15
|
+
* config.plugins.push(new CodePressWebpackPlugin({ isServer, dev }));
|
|
16
|
+
* return config;
|
|
17
|
+
* }
|
|
18
|
+
* };
|
|
19
|
+
*/
|
|
20
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
+
exports.CodePressWebpackPlugin = void 0;
|
|
22
|
+
class CodePressWebpackPlugin {
|
|
23
|
+
/**
|
|
24
|
+
* @param options - Plugin options for conditional execution
|
|
25
|
+
*/
|
|
26
|
+
constructor(options = {}) {
|
|
27
|
+
/**
|
|
28
|
+
* The name of the plugin
|
|
29
|
+
*/
|
|
30
|
+
this.name = 'CodePressWebpackPlugin';
|
|
31
|
+
this.options = options;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Apply the plugin to the webpack compiler
|
|
35
|
+
*/
|
|
36
|
+
apply(compiler) {
|
|
37
|
+
// Skip if this is a server build or dev build
|
|
38
|
+
if (this.options.isServer) {
|
|
39
|
+
console.log('[CodePress] Skipping module map (server-side build)');
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (this.options.dev) {
|
|
43
|
+
console.log('[CodePress] Skipping module map (dev build has named IDs)');
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
compiler.hooks.thisCompilation.tap(this.name, (compilation) => {
|
|
47
|
+
compilation.hooks.processAssets.tap({
|
|
48
|
+
name: this.name,
|
|
49
|
+
// Run during the ADDITIONS stage to ensure all assets are present
|
|
50
|
+
stage: compilation.constructor.PROCESS_ASSETS_STAGE_ADDITIONS,
|
|
51
|
+
}, () => {
|
|
52
|
+
this.processAssets(compilation, compiler);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Process compilation assets and inject module map
|
|
58
|
+
*/
|
|
59
|
+
processAssets(compilation, compiler) {
|
|
60
|
+
const moduleMap = this.buildModuleMap(compilation, compiler);
|
|
61
|
+
if (Object.keys(moduleMap).length === 0) {
|
|
62
|
+
console.warn('[CodePress] No modules found to map');
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
console.log('[CodePress] Built module map with', Object.keys(moduleMap).length, 'entries');
|
|
66
|
+
const mapScript = this.generateMapScript(moduleMap);
|
|
67
|
+
const injected = this.injectIntoMainBundle(compilation, mapScript);
|
|
68
|
+
if (!injected) {
|
|
69
|
+
console.warn('[CodePress] Could not find main bundle to inject module map');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build a mapping of module IDs to normalized paths
|
|
74
|
+
*/
|
|
75
|
+
buildModuleMap(compilation, compiler) {
|
|
76
|
+
const moduleMap = {};
|
|
77
|
+
compilation.modules.forEach((module) => {
|
|
78
|
+
if (!module.id) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Type assertion: webpack modules can have a resource property
|
|
82
|
+
const moduleWithResource = module;
|
|
83
|
+
if (!moduleWithResource.resource) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
const id = String(module.id);
|
|
87
|
+
const normalizedPath = this.normalizePath(moduleWithResource.resource, compiler.context);
|
|
88
|
+
if (normalizedPath) {
|
|
89
|
+
moduleMap[id] = normalizedPath;
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return moduleMap;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Normalize a module path to a human-readable format
|
|
96
|
+
*
|
|
97
|
+
* @param resourcePath - The absolute path to the module
|
|
98
|
+
* @param context - The webpack context (project root)
|
|
99
|
+
* @returns Normalized path or null if path should be excluded
|
|
100
|
+
*/
|
|
101
|
+
normalizePath(resourcePath, context) {
|
|
102
|
+
let path = resourcePath;
|
|
103
|
+
// Handle node_modules
|
|
104
|
+
if (path.includes('node_modules')) {
|
|
105
|
+
// Extract package name (handles scoped packages like @foo/bar)
|
|
106
|
+
const packageMatch = path.match(/node_modules\/(@[^/]+\/[^/]+|[^/]+)/);
|
|
107
|
+
if (!packageMatch) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
const packageName = packageMatch[1];
|
|
111
|
+
// Extract subpath within the package (e.g., react/jsx-runtime)
|
|
112
|
+
const subPathMatch = path.match(/node_modules\/[^/]+(?:\/[^/]+)?\/(.+)/);
|
|
113
|
+
if (subPathMatch && subPathMatch[1]) {
|
|
114
|
+
const subPath = subPathMatch[1]
|
|
115
|
+
.replace(/\\/g, '/')
|
|
116
|
+
.replace(/\.(jsx?|tsx?|mjs|cjs)$/, '');
|
|
117
|
+
return `${packageName}/${subPath}`;
|
|
118
|
+
}
|
|
119
|
+
return packageName;
|
|
120
|
+
}
|
|
121
|
+
// Handle app code - make relative to context
|
|
122
|
+
path = path
|
|
123
|
+
.replace(context, '.')
|
|
124
|
+
.replace(/\\/g, '/') // Normalize Windows paths
|
|
125
|
+
.replace(/\.(jsx?|tsx?|mjs|cjs)$/, ''); // Remove extension
|
|
126
|
+
return path;
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Generate the inline script that injects the module map
|
|
130
|
+
*/
|
|
131
|
+
generateMapScript(moduleMap) {
|
|
132
|
+
const json = JSON.stringify(moduleMap);
|
|
133
|
+
return `(function(){if(typeof window!=="undefined"){window.__CP_MODULE_MAP__=${json};console.log("[CodePress] Loaded module map with",Object.keys(window.__CP_MODULE_MAP__).length,"entries");}})();`;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Find the main bundle and inject the map script
|
|
137
|
+
*
|
|
138
|
+
* @returns true if injection succeeded, false otherwise
|
|
139
|
+
*/
|
|
140
|
+
injectIntoMainBundle(compilation, mapScript) {
|
|
141
|
+
// Find the main client bundle
|
|
142
|
+
// Matches patterns like: main-abc123.js, static/chunks/main-abc123.js
|
|
143
|
+
const mainAsset = compilation
|
|
144
|
+
.getAssets()
|
|
145
|
+
.find((asset) => asset.name.match(/^(static\/chunks\/main-|main-)[a-f0-9]+\.js$/));
|
|
146
|
+
if (!mainAsset) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
const { name } = mainAsset;
|
|
150
|
+
const source = mainAsset.source;
|
|
151
|
+
const originalSource = source.source();
|
|
152
|
+
const originalSourceStr = typeof originalSource === 'string'
|
|
153
|
+
? originalSource
|
|
154
|
+
: Buffer.isBuffer(originalSource)
|
|
155
|
+
? originalSource.toString('utf-8')
|
|
156
|
+
: String(originalSource);
|
|
157
|
+
// Update the asset with the prepended map script
|
|
158
|
+
compilation.updateAsset(name, {
|
|
159
|
+
source: () => mapScript + '\n' + originalSourceStr,
|
|
160
|
+
size: () => mapScript.length + originalSourceStr.length,
|
|
161
|
+
});
|
|
162
|
+
console.log('[CodePress] Injected module map into', name);
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
exports.default = CodePressWebpackPlugin;
|
|
167
|
+
exports.CodePressWebpackPlugin = CodePressWebpackPlugin;
|
|
168
|
+
// CommonJS compatibility
|
|
169
|
+
module.exports = CodePressWebpackPlugin;
|
|
170
|
+
module.exports.CodePressWebpackPlugin = CodePressWebpackPlugin;
|
|
171
|
+
module.exports.default = CodePressWebpackPlugin;
|
|
172
|
+
//# sourceMappingURL=webpack-plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webpack-plugin.js","sourceRoot":"","sources":["../src/webpack-plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codepress/codepress-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"packageManager": "pnpm@10.22.0",
|
|
5
5
|
"description": "CodePress engine - Babel and SWC plug-ins",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -36,6 +36,11 @@
|
|
|
36
36
|
"require": "./dist/esbuild-plugin.js",
|
|
37
37
|
"default": "./dist/esbuild-plugin.js"
|
|
38
38
|
},
|
|
39
|
+
"./webpack-plugin": {
|
|
40
|
+
"types": "./dist/webpack-plugin.d.ts",
|
|
41
|
+
"require": "./dist/webpack-plugin.js",
|
|
42
|
+
"default": "./dist/webpack-plugin.js"
|
|
43
|
+
},
|
|
39
44
|
"./swc/wasm": "./swc/codepress_engine.v42.wasm",
|
|
40
45
|
"./swc/wasm-v42": "./swc/codepress_engine.v42.wasm",
|
|
41
46
|
"./swc/wasm-v26": "./swc/codepress_engine.v26.wasm",
|
|
@@ -101,6 +106,7 @@
|
|
|
101
106
|
"@types/jest": "^30.0.0",
|
|
102
107
|
"@types/node": "^22.9.0",
|
|
103
108
|
"@types/node-fetch": "^2.6.11",
|
|
109
|
+
"@types/webpack": "^5.28.5",
|
|
104
110
|
"esbuild": "^0.24.0",
|
|
105
111
|
"babel-jest": "^30.2.0",
|
|
106
112
|
"eslint": "^9.37.0",
|
|
Binary file
|
|
Binary file
|
|
Binary file
|