workgraph 0.0.7 → 0.0.9

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 CHANGED
@@ -215,32 +215,32 @@ Configure automatic source generation for generated code (e.g., client code from
215
215
 
216
216
  ### Configuration
217
217
 
218
- Add `workgraph.sources` to your root `package.json`:
218
+ Add `workgraph.sources` to root or any project's `package.json`. Per-project configs automatically run from the project directory and target that project.
219
219
 
220
+ **Per-project config** (recommended) - in `apps/api/package.json`:
220
221
  ```json
221
222
  {
222
223
  "workgraph": {
223
224
  "sources": {
224
- "apps/web-angular/src/generated": {
225
- "command": "npx exposify-codegen api --output ./apps/web-angular/src/generated --target angular",
226
- "deps": ["api"]
227
- },
228
- "apps/web-preact/src/generated": {
229
- "command": "npx exposify-codegen api --output ./apps/web-preact/src/generated --target preact",
230
- "deps": ["api"]
225
+ "api": {
226
+ "command": "bun run codegen --output src/generated",
227
+ "deps": []
231
228
  }
232
229
  }
233
230
  }
234
231
  }
235
232
  ```
236
233
 
237
- You can also use the shorthand string format for simple generators:
238
-
234
+ **Root config** - in root `package.json`:
239
235
  ```json
240
236
  {
241
237
  "workgraph": {
242
238
  "sources": {
243
- "libs/types/src/generated": "npx generate-types"
239
+ "web-client": {
240
+ "command": "npx exposify-codegen api --output ./apps/web/src/generated",
241
+ "deps": ["api"],
242
+ "target": "@myorg/web"
243
+ }
244
244
  }
245
245
  }
246
246
  }
@@ -250,37 +250,59 @@ You can also use the shorthand string format for simple generators:
250
250
 
251
251
  | Field | Description |
252
252
  |-------|-------------|
253
- | `command` | The shell command to run for generation |
254
- | `deps` | Array of project names/paths that trigger this generator when changed |
253
+ | `command` | Shell command to run (or use string shorthand) |
254
+ | `deps` | Source generators that must run first. Empty = no dependencies. |
255
+ | `cwd` | Working directory (auto-set for per-project configs) |
256
+ | `target` | Project that depends on this generator's output (auto-set for per-project configs) |
255
257
 
256
258
  ### How It Works
257
259
 
258
- 1. When `build` or `watch` runs, workgraph checks if any affected project matches a generator's `deps`
259
- 2. If so, the source generation command runs **before** the build
260
- 3. This ensures generated code is up-to-date before compilation
260
+ 1. **Auto-targeting**: Sources in a project's `package.json` automatically target that project
261
+ 2. **Build ordering**: Generators run **before** their target project builds
262
+ 3. **Topological sort**: Generators are sorted by `deps` - dependencies run first
261
263
 
262
- ### Example Output
263
-
264
- ```
265
- $ workgraph build -c @myorg/api
264
+ ### Example: API with Generated Code
266
265
 
267
- Affected: @myorg/api, @myorg/web-angular
266
+ If `@myorg/api` imports from `src/generated/`, define the generator in `apps/api/package.json`:
268
267
 
269
- Build Plan:
270
- Wave 1: @myorg/api
271
- Wave 2: @myorg/web-angular
272
-
273
- Total: 2 projects in 2 waves
268
+ ```json
269
+ {
270
+ "name": "@myorg/api",
271
+ "workgraph": {
272
+ "sources": {
273
+ "api-types": {
274
+ "command": "bun run generate-types",
275
+ "deps": []
276
+ }
277
+ }
278
+ }
279
+ }
280
+ ```
274
281
 
275
- [14:32:01] Generating: apps/web-angular/src/generated
276
- [14:32:03] Generated successfully
282
+ Build order:
283
+ 1. Build libs (`@myorg/utils`, `@myorg/auth`)
284
+ 2. **Generate `api-types`** ← runs before api build
285
+ 3. Build `@myorg/api` ← succeeds because generated code exists
277
286
 
278
- [14:32:03] Building: @myorg/api
279
- [14:32:05] @myorg/api: done (2188ms)
280
- [14:32:05] Building: @myorg/web-angular
281
- [14:32:08] @myorg/web-angular: done (2580ms)
287
+ ### Example Output
282
288
 
283
- Build complete in 4770ms
289
+ ```
290
+ $ workgraph watch api web --no-ui
291
+
292
+ [14:32:01] Building 3 dependencies first...
293
+ [14:32:01] Building: @myorg/utils (wave 1/3)
294
+ [14:32:02] @myorg/utils: done (850ms)
295
+ [14:32:02] Building: @myorg/auth (wave 2/3)
296
+ [14:32:03] @myorg/auth: done (550ms)
297
+ [14:32:03] Generating: api-types
298
+ [14:32:03] Generated successfully
299
+ [14:32:03] Building: @myorg/api (wave 3/3)
300
+ [14:32:05] @myorg/api: done (1400ms)
301
+ [14:32:05] Dependencies built successfully
302
+ [14:32:05] Generating: web-client
303
+ [14:32:06] Generated successfully
304
+ [14:32:06] Starting dev server: @myorg/api
305
+ [14:32:06] Starting dev server: @myorg/web
284
306
  ```
285
307
 
286
308
  ## Programmatic API
package/dist/cli.js CHANGED
@@ -45,109 +45,153 @@ const watcher_1 = require("./watcher");
45
45
  const executor_1 = require("./executor");
46
46
  const source_scanner_1 = require("./source-scanner");
47
47
  const ui_1 = require("./ui");
48
+ const devCommands = {
49
+ npm: { cmd: 'npm', args: (name) => ['run', 'dev', '-w', name] },
50
+ yarn: { cmd: 'yarn', args: (name) => ['workspace', name, 'run', 'dev'] },
51
+ pnpm: { cmd: 'pnpm', args: (name) => ['--filter', name, 'run', 'dev'] },
52
+ bun: { cmd: 'bun', args: (name) => ['run', '--filter', name, 'dev'] },
53
+ };
48
54
  function normalizeSourceConfig(config) {
49
55
  if (typeof config === 'string') {
50
56
  return { command: config, deps: [] };
51
57
  }
52
58
  return config;
53
59
  }
54
- function shouldRunGenerator(sourcePath, sourceConfig, affectedProjects, projects, root) {
55
- if (sourceConfig.deps.length > 0) {
56
- for (const dep of sourceConfig.deps) {
57
- if (affectedProjects.has(dep)) {
60
+ function shouldRunGenerator(_sourcePath, sourceConfig, affectedProjects, projects, _root) {
61
+ if (sourceConfig.deps.length === 0) {
62
+ return true;
63
+ }
64
+ for (const dep of sourceConfig.deps) {
65
+ if (affectedProjects.has(dep)) {
66
+ return true;
67
+ }
68
+ for (const projectName of affectedProjects) {
69
+ const project = projects.get(projectName);
70
+ if (!project)
71
+ continue;
72
+ if (project.path === dep || project.path.endsWith('/' + dep)) {
58
73
  return true;
59
74
  }
60
- for (const projectName of affectedProjects) {
61
- const project = projects.get(projectName);
62
- if (!project)
63
- continue;
64
- if (project.path === dep || project.path.endsWith('/' + dep)) {
65
- return true;
66
- }
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ function sortSourcesByDeps(sources) {
80
+ const normalized = new Map();
81
+ for (const [key, value] of Object.entries(sources)) {
82
+ normalized.set(key, normalizeSourceConfig(value));
83
+ }
84
+ const sorted = [];
85
+ const visited = new Set();
86
+ const visiting = new Set();
87
+ const visit = (name) => {
88
+ if (visited.has(name))
89
+ return;
90
+ if (visiting.has(name))
91
+ return;
92
+ const config = normalized.get(name);
93
+ if (!config)
94
+ return;
95
+ visiting.add(name);
96
+ for (const dep of config.deps) {
97
+ if (normalized.has(dep)) {
98
+ visit(dep);
67
99
  }
68
100
  }
69
- return false;
101
+ visiting.delete(name);
102
+ visited.add(name);
103
+ sorted.push([name, config]);
104
+ };
105
+ for (const name of normalized.keys()) {
106
+ visit(name);
70
107
  }
71
- const sourceDir = path.resolve(root, sourcePath);
72
- for (const projectName of affectedProjects) {
73
- const project = projects.get(projectName);
74
- if (!project)
75
- continue;
76
- if (sourceDir.startsWith(project.absolutePath)) {
77
- return true;
108
+ return sorted;
109
+ }
110
+ async function runSingleGenerator(sourcePath, sourceConfig, root, dryRun, callbacks) {
111
+ const { log, taskLog, addTask, updateTask } = callbacks;
112
+ const taskId = `gen-${sourcePath}`;
113
+ log(`Generating: ${sourcePath}`);
114
+ taskLog(`\x1b[33m$ ${sourceConfig.command}\x1b[0m`);
115
+ if (dryRun) {
116
+ return { success: true, output: '[dry-run]' };
117
+ }
118
+ try {
119
+ const result = await new Promise((resolve) => {
120
+ const proc = (0, child_process_1.spawn)(sourceConfig.command, {
121
+ cwd: sourceConfig.cwd ?? root,
122
+ shell: true,
123
+ stdio: 'pipe',
124
+ });
125
+ if (proc.pid) {
126
+ addTask({ id: taskId, name: `gen:${sourcePath}`, pid: proc.pid, status: 'running' });
127
+ }
128
+ let output = '';
129
+ proc.stdout?.on('data', (data) => {
130
+ const text = data.toString();
131
+ output += text;
132
+ text.split('\n').forEach((line) => {
133
+ if (line.trim())
134
+ taskLog(line);
135
+ });
136
+ });
137
+ proc.stderr?.on('data', (data) => {
138
+ const text = data.toString();
139
+ output += text;
140
+ text.split('\n').forEach((line) => {
141
+ if (line.trim())
142
+ taskLog(line);
143
+ });
144
+ });
145
+ proc.on('close', (code) => {
146
+ updateTask(taskId, code === 0 ? 'stopped' : 'error');
147
+ resolve({ success: code === 0, output });
148
+ });
149
+ proc.on('error', (err) => {
150
+ updateTask(taskId, 'error');
151
+ resolve({ success: false, output: err.message });
152
+ });
153
+ });
154
+ if (result.success) {
155
+ log('Generated successfully');
156
+ }
157
+ else {
158
+ log('Generation FAILED');
78
159
  }
160
+ return result;
161
+ }
162
+ catch (error) {
163
+ log(`Generation FAILED: ${error.message}`);
164
+ return { success: false, output: error.message };
79
165
  }
80
- return false;
166
+ }
167
+ function getGeneratorsForTargets(sources, targetProjects) {
168
+ return sources.filter(([, config]) => {
169
+ if (!config.target)
170
+ return false;
171
+ return targetProjects.has(config.target);
172
+ });
81
173
  }
82
174
  async function runSourceGeneratorsWithUI(root, affectedProjects, projects, dryRun = false, callbacks = {
83
175
  log: (msg) => console.log(`[${(0, watcher_1.formatTimestamp)()}] ${msg}`),
84
176
  taskLog: console.log,
85
177
  addTask: () => { },
86
178
  updateTask: () => { },
87
- }) {
88
- const { log, taskLog, addTask, updateTask } = callbacks;
89
- const config = (0, source_scanner_1.loadWorkgraphConfig)(root);
90
- const sources = config.sources;
179
+ }, skipTargets) {
180
+ const config = (0, source_scanner_1.loadWorkgraphConfig)(root, projects);
181
+ const sortedSources = sortSourcesByDeps(config.sources);
91
182
  const generated = [];
92
- for (const [sourcePath, rawConfig] of Object.entries(sources)) {
93
- const sourceConfig = normalizeSourceConfig(rawConfig);
94
- if (!shouldRunGenerator(sourcePath, sourceConfig, affectedProjects, projects, root)) {
183
+ for (const [sourcePath, sourceConfig] of sortedSources) {
184
+ if (skipTargets && sourceConfig.target && skipTargets.has(sourceConfig.target)) {
95
185
  continue;
96
186
  }
97
- const taskId = `gen-${sourcePath}`;
98
- log(`Generating: ${sourcePath}`);
99
- taskLog(`\x1b[33m$ ${sourceConfig.command}\x1b[0m`);
100
- if (dryRun) {
101
- generated.push(sourcePath);
187
+ if (!shouldRunGenerator(sourcePath, sourceConfig, affectedProjects, projects, root)) {
102
188
  continue;
103
189
  }
104
- try {
105
- const result = await new Promise((resolve) => {
106
- const proc = (0, child_process_1.spawn)(sourceConfig.command, {
107
- cwd: root,
108
- shell: true,
109
- stdio: 'pipe',
110
- });
111
- if (proc.pid) {
112
- addTask({ id: taskId, name: `gen:${sourcePath}`, pid: proc.pid, status: 'running' });
113
- }
114
- let output = '';
115
- proc.stdout?.on('data', (data) => {
116
- const text = data.toString();
117
- output += text;
118
- text.split('\n').forEach((line) => {
119
- if (line.trim())
120
- taskLog(line);
121
- });
122
- });
123
- proc.stderr?.on('data', (data) => {
124
- const text = data.toString();
125
- output += text;
126
- text.split('\n').forEach((line) => {
127
- if (line.trim())
128
- taskLog(line);
129
- });
130
- });
131
- proc.on('close', (code) => {
132
- updateTask(taskId, code === 0 ? 'stopped' : 'error');
133
- resolve({ success: code === 0, output });
134
- });
135
- proc.on('error', (err) => {
136
- updateTask(taskId, 'error');
137
- resolve({ success: false, output: err.message });
138
- });
139
- });
140
- if (result.success) {
141
- log('Generated successfully');
142
- generated.push(sourcePath);
143
- }
144
- else {
145
- log('Generation FAILED');
146
- return { success: false, generated };
147
- }
190
+ const result = await runSingleGenerator(sourcePath, sourceConfig, root, dryRun, callbacks);
191
+ if (result.success) {
192
+ generated.push(sourcePath);
148
193
  }
149
- catch (error) {
150
- log(`Generation FAILED: ${error.message}`);
194
+ else {
151
195
  return { success: false, generated };
152
196
  }
153
197
  }
@@ -202,7 +246,7 @@ program
202
246
  const result = await (0, source_scanner_1.scanForUnknownDependencies)(projects, root);
203
247
  if (result.configuredSources.size > 0) {
204
248
  console.log('Configured sources:');
205
- const config = (0, source_scanner_1.loadWorkgraphConfig)(root);
249
+ const config = (0, source_scanner_1.loadWorkgraphConfig)(root, projects);
206
250
  for (const sourcePath of result.configuredSources) {
207
251
  const sourceConfig = config.sources[sourcePath];
208
252
  if (!sourceConfig)
@@ -426,16 +470,29 @@ program
426
470
  }
427
471
  }
428
472
  }
473
+ const generatorsAlreadyRun = new Set();
429
474
  if (depsToBuilt.size > 0) {
430
475
  log(`Building ${depsToBuilt.size} dependencies first...`);
431
476
  const plan = (0, planner_1.createBuildPlan)(depsToBuilt, graph.deps);
432
- if (plan.waves.length > 0) {
433
- const result = await (0, executor_1.executePlan)(plan.waves, projects, root, {
477
+ const config = (0, source_scanner_1.loadWorkgraphConfig)(root, projects);
478
+ const sortedSources = sortSourcesByDeps(config.sources);
479
+ for (let waveIndex = 0; waveIndex < plan.waves.length; waveIndex++) {
480
+ const wave = plan.waves[waveIndex];
481
+ const waveProjects = new Set(wave);
482
+ const targetedGenerators = getGeneratorsForTargets(sortedSources, waveProjects);
483
+ for (const [sourcePath, sourceConfig] of targetedGenerators) {
484
+ const result = await runSingleGenerator(sourcePath, sourceConfig, root, options.dryRun, { log, taskLog, addTask, updateTask });
485
+ generatorsAlreadyRun.add(sourceConfig.target);
486
+ if (!result.success) {
487
+ log(`Generator for ${sourceConfig.target} failed, continuing anyway...`);
488
+ }
489
+ }
490
+ const waveResult = await (0, executor_1.executePlan)([wave], projects, root, {
434
491
  concurrency: parseInt(options.concurrency, 10),
435
492
  dryRun: options.dryRun,
436
493
  onStart: (info) => {
437
494
  const mode = info.isParallel ? 'parallel' : 'sequential';
438
- log(`Building: ${info.project} (wave ${info.wave}/${info.totalWaves} ${mode}, step ${info.step}/${info.totalSteps})`);
495
+ log(`Building: ${info.project} (wave ${waveIndex + 1}/${plan.waves.length} ${mode}, step ${info.step}/${wave.length})`);
439
496
  const shortName = info.project.includes('/') ? info.project.split('/').pop() : info.project;
440
497
  addTask({ id: `build-${info.project}`, name: `build:${shortName}`, pid: 0, status: 'running' });
441
498
  },
@@ -449,19 +506,19 @@ program
449
506
  },
450
507
  onOutput: taskLog,
451
508
  });
452
- if (result.success) {
453
- log('Dependencies built successfully');
454
- }
455
- else {
509
+ if (!waveResult.success) {
456
510
  log('Dependency build had errors, continuing anyway...');
457
511
  }
458
512
  }
513
+ log('Dependencies built successfully');
459
514
  }
460
515
  const affected = new Set([...resolvedApps, ...depsToBuilt]);
461
- const sourceResult = await runSourceGeneratorsWithUI(root, affected, projects, options.dryRun, { log, taskLog, addTask, updateTask });
516
+ const sourceResult = await runSourceGeneratorsWithUI(root, affected, projects, options.dryRun, { log, taskLog, addTask, updateTask }, generatorsAlreadyRun);
462
517
  if (!sourceResult.success) {
463
518
  log('Source generation failed, continuing anyway...');
464
519
  }
520
+ const pm = (0, workspace_1.detectPackageManager)(root);
521
+ const pmDev = devCommands[pm];
465
522
  for (const appName of resolvedApps) {
466
523
  const project = projects.get(appName);
467
524
  if (!project)
@@ -471,10 +528,10 @@ program
471
528
  log(`Warning: ${appName} has no dev script, skipping`);
472
529
  continue;
473
530
  }
474
- const devCmd = `npm run dev -w ${appName}`;
531
+ const devCmd = `${pmDev.cmd} ${pmDev.args(appName).join(' ')}`;
475
532
  log(`Starting dev server: ${appName}`);
476
533
  taskLog(`\x1b[33m$ ${devCmd}\x1b[0m`);
477
- const proc = (0, child_process_1.spawn)('npm', ['run', 'dev', '-w', appName], {
534
+ const proc = (0, child_process_1.spawn)(pmDev.cmd, pmDev.args(appName), {
478
535
  cwd: root,
479
536
  stdio: ['ignore', 'pipe', 'pipe'],
480
537
  detached: true,
@@ -645,7 +702,7 @@ program
645
702
  await handleChanges(next);
646
703
  }
647
704
  };
648
- const config = (0, source_scanner_1.loadWorkgraphConfig)(root);
705
+ const config = (0, source_scanner_1.loadWorkgraphConfig)(root, projects);
649
706
  const sourcePaths = Object.keys(config.sources).map(p => `**/${p}/**`);
650
707
  if (sourcePaths.length > 0) {
651
708
  log('Ignoring generated source paths (to prevent rebuild loops):');
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,iDAAoD;AACpD,2CAA6B;AAC7B,2CAA0E;AAC1E,mCAAgE;AAChE,yCAAsE;AACtE,uCAA6D;AAC7D,uCAA2D;AAC3D,yCAAyC;AAEzC,qDAI0B;AAC1B,6BAA4C;AAgC5C,MAAM,WAAW,GAA8E;IAC7F,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE;IAC/D,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;IACxE,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE;IACvE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;CACtE,CAAC;AAEF,SAAS,qBAAqB,CAAC,MAA6B;IAC1D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAmB,EACnB,YAA0B,EAC1B,gBAA6B,EAC7B,QAA8B,EAC9B,KAAa;IAGb,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;QAEpC,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,gBAAgB,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,SAAS;YAEvB,IAAI,OAAO,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAUD,SAAS,iBAAiB,CACxB,OAA8C;IAE9C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAQ,EAAE;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAE/B,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAGnB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,GAAG,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,UAAkB,EAClB,YAA0B,EAC1B,IAAY,EACZ,MAAe,EACf,SAAmC;IAEnC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,UAAU,EAAE,CAAC;IAEnC,GAAG,CAAC,eAAe,UAAU,EAAE,CAAC,CAAC;IACjC,OAAO,CAAC,aAAa,YAAY,CAAC,OAAO,SAAS,CAAC,CAAC;IAEpD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAuC,CAAC,OAAO,EAAE,EAAE;YAEjF,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,YAAY,CAAC,OAAO,EAAE;gBACvC,GAAG,EAAE,YAAY,CAAC,GAAG,IAAI,IAAI;gBAC7B,KAAK,EAAE,IAAI;gBACX,KAAK,EAAE,MAAM;aACd,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,IAAI,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;oBACxC,IAAI,IAAI,CAAC,IAAI,EAAE;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,IAAI,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;oBACxC,IAAI,IAAI,CAAC,IAAI,EAAE;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACrD,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACvB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,sBAAuB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;AACH,CAAC;AAGD,SAAS,uBAAuB,CAC9B,OAAiC,EACjC,cAA2B;IAE3B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACjC,OAAO,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CACtC,IAAY,EACZ,gBAA6B,EAC7B,QAA8B,EAC9B,SAAkB,KAAK,EACvB,YAAsC;IACpC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,yBAAe,GAAE,KAAK,GAAG,EAAE,CAAC;IAC1D,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;IACjB,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC;CACrB,EAED,WAAyB;IAEzB,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,aAAa,EAAE,CAAC;QAEvD,IAAI,WAAW,IAAI,YAAY,CAAC,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/E,SAAS;QACX,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;YACpF,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAE3F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,sFAAsF,CAAC;KACnG,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAA8B,EAAE,EAAE;IAC/C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,IAAI,CAAC,CAAC;QAEjD,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI,aAAa,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;QAEnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,IAAI,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,YAAY,QAAQ,CAAC,IAAI,yCAAyC,CAAC,CAAC;QAEhF,MAAM,MAAM,GAAG,MAAM,IAAA,2CAA0B,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACnD,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAClD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,CAAC,YAAY;oBAAE,SAAS;gBAC5B,MAAM,OAAO,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC;YACnC,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,IAAI,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,IAAA,0CAAyB,EAAC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CACL,6BAA6B,EAC7B,mCAAmC,EACnC,EAAE,CACH;KACA,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,EAAE;IAC5C,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,eAA4B,CAAC;QAEjC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAA,8BAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9D,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,8BAAmB,EAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CACL,6BAA6B,EAC7B,mCAAmC,EACnC,EAAE,CACH;KACA,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAClE,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACjE,MAAM,CAAC,KAAK,EAAE,UAAmG,EAAE,EAAE;IACpH,MAAM,OAAO,GAAwB;QACnC,GAAG,UAAU;QACb,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI;KACnC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,eAA4B,CAAC;QAEjC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAA,8BAAmB,EAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,8BAAmB,EAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEnD,OAAO,CAAC,GAAG,CAAC,IAAA,yBAAe,EAAC,IAAI,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAChC,OAAO;QACT,CAAC;QAGD,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,YAAY,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC3D,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,yBAAe,GAAE,eAAe,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACvJ,CAAC;YACD,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;gBAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACvD,OAAO,CAAC,GAAG,CACT,IAAI,IAAA,yBAAe,GAAE,KAAK,WAAW,CAAC,OAAO,KAAK,MAAM,KAAK,WAAW,CAAC,QAAQ,KAAK,CACvF,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;oBAC9C,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,sBAAsB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,QAAQ,CAAC,WAAW,EAAE,qDAAqD,CAAC;KAC5E,MAAM,CAAC,mBAAmB,EAAE,0BAA0B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;KACtE,MAAM,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;KAClE,MAAM,CAAC,iBAAiB,EAAE,+BAA+B,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;KACvE,MAAM,CAAC,WAAW,EAAE,4CAA4C,CAAC;KACjE,MAAM,CAAC,oBAAoB,EAAE,uDAAuD,CAAC;KACrF,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;KAC7D,MAAM,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC5C,MAAM,CAAC,KAAK,EAAE,IAAc,EAAE,UAA+G,EAAE,EAAE;IAChJ,MAAM,OAAO,GAAwB;QACnC,GAAG,UAAU;QACb,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,IAAI;QAClC,MAAM,EAAE,UAAU,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAChE,OAAO,EAAE,UAAU,CAAC,OAAO,KAAK,IAAI;KACrC,CAAC;IACF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAA,iCAAqB,EAAC,IAAI,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAA,kBAAU,EAAC,QAAQ,CAAC,CAAC;QAEnC,MAAM,MAAM,GAAG,IAAA,oBAAY,EAAC,KAAK,CAAC,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAGD,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,IAAA,aAAQ,GAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACpD,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,yBAAe,GAAE,KAAK,GAAG,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9F,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACpE,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC;QAGzD,MAAM,YAAY,GAA4D,EAAE,CAAC;QAGjF,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,IAAI,EAAE,EAAE,CAAC;gBACP,EAAE,CAAC,OAAO,EAAE,CAAC;YACf,CAAC;YAGD,MAAM,GAAG,GAAG,SAAS,CAAC;YACtB,MAAM,KAAK,GAAG,UAAU,CAAC;YACzB,MAAM,GAAG,GAAG,UAAU,CAAC;YACvB,MAAM,KAAK,GAAG,SAAS,CAAC;YAGxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAa,CAAC,EAAE,CAAC,CAAC;YAG9B,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,YAAY,YAAY,CAAC,MAAM,iBAAiB,KAAK,EAAE,CAAC,CAAC;gBAC3E,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,YAAY,EAAE,CAAC;oBAC1C,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBACb,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACpE,IAAI,CAAC;4BACH,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;4BACnC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;wBAClD,CAAC;wBAAC,MAAM,CAAC;4BACP,IAAI,CAAC;gCACH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gCAClC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;4BAClD,CAAC;4BAAC,MAAM,CAAC;gCACP,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,IAAI,SAAS,IAAI,GAAG,oBAAoB,KAAK,EAAE,CAAC,CAAC;4BAChF,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAGhB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAExC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAA,8BAAmB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;gBACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAID,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;gBAC7D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAErB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;oBAChE,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;wBAChC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC;YACH,CAAC;YAGD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;YAE/C,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,GAAG,CAAC,YAAY,WAAW,CAAC,IAAI,wBAAwB,CAAC,CAAC;gBAE1D,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAGxD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;oBACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAE,CAAC;oBACpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;oBAGnC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;oBAChF,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,kBAAkB,EAAE,CAAC;wBAC5D,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;wBAC/H,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,MAAO,CAAC,CAAC;wBAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;4BACpB,GAAG,CAAC,iBAAiB,YAAY,CAAC,MAAM,+BAA+B,CAAC,CAAC;wBAC3E,CAAC;oBACH,CAAC;oBAGD,MAAM,UAAU,GAAG,MAAM,IAAA,sBAAW,EAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE;wBAC3D,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;wBAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;4BAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;4BACzD,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,UAAU,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;4BACxH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;4BAC5F,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;wBAClG,CAAC;wBACD,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;4BAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACvD,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,KAAK,MAAM,KAAK,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC;4BACrE,UAAU,CAAC,SAAS,WAAW,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;4BACtF,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gCAC9C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;4BAC7B,CAAC;wBACH,CAAC;wBACD,QAAQ,EAAE,OAAO;qBAClB,CAAC,CAAC;oBAEH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;wBACxB,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;gBAED,GAAG,CAAC,iCAAiC,CAAC,CAAC;YACzC,CAAC;YAGD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC;YAG5D,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,oBAAoB,CAAC,CAAC;YAC5J,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,GAAG,CAAC,gDAAgD,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,EAAE,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;YAE9B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO;oBAAE,SAAS;gBAEvB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,GAAG,CAAC,YAAY,OAAO,8BAA8B,CAAC,CAAC;oBACvD,SAAS;gBACX,CAAC;gBAED,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;gBACvC,OAAO,CAAC,aAAa,MAAM,SAAS,CAAC,CAAC;gBAEtC,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;oBACjD,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;oBACjC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBAC7E,MAAM,MAAM,GAAG,IAAI,SAAS,GAAG,CAAC;gBAChC,MAAM,MAAM,GAAG,OAAO,OAAO,EAAE,CAAC;gBAGhC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,UAAU,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,IAAI,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;gBAGtF,MAAM,GAAG,GAAG,MAAM,CAAC;gBACnB,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,YAAY,GAAG,YAAY,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC5E,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAEvE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBACvC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;4BAC7B,MAAM,IAAI,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;4BAC9B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gCACb,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BAC/B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBACvC,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,CAAC,GAAG,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;4BAC7B,MAAM,IAAI,GAAG,IAAA,eAAU,EAAC,IAAI,CAAC,CAAC;4BAC9B,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;gCACb,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BAC/B,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,GAAG,CAAC,GAAG,MAAM,qBAAqB,IAAI,EAAE,CAAC,CAAC;oBAC1C,UAAU,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;gBACvD,CAAC,CAAC,CAAC;gBAEH,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,CAAC;YAED,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAGD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,CAAC,WAAmB,EAAW,EAAE;YACrD,IAAI,CAAC,aAAa;gBAAE,OAAO,IAAI,CAAC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAC;YAG3B,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;gBACzE,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAED,OAAO,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACvF,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,aAAa;YACjC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM;YACnD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAElB,GAAG,CAAC,YAAY,QAAQ,CAAC,IAAI,0BAA0B,CAAC,CAAC;QACzD,IAAI,aAAa,EAAE,CAAC;YAClB,GAAG,CAAC,oCAAoC,aAAa,KAAK,aAAa,YAAY,CAAC,CAAC;QACvF,CAAC;QACD,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAE5B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,cAAc,GAAuB,IAAI,CAAC;QAC9C,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,MAAM,aAAa,GAAG,KAAK,EAAE,eAA4B,EAAE,YAAoC,EAAE,EAAE;YACjG,IAAI,UAAU,EAAE,CAAC;gBACf,cAAc,GAAG,cAAc,IAAI,IAAI,GAAG,EAAE,CAAC;gBAC7C,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;oBAChC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO;YACT,CAAC;YAED,UAAU,GAAG,IAAI,CAAC;YAElB,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACzB,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,YAAY,EAAE,CAAC;oBAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC;wBAClD,MAAM,CAAC,KAAK,YAAY,KAAK,OAAO,GAAG,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,QAAQ,GAAG,IAAA,8BAAmB,EAAC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAGnE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC9B,CAAC,GAAG,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CACpC,CAAC;YAEF,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBACrC,UAAU,GAAG,KAAK,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,UAAU,EAAE,CAAC;YACb,SAAS,CAAC,UAAU,UAAU,EAAE,CAAC,CAAC;YAClC,MAAM,CAAC,EAAE,CAAC,CAAC;YAEX,MAAM,IAAI,GAAG,IAAA,yBAAe,EAAC,gBAAgB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAGpE,MAAM,CAAC,wBAAwB,CAAC,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;gBACvD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC5B,MAAM,CAAC,KAAK,IAAI,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACpD,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,IAAI,6BAA6B,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAGD,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;gBACzD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oBACxB,WAAW,EAAE,CAAC;oBACd,MAAM,CAAC,MAAM,WAAW,IAAI,UAAU,KAAK,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,GAAG,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;YACD,MAAM,CAAC,EAAE,CAAC,CAAC;YAGX,MAAM,YAAY,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACtI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBAChC,SAAS,CAAC,UAAU,UAAU,SAAS,CAAC,CAAC;gBACzC,UAAU,GAAG,KAAK,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,GAAG,CAAC,aAAa,CAAC,GAAG,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAErD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAW,EAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAC3D,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;oBAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBAChB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC;wBACzD,GAAG,CAAC,aAAa,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;wBACtH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;wBAC5F,OAAO,CAAC,EAAE,EAAE,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;oBAClG,CAAC;oBACD,QAAQ,EAAE,OAAO;oBACjB,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE;wBAC1B,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACvD,GAAG,CAAC,GAAG,WAAW,CAAC,OAAO,KAAK,MAAM,KAAK,WAAW,CAAC,QAAQ,KAAK,CAAC,CAAC;wBACrE,UAAU,CAAC,SAAS,WAAW,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACxF,CAAC;iBACF,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,SAAS,CAAC,UAAU,UAAU,OAAO,CAAC,CAAC;oBACvC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,UAAU,UAAU,SAAS,CAAC,CAAC;oBACzC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,UAAU,UAAU,OAAO,CAAC,CAAC;gBACvC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACxB,CAAC;YAED,UAAU,GAAG,KAAK,CAAC;YAEnB,IAAI,cAAc,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,GAAG,cAAc,CAAC;gBAC5B,cAAc,GAAG,IAAI,CAAC;gBACtB,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC;QAGF,MAAM,MAAM,GAAG,IAAA,oCAAmB,EAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEvE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,6DAA6D,CAAC,CAAC;YACnE,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;gBAC5B,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACnB,CAAC;QACH,CAAC;QAED,IAAA,uBAAa,EACX;YACE,IAAI;YACJ,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1C,QAAQ,EAAE,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE;gBAC1C,KAAK,aAAa,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;YACpD,CAAC;YACD,cAAc,EAAE,WAAW;YAC3B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,EACD,QAAQ,CACT,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
1
  import { BuildResult, ExecutorOptions, Project } from './types';
2
+ export declare function createBuildCommand(root: string): (project: Project) => string;
2
3
  export declare function defaultBuildCommand(project: Project): string;
3
4
  export declare function executePlan(waves: string[][], projects: Map<string, Project>, root: string, options?: Partial<ExecutorOptions>): Promise<BuildResult>;
package/dist/executor.js CHANGED
@@ -33,11 +33,29 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createBuildCommand = createBuildCommand;
36
37
  exports.defaultBuildCommand = defaultBuildCommand;
37
38
  exports.executePlan = executePlan;
38
39
  const child_process_1 = require("child_process");
39
40
  const os = __importStar(require("os"));
41
+ const workspace_1 = require("./workspace");
40
42
  const DEFAULT_CONCURRENCY = Math.max(1, os.cpus().length - 1);
43
+ const buildCommands = {
44
+ npm: (name) => `npm run build -w ${name}`,
45
+ yarn: (name) => `yarn workspace ${name} run build`,
46
+ pnpm: (name) => `pnpm --filter ${name} run build`,
47
+ bun: (name) => `bun run --filter ${name} build`,
48
+ };
49
+ function createBuildCommand(root) {
50
+ const pm = (0, workspace_1.detectPackageManager)(root);
51
+ return (project) => {
52
+ const scripts = project.packageJson.scripts;
53
+ if (scripts['build']) {
54
+ return buildCommands[pm](project.name);
55
+ }
56
+ return `echo "No build script for ${project.name}"`;
57
+ };
58
+ }
41
59
  function defaultBuildCommand(project) {
42
60
  const scripts = project.packageJson.scripts;
43
61
  if (scripts['build']) {
@@ -115,7 +133,7 @@ async function runWithConcurrency(items, concurrency, fn) {
115
133
  const noop = () => { };
116
134
  async function executePlan(waves, projects, root, options = {}) {
117
135
  const concurrency = options.concurrency ?? DEFAULT_CONCURRENCY;
118
- const buildCommand = options.buildCommand ?? defaultBuildCommand;
136
+ const buildCommand = options.buildCommand ?? createBuildCommand(root);
119
137
  const dryRun = options.dryRun ?? false;
120
138
  const onStart = options.onStart ?? noop;
121
139
  const onComplete = options.onComplete ?? noop;
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ export interface ScanResult {
4
4
  configuredSources: Set<string>;
5
5
  }
6
6
  export declare function scanProjectImports(project: Project, root: string): Promise<Map<string, string[]>>;
7
- export declare function loadWorkgraphConfig(root: string): WorkgraphConfig;
7
+ export declare const loadWorkgraphConfig: (root: string, projects?: Map<string, Project>) => WorkgraphConfig;
8
8
  export declare function isPathInGitignore(filePath: string, root: string): boolean;
9
9
  export declare function scanForUnknownDependencies(projects: Map<string, Project>, root: string): Promise<ScanResult>;
10
10
  export declare function formatUnknownDependencies(deps: UnknownDependency[], root: string): string;
@@ -33,8 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadWorkgraphConfig = void 0;
36
37
  exports.scanProjectImports = scanProjectImports;
37
- exports.loadWorkgraphConfig = loadWorkgraphConfig;
38
38
  exports.isPathInGitignore = isPathInGitignore;
39
39
  exports.scanForUnknownDependencies = scanForUnknownDependencies;
40
40
  exports.formatUnknownDependencies = formatUnknownDependencies;
@@ -128,35 +128,58 @@ function pathExists(p) {
128
128
  return false;
129
129
  }
130
130
  const EMPTY_DEPS = [];
131
- function loadWorkgraphConfig(root) {
132
- const pkgPath = path.join(root, 'package.json');
133
- const emptyConfig = { sources: {} };
131
+ const normalizeSourceConfig = (value, cwd, projectName) => {
132
+ if (typeof value === 'string') {
133
+ const config = { command: value, deps: EMPTY_DEPS };
134
+ if (cwd)
135
+ config.cwd = cwd;
136
+ if (projectName)
137
+ config.target = projectName;
138
+ return config;
139
+ }
140
+ const base = {
141
+ command: value.command ?? '',
142
+ deps: value.deps ?? EMPTY_DEPS,
143
+ };
144
+ if (cwd)
145
+ base.cwd = cwd;
146
+ const target = value.target ?? projectName;
147
+ if (target)
148
+ base.target = target;
149
+ return base;
150
+ };
151
+ const loadPackageWorkgraphConfig = (pkgPath, cwd, projectName) => {
134
152
  if (!fs.existsSync(pkgPath)) {
135
- return emptyConfig;
153
+ return {};
136
154
  }
137
155
  const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
138
156
  const workgraph = pkg.workgraph;
139
- if (!workgraph) {
140
- return emptyConfig;
141
- }
142
- const rawSources = workgraph.sources;
143
- if (!rawSources) {
144
- return emptyConfig;
157
+ if (!workgraph?.sources) {
158
+ return {};
145
159
  }
146
160
  const sources = {};
147
- for (const [key, value] of Object.entries(rawSources)) {
148
- if (typeof value === 'string') {
149
- sources[key] = value;
161
+ for (const [key, value] of Object.entries(workgraph.sources)) {
162
+ if (value) {
163
+ sources[key] = normalizeSourceConfig(value, cwd, projectName);
150
164
  }
151
- else if (value) {
152
- sources[key] = {
153
- command: value.command !== undefined ? value.command : '',
154
- deps: value.deps !== undefined ? value.deps : EMPTY_DEPS,
155
- };
165
+ }
166
+ return sources;
167
+ };
168
+ const loadWorkgraphConfig = (root, projects) => {
169
+ const rootSources = loadPackageWorkgraphConfig(path.join(root, 'package.json'));
170
+ const projectSources = {};
171
+ if (projects) {
172
+ for (const [name, project] of projects) {
173
+ const pkgPath = path.join(project.absolutePath, 'package.json');
174
+ const sources = loadPackageWorkgraphConfig(pkgPath, project.absolutePath, name);
175
+ Object.assign(projectSources, sources);
156
176
  }
157
177
  }
158
- return { sources };
159
- }
178
+ return {
179
+ sources: { ...rootSources, ...projectSources },
180
+ };
181
+ };
182
+ exports.loadWorkgraphConfig = loadWorkgraphConfig;
160
183
  function isPathInGitignore(filePath, root) {
161
184
  const gitignorePath = path.join(root, '.gitignore');
162
185
  if (!fs.existsSync(gitignorePath)) {
@@ -179,7 +202,7 @@ function isPathInGitignore(filePath, root) {
179
202
  return false;
180
203
  }
181
204
  async function scanForUnknownDependencies(projects, root) {
182
- const config = loadWorkgraphConfig(root);
205
+ const config = (0, exports.loadWorkgraphConfig)(root, projects);
183
206
  const configuredSources = new Set(Object.keys(config.sources));
184
207
  const unknownDependencies = [];
185
208
  for (const [name, project] of projects) {
@@ -1 +1 @@
1
- {"version":3,"file":"source-scanner.js","sourceRoot":"","sources":["../src/source-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-scanner.js","sourceRoot":"","sources":["../src/source-scanner.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
1
2
  export interface PackageJson {
2
3
  name: string;
3
4
  version: string;
@@ -86,6 +87,8 @@ export interface UnknownDependency {
86
87
  export interface SourceConfig {
87
88
  command: string;
88
89
  deps: string[];
90
+ cwd?: string;
91
+ target?: string;
89
92
  }
90
93
  export interface WorkgraphConfig {
91
94
  sources: Record<string, string | SourceConfig>;
@@ -1,3 +1,4 @@
1
- import { Project } from './types';
1
+ import { PackageManager, Project } from './types';
2
+ export declare function detectPackageManager(root: string): PackageManager;
2
3
  export declare function loadWorkspaceProjects(root: string): Promise<Map<string, Project>>;
3
4
  export declare function getProjectFromPath(filePath: string, projects: Map<string, Project>, root: string): string | null;
package/dist/workspace.js CHANGED
@@ -33,6 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.detectPackageManager = detectPackageManager;
36
37
  exports.loadWorkspaceProjects = loadWorkspaceProjects;
37
38
  exports.getProjectFromPath = getProjectFromPath;
38
39
  const fs = __importStar(require("fs"));
@@ -53,6 +54,28 @@ function normalizePackageJson(raw) {
53
54
  scripts: raw.scripts !== undefined ? raw.scripts : EMPTY_RECORD,
54
55
  };
55
56
  }
57
+ function detectPackageManager(root) {
58
+ const pkgJsonPath = path.join(root, 'package.json');
59
+ if (fs.existsSync(pkgJsonPath)) {
60
+ const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
61
+ if (typeof pkgJson['packageManager'] === 'string') {
62
+ const pm = pkgJson['packageManager'].split('@')[0];
63
+ if (pm === 'bun' || pm === 'pnpm' || pm === 'yarn' || pm === 'npm') {
64
+ return pm;
65
+ }
66
+ }
67
+ }
68
+ if (fs.existsSync(path.join(root, 'bun.lockb')) || fs.existsSync(path.join(root, 'bun.lock'))) {
69
+ return 'bun';
70
+ }
71
+ if (fs.existsSync(path.join(root, 'pnpm-lock.yaml'))) {
72
+ return 'pnpm';
73
+ }
74
+ if (fs.existsSync(path.join(root, 'yarn.lock'))) {
75
+ return 'yarn';
76
+ }
77
+ return 'npm';
78
+ }
56
79
  async function loadWorkspaceProjects(root) {
57
80
  const rootPkgPath = path.join(root, 'package.json');
58
81
  if (!fs.existsSync(rootPkgPath)) {
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "workgraph",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Lightweight workspace dependency graph and parallel build orchestrator for monorepos",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",