@powerlines/nx 0.11.192 → 0.11.194

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 (38) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{chunk-MO23RMS6.mjs → chunk-4YNABHAN.mjs} +1 -1
  3. package/dist/{chunk-N4YJHHFB.js → chunk-5V5YDXMZ.js} +2 -2
  4. package/dist/{chunk-6TS4KKHZ.js → chunk-AO2QWARX.js} +2 -2
  5. package/dist/{chunk-KUZFN4R7.mjs → chunk-ELBUYWVF.mjs} +1 -1
  6. package/dist/{chunk-PQE6BZCU.mjs → chunk-EPUAB56B.mjs} +1 -1
  7. package/dist/{chunk-VYUUYCLC.js → chunk-G5D2MWDS.js} +53 -21
  8. package/dist/{chunk-I2UQS6XA.js → chunk-IC3AKKAP.js} +2 -2
  9. package/dist/{chunk-ZWW5WX2O.js → chunk-IMRO23N7.js} +2 -2
  10. package/dist/{chunk-ICIFN76F.mjs → chunk-KTIFOFN6.mjs} +50 -18
  11. package/dist/{chunk-2X5EQ5TE.js → chunk-M6CMHAIS.js} +2 -2
  12. package/dist/{chunk-K47ZSAOM.js → chunk-TWOXCXFE.js} +14 -5
  13. package/dist/{chunk-3WUDHEEV.mjs → chunk-W7YBVQOT.mjs} +1 -1
  14. package/dist/{chunk-G4H2HOVQ.js → chunk-WJP3FWAH.js} +2 -2
  15. package/dist/{chunk-XZ2ZMUHC.mjs → chunk-XC5JK5E4.mjs} +1 -1
  16. package/dist/{chunk-4KI2CUPF.mjs → chunk-ZXW6SZJT.mjs} +1 -1
  17. package/dist/{chunk-35MFJYOO.mjs → chunk-ZYOL33SX.mjs} +14 -5
  18. package/dist/executors.js +11 -11
  19. package/dist/executors.mjs +6 -6
  20. package/dist/index.js +14 -14
  21. package/dist/index.mjs +8 -8
  22. package/dist/src/base/base-executor.js +2 -2
  23. package/dist/src/base/base-executor.mjs +1 -1
  24. package/dist/src/executors/build/executor.js +4 -4
  25. package/dist/src/executors/build/executor.mjs +2 -2
  26. package/dist/src/executors/clean/executor.js +4 -4
  27. package/dist/src/executors/clean/executor.mjs +2 -2
  28. package/dist/src/executors/docs/executor.js +4 -4
  29. package/dist/src/executors/docs/executor.mjs +2 -2
  30. package/dist/src/executors/lint/executor.js +4 -4
  31. package/dist/src/executors/lint/executor.mjs +2 -2
  32. package/dist/src/executors/prepare/executor.js +4 -4
  33. package/dist/src/executors/prepare/executor.mjs +2 -2
  34. package/dist/src/helpers/plugin-utilities.js +4 -4
  35. package/dist/src/helpers/plugin-utilities.mjs +1 -1
  36. package/dist/src/plugin/index.js +3 -3
  37. package/dist/src/plugin/index.mjs +2 -2
  38. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
2
2
 
3
3
  # Changelog for Powerlines - Nx
4
4
 
5
+ ## [0.11.193](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.193) (02/03/2026)
6
+
7
+ ### Miscellaneous
8
+
9
+ - **nx:** Update Nx plugin to cache `prepare` task execution ([5418530a3](https://github.com/storm-software/powerlines/commit/5418530a3))
10
+
11
+ ### Updated Dependencies
12
+
13
+ - Updated **powerlines** to **v0.38.33**
14
+
15
+ ## [0.11.192](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.192) (02/02/2026)
16
+
17
+ ### Updated Dependencies
18
+
19
+ - Updated **powerlines** to **v0.38.32**
20
+
5
21
  ## [0.11.191](https://github.com/storm-software/powerlines/releases/tag/nx%400.11.191) (02/01/2026)
6
22
 
7
23
  ### Miscellaneous
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-ICIFN76F.mjs';
1
+ import { withExecutor } from './chunk-KTIFOFN6.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import defu from 'defu';
4
4
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('./chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('./chunk-G5D2MWDS.js');
4
4
  var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
 
6
6
  // src/executors/lint/executor.ts
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
11
11
  };
12
12
  }
13
13
  chunkSHUYVCID_js.__name(executorFn, "executorFn");
14
- var executor = chunkVYUUYCLC_js.withExecutor("lint", executorFn);
14
+ var executor = chunkG5D2MWDS_js.withExecutor("lint", executorFn);
15
15
  var executor_default = executor;
16
16
 
17
17
  exports.executorFn = executorFn;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('./chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('./chunk-G5D2MWDS.js');
4
4
  var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
 
6
6
  // src/executors/clean/executor.ts
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
11
11
  };
12
12
  }
13
13
  chunkSHUYVCID_js.__name(executorFn, "executorFn");
14
- var executor = chunkVYUUYCLC_js.withExecutor("clean", executorFn);
14
+ var executor = chunkG5D2MWDS_js.withExecutor("clean", executorFn);
15
15
  var executor_default = executor;
16
16
 
17
17
  exports.executorFn = executorFn;
@@ -1,4 +1,4 @@
1
- import { createNxPlugin } from './chunk-35MFJYOO.mjs';
1
+ import { createNxPlugin } from './chunk-ZYOL33SX.mjs';
2
2
 
3
3
  // src/plugin/index.ts
