@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.
Files changed (56) hide show
  1. package/README.md +508 -0
  2. package/bin/10up-build.js +11 -0
  3. package/config/postcss.config.js +36 -0
  4. package/dist/build.d.ts +11 -0
  5. package/dist/build.d.ts.map +1 -0
  6. package/dist/build.js +315 -0
  7. package/dist/build.js.map +1 -0
  8. package/dist/cli.d.ts +8 -0
  9. package/dist/cli.d.ts.map +1 -0
  10. package/dist/cli.js +122 -0
  11. package/dist/cli.js.map +1 -0
  12. package/dist/config.d.ts +103 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +230 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/index.d.ts +18 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +20 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/plugins/block-json.d.ts +18 -0
  21. package/dist/plugins/block-json.d.ts.map +1 -0
  22. package/dist/plugins/block-json.js +172 -0
  23. package/dist/plugins/block-json.js.map +1 -0
  24. package/dist/plugins/copy-assets.d.ts +15 -0
  25. package/dist/plugins/copy-assets.d.ts.map +1 -0
  26. package/dist/plugins/copy-assets.js +62 -0
  27. package/dist/plugins/copy-assets.js.map +1 -0
  28. package/dist/plugins/sass-plugin.d.ts +17 -0
  29. package/dist/plugins/sass-plugin.d.ts.map +1 -0
  30. package/dist/plugins/sass-plugin.js +163 -0
  31. package/dist/plugins/sass-plugin.js.map +1 -0
  32. package/dist/plugins/wp-dependency-extraction.d.ts +27 -0
  33. package/dist/plugins/wp-dependency-extraction.d.ts.map +1 -0
  34. package/dist/plugins/wp-dependency-extraction.js +306 -0
  35. package/dist/plugins/wp-dependency-extraction.js.map +1 -0
  36. package/dist/types.d.ts +540 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/dist/types.js +12 -0
  39. package/dist/types.js.map +1 -0
  40. package/dist/utils/entry-detection.d.ts +13 -0
  41. package/dist/utils/entry-detection.d.ts.map +1 -0
  42. package/dist/utils/entry-detection.js +218 -0
  43. package/dist/utils/entry-detection.js.map +1 -0
  44. package/dist/utils/externals.d.ts +62 -0
  45. package/dist/utils/externals.d.ts.map +1 -0
  46. package/dist/utils/externals.js +152 -0
  47. package/dist/utils/externals.js.map +1 -0
  48. package/dist/utils/paths.d.ts +40 -0
  49. package/dist/utils/paths.d.ts.map +1 -0
  50. package/dist/utils/paths.js +70 -0
  51. package/dist/utils/paths.js.map +1 -0
  52. package/dist/watch.d.ts +13 -0
  53. package/dist/watch.d.ts.map +1 -0
  54. package/dist/watch.js +214 -0
  55. package/dist/watch.js.map +1 -0
  56. 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
+ }