@10up/build 1.0.0-alpha.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/README.md +508 -0
- package/bin/10up-build.js +11 -0
- package/config/postcss.config.js +36 -0
- package/dist/build.d.ts +11 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +315 -0
- package/dist/build.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +122 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +103 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +230 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/block-json.d.ts +18 -0
- package/dist/plugins/block-json.d.ts.map +1 -0
- package/dist/plugins/block-json.js +172 -0
- package/dist/plugins/block-json.js.map +1 -0
- package/dist/plugins/copy-assets.d.ts +15 -0
- package/dist/plugins/copy-assets.d.ts.map +1 -0
- package/dist/plugins/copy-assets.js +62 -0
- package/dist/plugins/copy-assets.js.map +1 -0
- package/dist/plugins/sass-plugin.d.ts +17 -0
- package/dist/plugins/sass-plugin.d.ts.map +1 -0
- package/dist/plugins/sass-plugin.js +163 -0
- package/dist/plugins/sass-plugin.js.map +1 -0
- package/dist/plugins/wp-dependency-extraction.d.ts +27 -0
- package/dist/plugins/wp-dependency-extraction.d.ts.map +1 -0
- package/dist/plugins/wp-dependency-extraction.js +306 -0
- package/dist/plugins/wp-dependency-extraction.js.map +1 -0
- package/dist/types.d.ts +540 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/entry-detection.d.ts +13 -0
- package/dist/utils/entry-detection.d.ts.map +1 -0
- package/dist/utils/entry-detection.js +218 -0
- package/dist/utils/entry-detection.js.map +1 -0
- package/dist/utils/externals.d.ts +62 -0
- package/dist/utils/externals.d.ts.map +1 -0
- package/dist/utils/externals.js +152 -0
- package/dist/utils/externals.js.map +1 -0
- package/dist/utils/paths.d.ts +40 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +70 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/watch.d.ts +13 -0
- package/dist/watch.d.ts.map +1 -0
- package/dist/watch.js +214 -0
- package/dist/watch.js.map +1 -0
- package/package.json +73 -0
package/dist/watch.js
ADDED
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Watch mode with React Fast Refresh support
|
|
3
|
+
*/
|
|
4
|
+
import { mkdirSync, rmSync, existsSync } from 'node:fs';
|
|
5
|
+
import * as esbuild from 'esbuild';
|
|
6
|
+
import { WebSocketServer, WebSocket } from 'ws';
|
|
7
|
+
import pc from 'picocolors';
|
|
8
|
+
import { loadConfig, getOutputDir } from './config.js';
|
|
9
|
+
import { getExternalPatterns } from './utils/externals.js';
|
|
10
|
+
import { detectEntries, getBlockSpecificStyles } from './utils/entry-detection.js';
|
|
11
|
+
import { wpDependencyExtractionPlugin } from './plugins/wp-dependency-extraction.js';
|
|
12
|
+
import { sassPlugin } from './plugins/sass-plugin.js';
|
|
13
|
+
import { processBlockJsonFiles } from './plugins/block-json.js';
|
|
14
|
+
import { copyStaticAssets } from './plugins/copy-assets.js';
|
|
15
|
+
let wsServer = null;
|
|
16
|
+
let clients = new Set();
|
|
17
|
+
/**
|
|
18
|
+
* Send message to all connected clients
|
|
19
|
+
*/
|
|
20
|
+
function broadcast(message) {
|
|
21
|
+
const data = JSON.stringify(message);
|
|
22
|
+
for (const client of clients) {
|
|
23
|
+
if (client.readyState === WebSocket.OPEN) {
|
|
24
|
+
client.send(data);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Notify clients of rebuild (exported for future use)
|
|
30
|
+
*/
|
|
31
|
+
export function notifyRebuild(success) {
|
|
32
|
+
broadcast({
|
|
33
|
+
type: success ? 'reload' : 'error',
|
|
34
|
+
timestamp: Date.now(),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Create React Fast Refresh runtime injection plugin
|
|
39
|
+
*/
|
|
40
|
+
function reactRefreshPlugin() {
|
|
41
|
+
return {
|
|
42
|
+
name: 'react-refresh',
|
|
43
|
+
setup(_build) {
|
|
44
|
+
// Placeholder for React Fast Refresh implementation
|
|
45
|
+
// In a complete implementation, this would inject the refresh runtime
|
|
46
|
+
// and handle HMR updates for React components
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Start WebSocket server for HMR
|
|
52
|
+
*/
|
|
53
|
+
function startWebSocketServer(port) {
|
|
54
|
+
if (wsServer) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
wsServer = new WebSocketServer({ port });
|
|
58
|
+
wsServer.on('connection', (ws) => {
|
|
59
|
+
clients.add(ws);
|
|
60
|
+
ws.on('close', () => {
|
|
61
|
+
clients.delete(ws);
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
console.log(pc.dim(`HMR server running on ws://localhost:${port}`));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Stop WebSocket server
|
|
68
|
+
*/
|
|
69
|
+
function stopWebSocketServer() {
|
|
70
|
+
if (wsServer) {
|
|
71
|
+
for (const client of clients) {
|
|
72
|
+
client.close();
|
|
73
|
+
}
|
|
74
|
+
clients.clear();
|
|
75
|
+
wsServer.close();
|
|
76
|
+
wsServer = null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Create esbuild context for watch mode
|
|
81
|
+
*/
|
|
82
|
+
async function createWatchContext(entries, config, outputDir, isModule) {
|
|
83
|
+
if (Object.keys(entries).length === 0) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
const plugins = [
|
|
87
|
+
wpDependencyExtractionPlugin(config),
|
|
88
|
+
sassPlugin(config, false),
|
|
89
|
+
];
|
|
90
|
+
if (config.hot && !isModule) {
|
|
91
|
+
plugins.push(reactRefreshPlugin());
|
|
92
|
+
}
|
|
93
|
+
const external = config.wpDependencyExternals ? getExternalPatterns(config) : [];
|
|
94
|
+
const context = await esbuild.context({
|
|
95
|
+
entryPoints: entries,
|
|
96
|
+
bundle: true,
|
|
97
|
+
metafile: true,
|
|
98
|
+
sourcemap: true,
|
|
99
|
+
minify: false,
|
|
100
|
+
target: ['es2020'],
|
|
101
|
+
format: isModule ? 'esm' : 'iife',
|
|
102
|
+
splitting: isModule,
|
|
103
|
+
outdir: outputDir,
|
|
104
|
+
external,
|
|
105
|
+
outExtension: isModule ? { '.js': '.mjs' } : { '.js': '.js' },
|
|
106
|
+
entryNames: '[dir]/[name]',
|
|
107
|
+
chunkNames: 'js/chunks/[name]-[hash]',
|
|
108
|
+
plugins,
|
|
109
|
+
loader: {
|
|
110
|
+
'.js': 'jsx',
|
|
111
|
+
'.ts': 'tsx',
|
|
112
|
+
'.tsx': 'tsx',
|
|
113
|
+
'.jsx': 'jsx',
|
|
114
|
+
},
|
|
115
|
+
jsx: 'automatic',
|
|
116
|
+
logLevel: 'warning',
|
|
117
|
+
define: config.hot
|
|
118
|
+
? { __HMR_PORT__: String(config.devServerPort) }
|
|
119
|
+
: {},
|
|
120
|
+
});
|
|
121
|
+
return context;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Clean output directory
|
|
125
|
+
*/
|
|
126
|
+
function cleanOutputDir(outputDir) {
|
|
127
|
+
if (existsSync(outputDir)) {
|
|
128
|
+
rmSync(outputDir, { recursive: true, force: true });
|
|
129
|
+
}
|
|
130
|
+
mkdirSync(outputDir, { recursive: true });
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Watch mode entry point
|
|
134
|
+
*/
|
|
135
|
+
export async function watch(options = {}) {
|
|
136
|
+
const config = loadConfig();
|
|
137
|
+
const outputDir = getOutputDir(config);
|
|
138
|
+
const hot = options.hot ?? config.hot;
|
|
139
|
+
const port = options.port ?? config.devServerPort;
|
|
140
|
+
console.log(pc.cyan('\n10up-build') + pc.dim(' v1.0.0 (watch mode)'));
|
|
141
|
+
console.log(pc.dim(`Hot reload: ${hot ? 'enabled' : 'disabled'}\n`));
|
|
142
|
+
// Clean output directory
|
|
143
|
+
cleanOutputDir(outputDir);
|
|
144
|
+
// Detect entries
|
|
145
|
+
const entries = await detectEntries(config);
|
|
146
|
+
if (config.loadBlockSpecificStyles) {
|
|
147
|
+
const blockStyles = getBlockSpecificStyles(config);
|
|
148
|
+
Object.assign(entries.styles, blockStyles);
|
|
149
|
+
}
|
|
150
|
+
const totalEntries = Object.keys(entries.scripts).length +
|
|
151
|
+
Object.keys(entries.modules).length +
|
|
152
|
+
Object.keys(entries.styles).length;
|
|
153
|
+
if (totalEntries === 0) {
|
|
154
|
+
console.log(pc.yellow('No entry points found.'));
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
console.log(pc.dim(`Watching ${totalEntries} entries...\n`));
|
|
158
|
+
// Start HMR server if hot reload is enabled
|
|
159
|
+
if (hot) {
|
|
160
|
+
startWebSocketServer(port);
|
|
161
|
+
}
|
|
162
|
+
// Create watch contexts
|
|
163
|
+
const [scriptsContext, modulesContext] = await Promise.all([
|
|
164
|
+
createWatchContext(entries.scripts, config, outputDir, false),
|
|
165
|
+
createWatchContext(entries.modules, config, outputDir, true),
|
|
166
|
+
]);
|
|
167
|
+
// Build styles once (no watch needed for now - could add chokidar later)
|
|
168
|
+
if (Object.keys(entries.styles).length > 0) {
|
|
169
|
+
try {
|
|
170
|
+
await esbuild.build({
|
|
171
|
+
entryPoints: entries.styles,
|
|
172
|
+
bundle: true,
|
|
173
|
+
outdir: outputDir,
|
|
174
|
+
plugins: [sassPlugin(config, false)],
|
|
175
|
+
entryNames: '[dir]/[name]',
|
|
176
|
+
logLevel: 'warning',
|
|
177
|
+
});
|
|
178
|
+
console.log(pc.green('✓') + pc.dim(` Styles built`));
|
|
179
|
+
}
|
|
180
|
+
catch (error) {
|
|
181
|
+
console.error(pc.red('✗ Style build failed'));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Process block.json files
|
|
185
|
+
if (config.useBlockAssets) {
|
|
186
|
+
await processBlockJsonFiles(config, outputDir);
|
|
187
|
+
}
|
|
188
|
+
// Copy static assets
|
|
189
|
+
await copyStaticAssets(config, outputDir);
|
|
190
|
+
// Start watching
|
|
191
|
+
if (scriptsContext) {
|
|
192
|
+
await scriptsContext.watch();
|
|
193
|
+
console.log(pc.green('✓') + pc.dim(` Watching ${Object.keys(entries.scripts).length} script entries`));
|
|
194
|
+
}
|
|
195
|
+
if (modulesContext) {
|
|
196
|
+
await modulesContext.watch();
|
|
197
|
+
console.log(pc.green('✓') + pc.dim(` Watching ${Object.keys(entries.modules).length} module entries`));
|
|
198
|
+
}
|
|
199
|
+
console.log(pc.cyan('\nWatching for changes...'));
|
|
200
|
+
console.log(pc.dim('Press Ctrl+C to stop\n'));
|
|
201
|
+
// Handle graceful shutdown
|
|
202
|
+
const cleanup = async () => {
|
|
203
|
+
console.log(pc.dim('\nStopping watch mode...'));
|
|
204
|
+
stopWebSocketServer();
|
|
205
|
+
if (scriptsContext)
|
|
206
|
+
await scriptsContext.dispose();
|
|
207
|
+
if (modulesContext)
|
|
208
|
+
await modulesContext.dispose();
|
|
209
|
+
process.exit(0);
|
|
210
|
+
};
|
|
211
|
+
process.on('SIGINT', cleanup);
|
|
212
|
+
process.on('SIGTERM', cleanup);
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@10up/build",
|
|
3
|
+
"version": "1.0.0-alpha.1",
|
|
4
|
+
"description": "esbuild-powered WordPress build tool - fast builds for WordPress block development",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"wordpress",
|
|
7
|
+
"esbuild",
|
|
8
|
+
"build",
|
|
9
|
+
"blocks",
|
|
10
|
+
"gutenberg"
|
|
11
|
+
],
|
|
12
|
+
"homepage": "https://github.com/10up/10up-toolkit#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/10up/10up-toolkit/issues"
|
|
15
|
+
},
|
|
16
|
+
"repository": {
|
|
17
|
+
"type": "git",
|
|
18
|
+
"url": "git+https://github.com/10up/10up-toolkit.git",
|
|
19
|
+
"directory": "packages/build"
|
|
20
|
+
},
|
|
21
|
+
"license": "MIT",
|
|
22
|
+
"author": "10up",
|
|
23
|
+
"type": "module",
|
|
24
|
+
"exports": {
|
|
25
|
+
".": "./dist/index.js",
|
|
26
|
+
"./config": "./dist/config.js"
|
|
27
|
+
},
|
|
28
|
+
"main": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"bin": {
|
|
31
|
+
"10up-build": "./bin/10up-build.js"
|
|
32
|
+
},
|
|
33
|
+
"files": [
|
|
34
|
+
"bin",
|
|
35
|
+
"dist",
|
|
36
|
+
"config"
|
|
37
|
+
],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "tsc",
|
|
40
|
+
"dev": "tsc --watch",
|
|
41
|
+
"test": "vitest run",
|
|
42
|
+
"test:watch": "vitest",
|
|
43
|
+
"test:coverage": "vitest run --coverage",
|
|
44
|
+
"prepublishOnly": "npm run build"
|
|
45
|
+
},
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"@csstools/postcss-global-data": "^3.0.0",
|
|
48
|
+
"esbuild": "^0.24.0",
|
|
49
|
+
"fast-glob": "^3.3.2",
|
|
50
|
+
"lightningcss": "^1.28.0",
|
|
51
|
+
"picocolors": "^1.1.1",
|
|
52
|
+
"postcss": "^8.4.49",
|
|
53
|
+
"postcss-custom-media": "^11.0.6",
|
|
54
|
+
"postcss-import": "^16.1.0",
|
|
55
|
+
"postcss-mixins": "^11.0.3",
|
|
56
|
+
"react-refresh": "^0.14.2",
|
|
57
|
+
"sass": "^1.82.0",
|
|
58
|
+
"ws": "^8.18.0"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@types/node": "^22.10.2",
|
|
62
|
+
"@types/ws": "^8.5.13",
|
|
63
|
+
"@vitest/coverage-v8": "^2.1.8",
|
|
64
|
+
"typescript": "^5.7.2",
|
|
65
|
+
"vitest": "^2.1.8"
|
|
66
|
+
},
|
|
67
|
+
"engines": {
|
|
68
|
+
"node": ">=18.0.0"
|
|
69
|
+
},
|
|
70
|
+
"publishConfig": {
|
|
71
|
+
"access": "public"
|
|
72
|
+
}
|
|
73
|
+
}
|