4
4
  var createNodesV2 = createNxPlugin({
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-ICIFN76F.mjs';
1
+ import { withExecutor } from './chunk-KTIFOFN6.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/lint/executor.ts
@@ -5,7 +5,7 @@ var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
  var logger = require('@storm-software/config-tools/logger');
6
6
  var baseExecutor = require('@storm-software/workspace-tools/base/base-executor');
7
7
  var isError = require('@stryke/type-checks/is-error');
8
- var defu6 = require('defu');
8
+ var defu7 = require('defu');
9
9
  var getWorkspaceRoot = require('@stryke/fs/get-workspace-root');
10
10
  var console = require('@storm-software/config-tools/logger/console');
11
11
  var toArray = require('@stryke/convert/to-array');
@@ -95,7 +95,7 @@ function _interopNamespace(e) {
95
95
  return Object.freeze(n);
96
96
  }
97
97
 
98
- var defu6__default = /*#__PURE__*/_interopDefault(defu6);
98
+ var defu7__default = /*#__PURE__*/_interopDefault(defu7);
99
99
  var chalk5__default = /*#__PURE__*/_interopDefault(chalk5);
100
100
  var Handlebars__default = /*#__PURE__*/_interopDefault(Handlebars);
101
101
  var ts__default = /*#__PURE__*/_interopDefault(ts);
@@ -103,7 +103,7 @@ var $__namespace = /*#__PURE__*/_interopNamespace($);
103
103
 
104
104
  // ../powerlines/package.json
105
105
  var package_default = {
106
- version: "0.38.31"};
106
+ version: "0.38.33"};
107
107
  var VirtualFileSystemHost = class extends tsMorph.InMemoryFileSystemHost {
108
108
  static {
109
109
  chunkSHUYVCID_js.__name(this, "VirtualFileSystemHost");
@@ -196,11 +196,11 @@ var VirtualFileSystemHost = class extends tsMorph.InMemoryFileSystemHost {
196
196
  };
197
197
  function createProgram(context, override) {
198
198
  context.debug(`Creating ts-morph Project instance with configuration from: ${context.tsconfig.tsconfigFilePath}.`);
199
- const project = new tsMorph.Project(defu6__default.default(override ?? {}, {
199
+ const project = new tsMorph.Project(defu7__default.default(override ?? {}, {
200
200
  skipAddingFilesFromTsConfig: false,
201
201
  tsConfigFilePath: context.tsconfig.tsconfigFilePath,
202
202
  fileSystem: new VirtualFileSystemHost(context),
203
- compilerOptions: defu6__default.default(context.tsconfig.options ?? {}, {
203
+ compilerOptions: defu7__default.default(context.tsconfig.options ?? {}, {
204
204
  lib: [
205
205
  "lib.esnext.full.d.ts"
206
206
  ]
@@ -280,7 +280,7 @@ declare module "${moduleId}" {
280
280
  return builtinModules;
281
281
  }
282
282
  chunkSHUYVCID_js.__name(emitBuiltinTypes, "emitBuiltinTypes");
283
- var mergeResults = defu6.createDefu((obj, key, value) => {
283
+ var mergeResults = defu7.createDefu((obj, key, value) => {
284
284
  if (isString.isString(obj[key]) && isString.isString(value)) {
285
285
  obj[key] = `${obj[key] || ""}
286
286
  ${value || ""}`.trim();
@@ -350,7 +350,7 @@ ${result || ""}`.trim()
350
350
  if (definedResults.length > 0) {
351
351
  let mergedResult = void 0;
352
352
  for (const result of definedResults) {
353
- mergedResult = defu6.defu(result, mergedResult ?? {});
353
+ mergedResult = defu7.defu(result, mergedResult ?? {});
354
354
  }
355
355
  return mergedResult;
356
356
  }
@@ -493,7 +493,7 @@ function getParsedTypeScriptConfig(workspaceRoot, projectRoot, tsconfig, tsconfi
493
493
  if (!tsconfigJson) {
494
494
  throw new Error(`Cannot find the \`tsconfig.json\` configuration file at ${joinPaths.joinPaths(projectRoot, tsconfig ?? "tsconfig.json")}`);
495
495
  }
496
- const parsedCommandLine = ts__default.default.parseJsonConfigFileContent(defu6__default.default(tsconfigRaw ?? {}, tsconfigJson), host, append.appendPath(projectRoot, workspaceRoot));
496
+ const parsedCommandLine = ts__default.default.parseJsonConfigFileContent(defu7__default.default(tsconfigRaw ?? {}, tsconfigJson), host, append.appendPath(projectRoot, workspaceRoot));
497
497
  if (parsedCommandLine.errors.length > 0) {
498
498
  const errorMessage = `Cannot parse the TypeScript compiler options. Please investigate the following issues:
499
499
  ${parsedCommandLine.errors.map((error) => `- ${(error.category !== void 0 && error.code ? `[${error.category}-${error.code}]: ` : "") + error.messageText.toString()}`).join("\n")}
@@ -626,7 +626,7 @@ var GLOBAL_ENVIRONMENT = "__global__";
626
626
 
627
627
  // ../powerlines/src/internal/helpers/environment.ts
628
628
  function createEnvironment(name, userConfig) {
629
- return defu6__default.default(userConfig.environments?.[name] ?? {}, {
629
+ return defu7__default.default(userConfig.environments?.[name] ?? {}, {
630
630
  name,
631
631
  title: userConfig.title || titleCase.titleCase(userConfig.name),
632
632
  ssr: false,
@@ -670,7 +670,7 @@ function createDefaultEnvironment(userConfig) {
670
670
  }
671
671
  chunkSHUYVCID_js.__name(createDefaultEnvironment, "createDefaultEnvironment");
672
672
  function resolveOptions(options) {
673
- return defu6__default.default(options, {
673
+ return defu7__default.default(options, {
674
674
  interopDefault: true,
675
675
  fsCache: options.mode !== "development" ? joinPaths.joinPaths(options.cacheDir, "jiti") : false,
676
676
  moduleCache: options.mode !== "development"
@@ -825,6 +825,34 @@ function findInvalidPluginConfig(config) {
825
825
  ];
826
826
  }
827
827
  chunkSHUYVCID_js.__name(findInvalidPluginConfig, "findInvalidPluginConfig");
828
+ defu7.createDefu((obj, key, value) => {
829
+ if (isPluginHook(obj[key]) && isPluginHook(value)) {
830
+ obj[key] = {
831
+ ...obj[key],
832
+ ...value,
833
+ handler: /* @__PURE__ */ chunkSHUYVCID_js.__name(async (...params) => {
834
+ const [resultA, resultB] = await Promise.all([
835
+ // eslint-disable-next-line ts/no-unsafe-call
836
+ getHookHandler(obj[key])(...params),
837
+ // eslint-disable-next-line ts/no-unsafe-call
838
+ getHookHandler(value)(...params)
839
+ ]);
840
+ return resultB && resultA ? defu7__default.default(resultA, resultB) : resultA || resultB;
841
+ }, "handler")
842
+ };
843
+ return true;
844
+ }
845
+ return false;
846
+ });
847
+ var mergeConfig = defu7.createDefu((obj, key, value) => {
848
+ if (isString.isString(obj[key]) && isString.isString(value)) {
849
+ if (isSetString.isSetString(value)) {
850
+ obj[key] = value;
851
+ }
852
+ return true;
853
+ }
854
+ return false;
855
+ });
828
856
  function replacePathTokens(context, path) {
829
857
  if (!path) {
830
858
  return path;
@@ -2764,7 +2792,7 @@ var PowerlinesContext = class _PowerlinesContext {
2764
2792
  #parserCache;
2765
2793
  #requestCache;
2766
2794
  #getConfigProps(config = {}) {
2767
- return defu6__default.default({
2795
+ return mergeConfig({
2768
2796
  variant: config.build?.variant,
2769
2797
  projectType: config.type,
2770
2798
  projectRoot: config.root,
@@ -3368,7 +3396,7 @@ var PowerlinesContext = class _PowerlinesContext {
3368
3396
  * @param options - Optional write file options
3369
3397
  */
3370
3398
  async emitEntry(code, path, options = {}) {
3371
- return this.emit(code, append.appendPath(path, this.entryPath), defu6__default.default({
3399
+ return this.emit(code, append.appendPath(path, this.entryPath), defu7__default.default({
3372
3400
  meta: {
3373
3401
  type: "entry",
3374
3402
  properties: {
@@ -3391,7 +3419,7 @@ var PowerlinesContext = class _PowerlinesContext {
3391
3419
  * @param options - Optional write file options
3392
3420
  */
3393
3421
  emitEntrySync(code, path, options = {}) {
3394
- return this.emitSync(code, append.appendPath(path, this.entryPath), defu6__default.default({
3422
+ return this.emitSync(code, append.appendPath(path, this.entryPath), defu7__default.default({
3395
3423
  meta: {
3396
3424
  type: "entry",
3397
3425
  properties: {
@@ -3420,7 +3448,7 @@ var PowerlinesContext = class _PowerlinesContext {
3420
3448
  if (!isSetString.isSetString(id)) {
3421
3449
  throw new Error(`The builtin id must be a non-empty string. Received: ${String(id)}`);
3422
3450
  }
3423
- return this.emit(code, append.appendPath(id, this.builtinsPath), defu6__default.default(options, {
3451
+ return this.emit(code, append.appendPath(id, this.builtinsPath), defu7__default.default(options, {
3424
3452
  meta: {
3425
3453
  type: "builtin",
3426
3454
  id
@@ -3441,7 +3469,7 @@ var PowerlinesContext = class _PowerlinesContext {
3441
3469
  if (!isSetString.isSetString(id)) {
3442
3470
  throw new Error(`The builtin id must be a non-empty string. Received: ${String(id)}`);
3443
3471
  }
3444
- return this.emitSync(code, append.appendPath(id, this.builtinsPath), defu6__default.default(options, {
3472
+ return this.emitSync(code, append.appendPath(id, this.builtinsPath), defu7__default.default(options, {
3445
3473
  meta: {
3446
3474
  type: "builtin",
3447
3475
  id
@@ -3648,7 +3676,7 @@ var PowerlinesContext = class _PowerlinesContext {
3648
3676
  }
3649
3677
  config.tsconfig ??= getTsconfigFilePath(this.workspaceConfig.workspaceRoot, cacheKey.projectRoot, config.tsconfig);
3650
3678
  if (isSetObject.isSetObject(config)) {
3651
- this.resolvedConfig = defu6__default.default({
3679
+ this.resolvedConfig = mergeConfig({
3652
3680
  inlineConfig: this.config.inlineConfig,
3653
3681
  userConfig: this.config.userConfig
3654
3682
  }, options.isHighPriority ? this.#getConfigProps(config) : {}, {
@@ -3663,7 +3691,7 @@ var PowerlinesContext = class _PowerlinesContext {
3663
3691
  version: this.packageJson?.version,
3664
3692
  description: this.packageJson?.description,
3665
3693
  sourceRoot: this.projectJson?.sourceRoot || append.appendPath("src", cacheKey.projectRoot),
3666
- output: defu6__default.default(config.output ?? {}, {
3694
+ output: mergeConfig(config.output ?? {}, {
3667
3695
  outputPath: cacheKey.projectRoot ? join.joinPaths(this.workspaceConfig?.directories?.build || "dist", cacheKey.projectRoot) : this.workspaceConfig?.directories?.build || "dist",
3668
3696
  artifactsPath: `.${config.framework ?? "powerlines"}`,
3669
3697
  dts: join.joinPaths(cacheKey.projectRoot, `${config.framework ?? "powerlines"}.d.ts`),
@@ -3777,7 +3805,7 @@ var PowerlinesContext = class _PowerlinesContext {
3777
3805
  this.#fs ??= await VirtualFileSystem.create(this);
3778
3806
  }
3779
3807
  mergeUserConfig(from = {}, into = this.config.userConfig ?? {}) {
3780
- this.config.userConfig = defu6__default.default({
3808
+ this.config.userConfig = mergeConfig({
3781
3809
  entry: Array.isArray(from.entry) && from.entry.length > 0 ? from.entry : Array.isArray(into?.entry) && into.entry.length > 0 ? into.entry : []
3782
3810
  }, omit.omit(from ?? {}, [
3783
3811
  "entry"
@@ -4653,7 +4681,11 @@ ${formatTypes(types)}
4653
4681
  command: "build"
4654
4682
  }) {
4655
4683
  this.context.info("\u{1F4E6} Building the Powerlines project");
4656
- await this.prepare(inlineConfig);
4684
+ await this.context.generateChecksum();
4685
+ if (this.context.meta.checksum !== this.context.persistedMeta?.checksum || this.context.config.skipCache) {
4686
+ this.context.info("The project has been modified since the last time `prepare` was ran. Re-preparing the project.");
4687
+ await this.prepare(inlineConfig);
4688
+ }
4657
4689
  if (this.context.config.singleBuild) {
4658
4690
  await this.#handleBuild(await this.#context.toEnvironment());
4659
4691
  } else {
@@ -4983,7 +5015,7 @@ function withExecutor(command, executorFn) {
4983
5015
  throw new Error("The executor requires `projectsConfigurations` on the context object.");
4984
5016
  }
4985
5017
  const projectConfig = context.projectsConfigurations.projects[context.projectName];
4986
- const api = await src_default.from(workspaceConfig.workspaceRoot, defu6__default.default({
5018
+ const api = await src_default.from(workspaceConfig.workspaceRoot, defu7__default.default({
4987
5019
  root: projectConfig.root,
4988
5020
  type: projectConfig.projectType,
4989
5021
  sourceRoot: projectConfig.sourceRoot,
@@ -4996,7 +5028,7 @@ function withExecutor(command, executorFn) {
4996
5028
  }
4997
5029
  }, options));
4998
5030
  try {
4999
- return await Promise.resolve(executorFn(defu6__default.default({
5031
+ return await Promise.resolve(executorFn(defu7__default.default({
5000
5032
  projectName: context.projectName,
5001
5033
  options,
5002
5034
  workspaceConfig,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('./chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('./chunk-G5D2MWDS.js');
4
4
  var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
  var defu = require('defu');
6
6
 
@@ -19,7 +19,7 @@ async function executorFn(context, api) {
19
19
  };
20
20
  }
21
21
  chunkSHUYVCID_js.__name(executorFn, "executorFn");
22
- var executor = chunkVYUUYCLC_js.withExecutor("prepare", executorFn);
22
+ var executor = chunkG5D2MWDS_js.withExecutor("prepare", executorFn);
23
23
  var executor_default = executor;
24
24
 
25
25
  exports.executorFn = executorFn;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('./chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('./chunk-G5D2MWDS.js');
4
4
  var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
  var defu = require('defu');
6
6
 
@@ -19,7 +19,7 @@ async function executorFn(context, api) {
19
19
  };
20
20
  }
21
21
  chunkSHUYVCID_js.__name(executorFn, "executorFn");
22
- var executor = chunkVYUUYCLC_js.withExecutor("build", executorFn);
22
+ var executor = chunkG5D2MWDS_js.withExecutor("build", executorFn);
23
23
  var executor_default = executor;
24
24
 
25
25
  exports.executorFn = executorFn;
@@ -3,7 +3,7 @@ import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import { getLogFn, getLogLevel, writeError } from '@storm-software/config-tools/logger';
4
4
  import { withRunExecutor } from '@storm-software/workspace-tools/base/base-executor';
5
5
  import { isError } from '@stryke/type-checks/is-error';
6
- import defu6, { createDefu, defu } from 'defu';
6
+ import defu7, { createDefu, defu } from 'defu';
7
7
  import { relativeToWorkspaceRoot } from '@stryke/fs/get-workspace-root';
8
8
  import { formatLogMessage } from '@storm-software/config-tools/logger/console';
9
9
  import { toArray } from '@stryke/convert/to-array';
@@ -75,7 +75,7 @@ import { resolve } from 'node:path';
75
75
 
76
76
  // ../powerlines/package.json
77
77
  var package_default = {
78
- version: "0.38.31"};
78
+ version: "0.38.33"};
79
79
  var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
80
80
  static {
81
81
  __name(this, "VirtualFileSystemHost");
@@ -168,11 +168,11 @@ var VirtualFileSystemHost = class extends InMemoryFileSystemHost {
168
168
  };
169
169
  function createProgram(context, override) {
170
170
  context.debug(`Creating ts-morph Project instance with configuration from: ${context.tsconfig.tsconfigFilePath}.`);
171
- const project = new Project(defu6(override ?? {}, {
171
+ const project = new Project(defu7(override ?? {}, {
172
172
  skipAddingFilesFromTsConfig: false,
173
173
  tsConfigFilePath: context.tsconfig.tsconfigFilePath,
174
174
  fileSystem: new VirtualFileSystemHost(context),
175
- compilerOptions: defu6(context.tsconfig.options ?? {}, {
175
+ compilerOptions: defu7(context.tsconfig.options ?? {}, {
176
176
  lib: [
177
177
  "lib.esnext.full.d.ts"
178
178
  ]
@@ -465,7 +465,7 @@ function getParsedTypeScriptConfig(workspaceRoot, projectRoot, tsconfig, tsconfi
465
465
  if (!tsconfigJson) {
466
466
  throw new Error(`Cannot find the \`tsconfig.json\` configuration file at ${joinPaths$1(projectRoot, tsconfig ?? "tsconfig.json")}`);
467
467
  }
468
- const parsedCommandLine = ts.parseJsonConfigFileContent(defu6(tsconfigRaw ?? {}, tsconfigJson), host, appendPath(projectRoot, workspaceRoot));
468
+ const parsedCommandLine = ts.parseJsonConfigFileContent(defu7(tsconfigRaw ?? {}, tsconfigJson), host, appendPath(projectRoot, workspaceRoot));
469
469
  if (parsedCommandLine.errors.length > 0) {
470
470
  const errorMessage = `Cannot parse the TypeScript compiler options. Please investigate the following issues:
471
471
  ${parsedCommandLine.errors.map((error) => `- ${(error.category !== void 0 && error.code ? `[${error.category}-${error.code}]: ` : "") + error.messageText.toString()}`).join("\n")}
@@ -598,7 +598,7 @@ var GLOBAL_ENVIRONMENT = "__global__";
598
598
 
599
599
  // ../powerlines/src/internal/helpers/environment.ts
600
600
  function createEnvironment(name, userConfig) {
601
- return defu6(userConfig.environments?.[name] ?? {}, {
601
+ return defu7(userConfig.environments?.[name] ?? {}, {
602
602
  name,
603
603
  title: userConfig.title || titleCase(userConfig.name),
604
604
  ssr: false,
@@ -642,7 +642,7 @@ function createDefaultEnvironment(userConfig) {
642
642
  }
643
643
  __name(createDefaultEnvironment, "createDefaultEnvironment");
644
644
  function resolveOptions(options) {
645
- return defu6(options, {
645
+ return defu7(options, {
646
646
  interopDefault: true,
647
647
  fsCache: options.mode !== "development" ? joinPaths$1(options.cacheDir, "jiti") : false,
648
648
  moduleCache: options.mode !== "development"
@@ -797,6 +797,34 @@ function findInvalidPluginConfig(config) {
797
797
  ];
798
798
  }
799
799
  __name(findInvalidPluginConfig, "findInvalidPluginConfig");
800
+ createDefu((obj, key, value) => {
801
+ if (isPluginHook(obj[key]) && isPluginHook(value)) {
802
+ obj[key] = {
803
+ ...obj[key],
804
+ ...value,
805
+ handler: /* @__PURE__ */ __name(async (...params) => {
806
+ const [resultA, resultB] = await Promise.all([
807
+ // eslint-disable-next-line ts/no-unsafe-call
808
+ getHookHandler(obj[key])(...params),
809
+ // eslint-disable-next-line ts/no-unsafe-call
810
+ getHookHandler(value)(...params)
811
+ ]);
812
+ return resultB && resultA ? defu7(resultA, resultB) : resultA || resultB;
813
+ }, "handler")
814
+ };
815
+ return true;
816
+ }
817
+ return false;
818
+ });
819
+ var mergeConfig = createDefu((obj, key, value) => {
820
+ if (isString(obj[key]) && isString(value)) {
821
+ if (isSetString(value)) {
822
+ obj[key] = value;
823
+ }
824
+ return true;
825
+ }
826
+ return false;
827
+ });
800
828
  function replacePathTokens(context, path) {
801
829
  if (!path) {
802
830
  return path;
@@ -2736,7 +2764,7 @@ var PowerlinesContext = class _PowerlinesContext {
2736
2764
  #parserCache;
2737
2765
  #requestCache;
2738
2766
  #getConfigProps(config = {}) {
2739
- return defu6({
2767
+ return mergeConfig({
2740
2768
  variant: config.build?.variant,
2741
2769
  projectType: config.type,
2742
2770
  projectRoot: config.root,
@@ -3340,7 +3368,7 @@ var PowerlinesContext = class _PowerlinesContext {
3340
3368
  * @param options - Optional write file options
3341
3369
  */
3342
3370
  async emitEntry(code, path, options = {}) {
3343
- return this.emit(code, appendPath(path, this.entryPath), defu6({
3371
+ return this.emit(code, appendPath(path, this.entryPath), defu7({
3344
3372
  meta: {
3345
3373
  type: "entry",
3346
3374
  properties: {
@@ -3363,7 +3391,7 @@ var PowerlinesContext = class _PowerlinesContext {
3363
3391
  * @param options - Optional write file options
3364
3392
  */
3365
3393
  emitEntrySync(code, path, options = {}) {
3366
- return this.emitSync(code, appendPath(path, this.entryPath), defu6({
3394
+ return this.emitSync(code, appendPath(path, this.entryPath), defu7({
3367
3395
  meta: {
3368
3396
  type: "entry",
3369
3397
  properties: {
@@ -3392,7 +3420,7 @@ var PowerlinesContext = class _PowerlinesContext {
3392
3420
  if (!isSetString(id)) {
3393
3421
  throw new Error(`The builtin id must be a non-empty string. Received: ${String(id)}`);
3394
3422
  }
3395
- return this.emit(code, appendPath(id, this.builtinsPath), defu6(options, {
3423
+ return this.emit(code, appendPath(id, this.builtinsPath), defu7(options, {
3396
3424
  meta: {
3397
3425
  type: "builtin",
3398
3426
  id
@@ -3413,7 +3441,7 @@ var PowerlinesContext = class _PowerlinesContext {
3413
3441
  if (!isSetString(id)) {
3414
3442
  throw new Error(`The builtin id must be a non-empty string. Received: ${String(id)}`);
3415
3443
  }
3416
- return this.emitSync(code, appendPath(id, this.builtinsPath), defu6(options, {
3444
+ return this.emitSync(code, appendPath(id, this.builtinsPath), defu7(options, {
3417
3445
  meta: {
3418
3446
  type: "builtin",
3419
3447
  id
@@ -3620,7 +3648,7 @@ var PowerlinesContext = class _PowerlinesContext {
3620
3648
  }
3621
3649
  config.tsconfig ??= getTsconfigFilePath(this.workspaceConfig.workspaceRoot, cacheKey.projectRoot, config.tsconfig);
3622
3650
  if (isSetObject(config)) {
3623
- this.resolvedConfig = defu6({
3651
+ this.resolvedConfig = mergeConfig({
3624
3652
  inlineConfig: this.config.inlineConfig,
3625
3653
  userConfig: this.config.userConfig
3626
3654
  }, options.isHighPriority ? this.#getConfigProps(config) : {}, {
@@ -3635,7 +3663,7 @@ var PowerlinesContext = class _PowerlinesContext {
3635
3663
  version: this.packageJson?.version,
3636
3664
  description: this.packageJson?.description,
3637
3665
  sourceRoot: this.projectJson?.sourceRoot || appendPath("src", cacheKey.projectRoot),
3638
- output: defu6(config.output ?? {}, {
3666
+ output: mergeConfig(config.output ?? {}, {
3639
3667
  outputPath: cacheKey.projectRoot ? joinPaths(this.workspaceConfig?.directories?.build || "dist", cacheKey.projectRoot) : this.workspaceConfig?.directories?.build || "dist",
3640
3668
  artifactsPath: `.${config.framework ?? "powerlines"}`,
3641
3669
  dts: joinPaths(cacheKey.projectRoot, `${config.framework ?? "powerlines"}.d.ts`),
@@ -3749,7 +3777,7 @@ var PowerlinesContext = class _PowerlinesContext {
3749
3777
  this.#fs ??= await VirtualFileSystem.create(this);
3750
3778
  }
3751
3779
  mergeUserConfig(from = {}, into = this.config.userConfig ?? {}) {
3752
- this.config.userConfig = defu6({
3780
+ this.config.userConfig = mergeConfig({
3753
3781
  entry: Array.isArray(from.entry) && from.entry.length > 0 ? from.entry : Array.isArray(into?.entry) && into.entry.length > 0 ? into.entry : []
3754
3782
  }, omit(from ?? {}, [
3755
3783
  "entry"
@@ -4625,7 +4653,11 @@ ${formatTypes(types)}
4625
4653
  command: "build"
4626
4654
  }) {
4627
4655
  this.context.info("\u{1F4E6} Building the Powerlines project");
4628
- await this.prepare(inlineConfig);
4656
+ await this.context.generateChecksum();
4657
+ if (this.context.meta.checksum !== this.context.persistedMeta?.checksum || this.context.config.skipCache) {
4658
+ this.context.info("The project has been modified since the last time `prepare` was ran. Re-preparing the project.");
4659
+ await this.prepare(inlineConfig);
4660
+ }
4629
4661
  if (this.context.config.singleBuild) {
4630
4662
  await this.#handleBuild(await this.#context.toEnvironment());
4631
4663
  } else {
@@ -4955,7 +4987,7 @@ function withExecutor(command, executorFn) {
4955
4987
  throw new Error("The executor requires `projectsConfigurations` on the context object.");
4956
4988
  }
4957
4989
  const projectConfig = context.projectsConfigurations.projects[context.projectName];
4958
- const api = await src_default.from(workspaceConfig.workspaceRoot, defu6({
4990
+ const api = await src_default.from(workspaceConfig.workspaceRoot, defu7({
4959
4991
  root: projectConfig.root,
4960
4992
  type: projectConfig.projectType,
4961
4993
  sourceRoot: projectConfig.sourceRoot,
@@ -4968,7 +5000,7 @@ function withExecutor(command, executorFn) {
4968
5000
  }
4969
5001
  }, options));
4970
5002
  try {
4971
- return await Promise.resolve(executorFn(defu6({
5003
+ return await Promise.resolve(executorFn(defu7({
4972
5004
  projectName: context.projectName,
4973
5005
  options,
4974
5006
  workspaceConfig,
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('./chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('./chunk-G5D2MWDS.js');
4
4
  var chunkSHUYVCID_js = require('./chunk-SHUYVCID.js');
5
5
 
6
6
  // src/executors/docs/executor.ts
@@ -11,7 +11,7 @@ async function executorFn(context, api) {
11
11
  };
12
12
  }
13
13
  chunkSHUYVCID_js.__name(executorFn, "executorFn");
14
- var executor = chunkVYUUYCLC_js.withExecutor("docs", executorFn);
14
+ var executor = chunkG5D2MWDS_js.withExecutor("docs", executorFn);
15
15
  var executor_default = executor;
16
16
 
17
17
  exports.executorFn = executorFn;
@@ -14,6 +14,7 @@ var joinPaths = require('@stryke/path/join-paths');
14
14
  var kebabCase = require('@stryke/string-format/kebab-case');
15
15
  var titleCase = require('@stryke/string-format/title-case');
16
16
  var isError = require('@stryke/type-checks/is-error');
17
+ var isSetObject = require('@stryke/type-checks/is-set-object');
17
18
  var defu = require('defu');
18
19
  var jiti = require('jiti');
19
20
  var promises = require('fs/promises');
@@ -106,6 +107,7 @@ function createNxPlugin(opts) {
106
107
  }
107
108
  if (options?.clean !== false && !targets[options?.clean?.targetName || "clean"]) {
108
109
  targets[options?.clean?.targetName || "clean"] = {
110
+ cache: true,
109
111
  inputs: Array.isArray(options?.clean?.inputs) ? options.clean.inputs : nxJson.withNamedInputs(targetInputs, [
110
112
  options?.clean?.inputs || "typescript"
111
113
  ]),
@@ -171,6 +173,7 @@ function createNxPlugin(opts) {
171
173
  }
172
174
  if (options?.build !== false && !targets[options?.build?.targetName || "build"]) {
173
175
  targets[options?.build?.targetName || "build"] = {
176
+ cache: true,
174
177
  inputs: Array.isArray(options?.build?.inputs) ? options.build.inputs : nxJson.withNamedInputs(targetInputs, [
175
178
  options?.build?.inputs || "typescript"
176
179
  ]),
@@ -179,8 +182,9 @@ function createNxPlugin(opts) {
179
182
  ],
180
183
  executor: options?.build?.executor || `@${framework}/nx:${options?.build?.targetName || "build"}`,
181
184
  dependsOn: options?.build?.dependsOn ?? [
182
- `^${options?.build?.targetName || "build"}`
183
- ],
185
+ `^${options?.build?.targetName || "build"}`,
186
+ userConfig.skipCache ? void 0 : isSetObject.isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
187
+ ].filter(Boolean),
184
188
  defaultConfiguration: options?.build?.defaultConfiguration || "production",
185
189
  options: {
186
190
  entry: userConfig.entry,
@@ -205,6 +209,7 @@ function createNxPlugin(opts) {
205
209
  }
206
210
  if (options?.lint !== false && !targets[options?.lint?.targetName || "lint"]) {
207
211
  targets[options?.lint?.targetName || "lint"] = {
212
+ cache: true,
208
213
  inputs: Array.isArray(options?.lint?.inputs) ? options.lint.inputs : nxJson.withNamedInputs([
209
214
  ...targetInputs,
210
215
  artifactsFolder
@@ -219,7 +224,8 @@ function createNxPlugin(opts) {
219
224
  ],
220
225
  executor: options?.lint?.executor || `@${framework}/nx:${options?.lint?.targetName || "lint"}`,
221
226
  dependsOn: options?.lint?.dependsOn ?? [
222
- `^${options?.lint?.targetName || "lint"}`
227
+ `^${options?.lint?.targetName || "lint"}`,
228
+ userConfig.skipCache ? void 0 : isSetObject.isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
223
229
  ].filter(Boolean),
224
230
  defaultConfiguration: options?.lint?.defaultConfiguration || "production",
225
231
  options: {
@@ -244,6 +250,7 @@ function createNxPlugin(opts) {
244
250
  }
245
251
  if (options?.docs !== false && !targets[options?.docs?.targetName || "docs"]) {
246
252
  targets[options?.docs?.targetName || "docs"] = {
253
+ cache: true,
247
254
  inputs: Array.isArray(options?.docs?.inputs) ? options.docs.inputs : nxJson.withNamedInputs([
248
255
  ...targetInputs,
249
256
  artifactsFolder
@@ -259,7 +266,8 @@ function createNxPlugin(opts) {
259
266
  executor: options?.docs?.executor || `@${framework}/nx:${options?.docs?.targetName || "docs"}`,
260
267
  dependsOn: options?.docs?.dependsOn ?? [
261
268
  `^${options?.docs?.targetName || "docs"}`,
262
- options?.build !== false && `${options?.build?.targetName || "build"}`
269
+ options?.build !== false && `${options?.build?.targetName || "build"}`,
270
+ userConfig.skipCache ? void 0 : isSetObject.isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
263
271
  ].filter(Boolean),
264
272
  defaultConfiguration: options?.docs?.defaultConfiguration || "production",
265
273
  options: {
@@ -299,7 +307,8 @@ function createNxPlugin(opts) {
299
307
  executor: options?.deploy?.executor || `@${framework}/nx:${options?.deploy?.targetName || "deploy"}`,
300
308
  dependsOn: options?.deploy?.dependsOn ?? [
301
309
  `^${options?.deploy?.targetName || "deploy"}`,
302
- options?.build !== false && `${options?.build?.targetName || "build"}`
310
+ options?.build !== false && `${options?.build?.targetName || "build"}`,
311
+ userConfig.skipCache ? void 0 : isSetObject.isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
303
312
  ].filter(Boolean),
304
313
  defaultConfiguration: options?.deploy?.defaultConfiguration || "production",
305
314
  options: {
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-ICIFN76F.mjs';
1
+ import { withExecutor } from './chunk-KTIFOFN6.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/docs/executor.ts
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var chunkK47ZSAOM_js = require('./chunk-K47ZSAOM.js');
3
+ var chunkTWOXCXFE_js = require('./chunk-TWOXCXFE.js');
4
4
 
5
5
  // src/plugin/index.ts
6
- var createNodesV2 = chunkK47ZSAOM_js.createNxPlugin({
6
+ var createNodesV2 = chunkTWOXCXFE_js.createNxPlugin({
7
7
  framework: "powerlines"
8
8
  });
9
9
 
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-ICIFN76F.mjs';
1
+ import { withExecutor } from './chunk-KTIFOFN6.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
  import defu from 'defu';
4
4
 
@@ -1,4 +1,4 @@
1
- import { withExecutor } from './chunk-ICIFN76F.mjs';
1
+ import { withExecutor } from './chunk-KTIFOFN6.mjs';
2
2
  import { __name } from './chunk-O6YSETKJ.mjs';
3
3
 
4
4
  // src/executors/clean/executor.ts
@@ -12,6 +12,7 @@ import { joinPaths } from '@stryke/path/join-paths';
12
12
  import { kebabCase } from '@stryke/string-format/kebab-case';
13
13
  import { titleCase } from '@stryke/string-format/title-case';
14
14
  import { isError } from '@stryke/type-checks/is-error';
15
+ import { isSetObject } from '@stryke/type-checks/is-set-object';
15
16
  import defu from 'defu';
16
17
  import { createJiti } from 'jiti';
17
18
  import { readFile } from 'node:fs/promises';
@@ -100,6 +101,7 @@ function createNxPlugin(opts) {
100
101
  }
101
102
  if (options?.clean !== false && !targets[options?.clean?.targetName || "clean"]) {
102
103
  targets[options?.clean?.targetName || "clean"] = {
104
+ cache: true,
103
105
  inputs: Array.isArray(options?.clean?.inputs) ? options.clean.inputs : withNamedInputs(targetInputs, [
104
106
  options?.clean?.inputs || "typescript"
105
107
  ]),
@@ -165,6 +167,7 @@ function createNxPlugin(opts) {
165
167
  }
166
168
  if (options?.build !== false && !targets[options?.build?.targetName || "build"]) {
167
169
  targets[options?.build?.targetName || "build"] = {
170
+ cache: true,
168
171
  inputs: Array.isArray(options?.build?.inputs) ? options.build.inputs : withNamedInputs(targetInputs, [
169
172
  options?.build?.inputs || "typescript"
170
173
  ]),
@@ -173,8 +176,9 @@ function createNxPlugin(opts) {
173
176
  ],
174
177
  executor: options?.build?.executor || `@${framework}/nx:${options?.build?.targetName || "build"}`,
175
178
  dependsOn: options?.build?.dependsOn ?? [
176
- `^${options?.build?.targetName || "build"}`
177
- ],
179
+ `^${options?.build?.targetName || "build"}`,
180
+ userConfig.skipCache ? void 0 : isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
181
+ ].filter(Boolean),
178
182
  defaultConfiguration: options?.build?.defaultConfiguration || "production",
179
183
  options: {
180
184
  entry: userConfig.entry,
@@ -199,6 +203,7 @@ function createNxPlugin(opts) {
199
203
  }
200
204
  if (options?.lint !== false && !targets[options?.lint?.targetName || "lint"]) {
201
205
  targets[options?.lint?.targetName || "lint"] = {
206
+ cache: true,
202
207
  inputs: Array.isArray(options?.lint?.inputs) ? options.lint.inputs : withNamedInputs([
203
208
  ...targetInputs,
204
209
  artifactsFolder
@@ -213,7 +218,8 @@ function createNxPlugin(opts) {
213
218
  ],
214
219
  executor: options?.lint?.executor || `@${framework}/nx:${options?.lint?.targetName || "lint"}`,
215
220
  dependsOn: options?.lint?.dependsOn ?? [
216
- `^${options?.lint?.targetName || "lint"}`
221
+ `^${options?.lint?.targetName || "lint"}`,
222
+ userConfig.skipCache ? void 0 : isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
217
223
  ].filter(Boolean),
218
224
  defaultConfiguration: options?.lint?.defaultConfiguration || "production",
219
225
  options: {
@@ -238,6 +244,7 @@ function createNxPlugin(opts) {
238
244
  }
239
245
  if (options?.docs !== false && !targets[options?.docs?.targetName || "docs"]) {
240
246
  targets[options?.docs?.targetName || "docs"] = {
247
+ cache: true,
241
248
  inputs: Array.isArray(options?.docs?.inputs) ? options.docs.inputs : withNamedInputs([
242
249
  ...targetInputs,
243
250
  artifactsFolder
@@ -253,7 +260,8 @@ function createNxPlugin(opts) {
253
260
  executor: options?.docs?.executor || `@${framework}/nx:${options?.docs?.targetName || "docs"}`,
254
261
  dependsOn: options?.docs?.dependsOn ?? [
255
262
  `^${options?.docs?.targetName || "docs"}`,
256
- options?.build !== false && `${options?.build?.targetName || "build"}`
263
+ options?.build !== false && `${options?.build?.targetName || "build"}`,
264
+ userConfig.skipCache ? void 0 : isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
257
265
  ].filter(Boolean),
258
266
  defaultConfiguration: options?.docs?.defaultConfiguration || "production",
259
267
  options: {
@@ -293,7 +301,8 @@ function createNxPlugin(opts) {
293
301
  executor: options?.deploy?.executor || `@${framework}/nx:${options?.deploy?.targetName || "deploy"}`,
294
302
  dependsOn: options?.deploy?.dependsOn ?? [
295
303
  `^${options?.deploy?.targetName || "deploy"}`,
296
- options?.build !== false && `${options?.build?.targetName || "build"}`
304
+ options?.build !== false && `${options?.build?.targetName || "build"}`,
305
+ userConfig.skipCache ? void 0 : isSetObject(options?.prepare) && options?.prepare?.targetName ? options?.prepare?.targetName : "prepare"
297
306
  ].filter(Boolean),
298
307
  defaultConfiguration: options?.deploy?.defaultConfiguration || "production",
299
308
  options: {
package/dist/executors.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  require('./chunk-XO62WWX4.js');
4
- var chunkN4YJHHFB_js = require('./chunk-N4YJHHFB.js');
5
- var chunkI2UQS6XA_js = require('./chunk-I2UQS6XA.js');
6
- var chunkZWW5WX2O_js = require('./chunk-ZWW5WX2O.js');
7
- var chunk6TS4KKHZ_js = require('./chunk-6TS4KKHZ.js');
8
- var chunk2X5EQ5TE_js = require('./chunk-2X5EQ5TE.js');
9
- require('./chunk-VYUUYCLC.js');
4
+ var chunk5V5YDXMZ_js = require('./chunk-5V5YDXMZ.js');
5
+ var chunkIC3AKKAP_js = require('./chunk-IC3AKKAP.js');
6
+ var chunkIMRO23N7_js = require('./chunk-IMRO23N7.js');
7
+ var chunkAO2QWARX_js = require('./chunk-AO2QWARX.js');
8
+ var chunkM6CMHAIS_js = require('./chunk-M6CMHAIS.js');
9
+ require('./chunk-G5D2MWDS.js');
10
10
  require('./chunk-NU3VTAH5.js');
11
11
  require('./chunk-SHUYVCID.js');
12
12
 
@@ -14,21 +14,21 @@ require('./chunk-SHUYVCID.js');
14
14
 
15
15
  Object.defineProperty(exports, "lint", {
16
16
  enumerable: true,
17
- get: function () { return chunkN4YJHHFB_js.executor_default; }
17
+ get: function () { return chunk5V5YDXMZ_js.executor_default; }
18
18
  });
19
19
  Object.defineProperty(exports, "prepare", {
20
20
  enumerable: true,
21
- get: function () { return chunkI2UQS6XA_js.executor_default; }
21
+ get: function () { return chunkIC3AKKAP_js.executor_default; }
22
22
  });
23
23
  Object.defineProperty(exports, "build", {
24
24
  enumerable: true,
25
- get: function () { return chunkZWW5WX2O_js.executor_default; }
25
+ get: function () { return chunkIMRO23N7_js.executor_default; }
26
26
  });
27
27
  Object.defineProperty(exports, "clean", {
28
28
  enumerable: true,
29
- get: function () { return chunk6TS4KKHZ_js.executor_default; }
29
+ get: function () { return chunkAO2QWARX_js.executor_default; }
30
30
  });
31
31
  Object.defineProperty(exports, "docs", {
32
32
  enumerable: true,
33
- get: function () { return chunk2X5EQ5TE_js.executor_default; }
33
+ get: function () { return chunkM6CMHAIS_js.executor_default; }
34
34
  });
@@ -1,9 +1,9 @@
1
1
  import './chunk-UV4HQO3Y.mjs';
2
- export { executor_default as lint } from './chunk-PQE6BZCU.mjs';
3
- export { executor_default as prepare } from './chunk-MO23RMS6.mjs';
4
- export { executor_default as build } from './chunk-XZ2ZMUHC.mjs';
5
- export { executor_default as clean } from './chunk-4KI2CUPF.mjs';
6
- export { executor_default as docs } from './chunk-3WUDHEEV.mjs';
7
- import './chunk-ICIFN76F.mjs';
2
+ export { executor_default as lint } from './chunk-EPUAB56B.mjs';
3
+ export { executor_default as prepare } from './chunk-4YNABHAN.mjs';
4
+ export { executor_default as build } from './chunk-XC5JK5E4.mjs';
5
+ export { executor_default as clean } from './chunk-ZXW6SZJT.mjs';
6
+ export { executor_default as docs } from './chunk-W7YBVQOT.mjs';
7
+ import './chunk-KTIFOFN6.mjs';
8
8
  import './chunk-AGZ4P3AS.mjs';
9
9
  import './chunk-O6YSETKJ.mjs';
package/dist/index.js CHANGED
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunkG4H2HOVQ_js = require('./chunk-G4H2HOVQ.js');
3
+ var chunkWJP3FWAH_js = require('./chunk-WJP3FWAH.js');
4
4
  require('./chunk-XO62WWX4.js');
5
- var chunkN4YJHHFB_js = require('./chunk-N4YJHHFB.js');
6
- var chunkI2UQS6XA_js = require('./chunk-I2UQS6XA.js');
7
- var chunkZWW5WX2O_js = require('./chunk-ZWW5WX2O.js');
8
- var chunk6TS4KKHZ_js = require('./chunk-6TS4KKHZ.js');
9
- var chunk2X5EQ5TE_js = require('./chunk-2X5EQ5TE.js');
5
+ var chunk5V5YDXMZ_js = require('./chunk-5V5YDXMZ.js');
6
+ var chunkIC3AKKAP_js = require('./chunk-IC3AKKAP.js');
7
+ var chunkIMRO23N7_js = require('./chunk-IMRO23N7.js');
8
+ var chunkAO2QWARX_js = require('./chunk-AO2QWARX.js');
9
+ var chunkM6CMHAIS_js = require('./chunk-M6CMHAIS.js');
10
10
  require('./chunk-N2YKXZ5R.js');
11
11
  var chunkWUJKJGEW_js = require('./chunk-WUJKJGEW.js');
12
- require('./chunk-VYUUYCLC.js');
13
- require('./chunk-K47ZSAOM.js');
12
+ require('./chunk-G5D2MWDS.js');
13
+ require('./chunk-TWOXCXFE.js');
14
14
  require('./chunk-NU3VTAH5.js');
15
15
  require('./chunk-IQVSZEQ6.js');
16
16
  require('./chunk-SHUYVCID.js');
@@ -19,27 +19,27 @@ require('./chunk-SHUYVCID.js');
19
19
 
20
20
  Object.defineProperty(exports, "createNodesV2", {
21
21
  enumerable: true,
22
- get: function () { return chunkG4H2HOVQ_js.createNodesV2; }
22
+ get: function () { return chunkWJP3FWAH_js.createNodesV2; }
23
23
  });
24
24
  Object.defineProperty(exports, "lint", {
25
25
  enumerable: true,
26
- get: function () { return chunkN4YJHHFB_js.executor_default; }
26
+ get: function () { return chunk5V5YDXMZ_js.executor_default; }
27
27
  });
28
28
  Object.defineProperty(exports, "prepare", {
29
29
  enumerable: true,
30
- get: function () { return chunkI2UQS6XA_js.executor_default; }
30
+ get: function () { return chunkIC3AKKAP_js.executor_default; }
31
31
  });
32
32
  Object.defineProperty(exports, "build", {
33
33
  enumerable: true,
34
- get: function () { return chunkZWW5WX2O_js.executor_default; }
34
+ get: function () { return chunkIMRO23N7_js.executor_default; }
35
35
  });
36
36
  Object.defineProperty(exports, "clean", {
37
37
  enumerable: true,
38
- get: function () { return chunk6TS4KKHZ_js.executor_default; }
38
+ get: function () { return chunkAO2QWARX_js.executor_default; }
39
39
  });
40
40
  Object.defineProperty(exports, "docs", {
41
41
  enumerable: true,
42
- get: function () { return chunk2X5EQ5TE_js.executor_default; }
42
+ get: function () { return chunkM6CMHAIS_js.executor_default; }
43
43
  });
44
44
  Object.defineProperty(exports, "sync", {
45
45
  enumerable: true,
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
- export { createNodesV2 } from './chunk-KUZFN4R7.mjs';
1
+ export { createNodesV2 } from './chunk-ELBUYWVF.mjs';
2
2
  import './chunk-UV4HQO3Y.mjs';
3
- export { executor_default as lint } from './chunk-PQE6BZCU.mjs';
4
- export { executor_default as prepare } from './chunk-MO23RMS6.mjs';
5
- export { executor_default as build } from './chunk-XZ2ZMUHC.mjs';
6
- export { executor_default as clean } from './chunk-4KI2CUPF.mjs';
7
- export { executor_default as docs } from './chunk-3WUDHEEV.mjs';
3
+ export { executor_default as lint } from './chunk-EPUAB56B.mjs';
4
+ export { executor_default as prepare } from './chunk-4YNABHAN.mjs';
5
+ export { executor_default as build } from './chunk-XC5JK5E4.mjs';
6
+ export { executor_default as clean } from './chunk-ZXW6SZJT.mjs';
7
+ export { executor_default as docs } from './chunk-W7YBVQOT.mjs';
8
8
  import './chunk-23KFTIT2.mjs';
9
9
  export { generator_default as sync, generatorFn as syncGenerator } from './chunk-326QB2VK.mjs';
10
- import './chunk-ICIFN76F.mjs';
11
- import './chunk-35MFJYOO.mjs';
10
+ import './chunk-KTIFOFN6.mjs';
11
+ import './chunk-ZYOL33SX.mjs';
12
12
  import './chunk-AGZ4P3AS.mjs';
13
13
  import './chunk-IC47MFKB.mjs';
14
14
  import './chunk-O6YSETKJ.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkVYUUYCLC_js = require('../../chunk-VYUUYCLC.js');
3
+ var chunkG5D2MWDS_js = require('../../chunk-G5D2MWDS.js');
4
4
  require('../../chunk-NU3VTAH5.js');
5
5
  require('../../chunk-SHUYVCID.js');
6
6
 
@@ -8,5 +8,5 @@ require('../../chunk-SHUYVCID.js');
8
8
 
9
9
  Object.defineProperty(exports, "withExecutor", {
10
10
  enumerable: true,
11
- get: function () { return chunkVYUUYCLC_js.withExecutor; }
11
+ get: function () { return chunkG5D2MWDS_js.withExecutor; }
12
12
  });
@@ -1,3 +1,3 @@
1
- export { withExecutor } from '../../chunk-ICIFN76F.mjs';
1
+ export { withExecutor } from '../../chunk-KTIFOFN6.mjs';
2
2
  import '../../chunk-AGZ4P3AS.mjs';
3
3
  import '../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkZWW5WX2O_js = require('../../../chunk-ZWW5WX2O.js');
6
- require('../../../chunk-VYUUYCLC.js');
5
+ var chunkIMRO23N7_js = require('../../../chunk-IMRO23N7.js');
6
+ require('../../../chunk-G5D2MWDS.js');
7
7
  require('../../../chunk-NU3VTAH5.js');
8
8
  require('../../../chunk-SHUYVCID.js');
9
9
 
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
11
11
 
12
12
  Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
- get: function () { return chunkZWW5WX2O_js.executor_default; }
14
+ get: function () { return chunkIMRO23N7_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkZWW5WX2O_js.executorFn; }
18
+ get: function () { return chunkIMRO23N7_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-XZ2ZMUHC.mjs';
2
- import '../../../chunk-ICIFN76F.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-XC5JK5E4.mjs';
2
+ import '../../../chunk-KTIFOFN6.mjs';
3
3
  import '../../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk6TS4KKHZ_js = require('../../../chunk-6TS4KKHZ.js');
6
- require('../../../chunk-VYUUYCLC.js');
5
+ var chunkAO2QWARX_js = require('../../../chunk-AO2QWARX.js');
6
+ require('../../../chunk-G5D2MWDS.js');
7
7
  require('../../../chunk-NU3VTAH5.js');
8
8
  require('../../../chunk-SHUYVCID.js');
9
9
 
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
11
11
 
12
12
  Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
- get: function () { return chunk6TS4KKHZ_js.executor_default; }
14
+ get: function () { return chunkAO2QWARX_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunk6TS4KKHZ_js.executorFn; }
18
+ get: function () { return chunkAO2QWARX_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-4KI2CUPF.mjs';
2
- import '../../../chunk-ICIFN76F.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-ZXW6SZJT.mjs';
2
+ import '../../../chunk-KTIFOFN6.mjs';
3
3
  import '../../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunk2X5EQ5TE_js = require('../../../chunk-2X5EQ5TE.js');
6
- require('../../../chunk-VYUUYCLC.js');
5
+ var chunkM6CMHAIS_js = require('../../../chunk-M6CMHAIS.js');
6
+ require('../../../chunk-G5D2MWDS.js');
7
7
  require('../../../chunk-NU3VTAH5.js');
8
8
  require('../../../chunk-SHUYVCID.js');
9
9
 
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
11
11
 
12
12
  Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
- get: function () { return chunk2X5EQ5TE_js.executor_default; }
14
+ get: function () { return chunkM6CMHAIS_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunk2X5EQ5TE_js.executorFn; }
18
+ get: function () { return chunkM6CMHAIS_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-3WUDHEEV.mjs';
2
- import '../../../chunk-ICIFN76F.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-W7YBVQOT.mjs';
2
+ import '../../../chunk-KTIFOFN6.mjs';
3
3
  import '../../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkN4YJHHFB_js = require('../../../chunk-N4YJHHFB.js');
6
- require('../../../chunk-VYUUYCLC.js');
5
+ var chunk5V5YDXMZ_js = require('../../../chunk-5V5YDXMZ.js');
6
+ require('../../../chunk-G5D2MWDS.js');
7
7
  require('../../../chunk-NU3VTAH5.js');
8
8
  require('../../../chunk-SHUYVCID.js');
9
9
 
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
11
11
 
12
12
  Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
- get: function () { return chunkN4YJHHFB_js.executor_default; }
14
+ get: function () { return chunk5V5YDXMZ_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkN4YJHHFB_js.executorFn; }
18
+ get: function () { return chunk5V5YDXMZ_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-PQE6BZCU.mjs';
2
- import '../../../chunk-ICIFN76F.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-EPUAB56B.mjs';
2
+ import '../../../chunk-KTIFOFN6.mjs';
3
3
  import '../../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../../chunk-O6YSETKJ.mjs';
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var chunkI2UQS6XA_js = require('../../../chunk-I2UQS6XA.js');
6
- require('../../../chunk-VYUUYCLC.js');
5
+ var chunkIC3AKKAP_js = require('../../../chunk-IC3AKKAP.js');
6
+ require('../../../chunk-G5D2MWDS.js');
7
7
  require('../../../chunk-NU3VTAH5.js');
8
8
  require('../../../chunk-SHUYVCID.js');
9
9
 
@@ -11,9 +11,9 @@ require('../../../chunk-SHUYVCID.js');
11
11
 
12
12
  Object.defineProperty(exports, "default", {
13
13
  enumerable: true,
14
- get: function () { return chunkI2UQS6XA_js.executor_default; }
14
+ get: function () { return chunkIC3AKKAP_js.executor_default; }
15
15
  });
16
16
  Object.defineProperty(exports, "executorFn", {
17
17
  enumerable: true,
18
- get: function () { return chunkI2UQS6XA_js.executorFn; }
18
+ get: function () { return chunkIC3AKKAP_js.executorFn; }
19
19
  });
@@ -1,4 +1,4 @@
1
- export { executor_default as default, executorFn } from '../../../chunk-MO23RMS6.mjs';
2
- import '../../../chunk-ICIFN76F.mjs';
1
+ export { executor_default as default, executorFn } from '../../../chunk-4YNABHAN.mjs';
2
+ import '../../../chunk-KTIFOFN6.mjs';
3
3
  import '../../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../../chunk-O6YSETKJ.mjs';
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkK47ZSAOM_js = require('../../chunk-K47ZSAOM.js');
3
+ var chunkTWOXCXFE_js = require('../../chunk-TWOXCXFE.js');
4
4
  require('../../chunk-NU3VTAH5.js');
5
5
  require('../../chunk-IQVSZEQ6.js');
6
6
  require('../../chunk-SHUYVCID.js');
@@ -9,13 +9,13 @@ require('../../chunk-SHUYVCID.js');
9
9
 
10
10
  Object.defineProperty(exports, "createNxPlugin", {
11
11
  enumerable: true,
12
- get: function () { return chunkK47ZSAOM_js.createNxPlugin; }
12
+ get: function () { return chunkTWOXCXFE_js.createNxPlugin; }
13
13
  });
14
14
  Object.defineProperty(exports, "getNxPluginInputs", {
15
15
  enumerable: true,
16
- get: function () { return chunkK47ZSAOM_js.getNxPluginInputs; }
16
+ get: function () { return chunkTWOXCXFE_js.getNxPluginInputs; }
17
17
  });
18
18
  Object.defineProperty(exports, "getNxTargetInputs", {
19
19
  enumerable: true,
20
- get: function () { return chunkK47ZSAOM_js.getNxTargetInputs; }
20
+ get: function () { return chunkTWOXCXFE_js.getNxTargetInputs; }
21
21
  });
@@ -1,4 +1,4 @@
1
- export { createNxPlugin, getNxPluginInputs, getNxTargetInputs } from '../../chunk-35MFJYOO.mjs';
1
+ export { createNxPlugin, getNxPluginInputs, getNxTargetInputs } from '../../chunk-ZYOL33SX.mjs';
2
2
  import '../../chunk-AGZ4P3AS.mjs';
3
3
  import '../../chunk-IC47MFKB.mjs';
4
4
  import '../../chunk-O6YSETKJ.mjs';
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var chunkG4H2HOVQ_js = require('../../chunk-G4H2HOVQ.js');
4
- require('../../chunk-K47ZSAOM.js');
3
+ var chunkWJP3FWAH_js = require('../../chunk-WJP3FWAH.js');
4
+ require('../../chunk-TWOXCXFE.js');
5
5
  require('../../chunk-NU3VTAH5.js');
6
6
  require('../../chunk-IQVSZEQ6.js');
7
7
  require('../../chunk-SHUYVCID.js');
@@ -10,5 +10,5 @@ require('../../chunk-SHUYVCID.js');
10
10
 
11
11
  Object.defineProperty(exports, "createNodesV2", {
12
12
  enumerable: true,
13
- get: function () { return chunkG4H2HOVQ_js.createNodesV2; }
13
+ get: function () { return chunkWJP3FWAH_js.createNodesV2; }
14
14
  });
@@ -1,5 +1,5 @@
1
- export { createNodesV2 } from '../../chunk-KUZFN4R7.mjs';
2
- import '../../chunk-35MFJYOO.mjs';
1
+ export { createNodesV2 } from '../../chunk-ELBUYWVF.mjs';
2
+ import '../../chunk-ZYOL33SX.mjs';
3
3
  import '../../chunk-AGZ4P3AS.mjs';
4
4
  import '../../chunk-IC47MFKB.mjs';
5
5
  import '../../chunk-O6YSETKJ.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/nx",
3
- "version": "0.11.192",
3
+ "version": "0.11.194",
4
4
  "description": "A Nx plugin to support Powerlines development in Nx monorepos.",
5
5
  "repository": {
6
6
  "type": "github",
@@ -196,12 +196,12 @@
196
196
  "defu": "^6.1.4",
197
197
  "jiti": "^2.6.1",
198
198
  "nx": "22.4.1",
199
- "powerlines": "^0.38.32"
199
+ "powerlines": "^0.38.34"
200
200
  },
201
201
  "devDependencies": {
202
202
  "@nx/workspace": "22.4.1",
203
203
  "@storm-software/testing-tools": "^1.119.75",
204
- "@types/node": "^24.10.9",
204
+ "@types/node": "^24.10.10",
205
205
  "eslint-flat-config-utils": "^2.1.4",
206
206
  "jsonc-eslint-parser": "^2.4.2",
207
207
  "tsup": "8.4.0",
@@ -210,5 +210,5 @@
210
210
  "publishConfig": { "access": "public" },
211
211
  "executors": "./executors.json",
212
212
  "generators": "./generators.json",
213
- "gitHead": "43093755bc5b18e29066b109f89a50a7e029ad4e"
213
+ "gitHead": "cc32eed2e70e1078ab7e6c80b86c2adbf86edc35"
214
214
  }