@powerlines/nx 0.13.78 → 0.13.80

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 (67) hide show
  1. package/dist/src/base/base-executor.js +5 -1
  2. package/dist/src/base/base-executor.mjs +5 -1
  3. package/dist/src/base/base-executor.mjs.map +1 -1
  4. package/dist/src/base/base-executor.untyped.d.mts +1 -3
  5. package/dist/src/base/base-executor.untyped.d.ts +1 -3
  6. package/dist/src/base/base-executor.untyped.mjs.map +1 -1
  7. package/dist/src/{base-executor-DlhT5y9h.mjs → base-executor-BdEt-X2U.mjs} +6 -2
  8. package/dist/src/base-executor-BdEt-X2U.mjs.map +1 -0
  9. package/dist/src/{base-executor-FxB6c-wO.js → base-executor-Be_4Hkpu.js} +5 -1
  10. package/dist/src/base-executor.untyped-BD9-7XGx.mjs.map +1 -1
  11. package/dist/src/executors/build/executor.d.mts.map +1 -1
  12. package/dist/src/executors/build/executor.d.ts.map +1 -1
  13. package/dist/src/executors/build/executor.js +1 -1
  14. package/dist/src/executors/build/executor.mjs +1 -1
  15. package/dist/src/executors/build/executor.mjs.map +1 -1
  16. package/dist/src/executors/build/untyped.d.mts +1 -3
  17. package/dist/src/executors/build/untyped.d.ts +1 -3
  18. package/dist/src/executors/build/untyped.mjs.map +1 -1
  19. package/dist/src/executors/clean/executor.d.mts.map +1 -1
  20. package/dist/src/executors/clean/executor.d.ts.map +1 -1
  21. package/dist/src/executors/clean/executor.js +1 -1
  22. package/dist/src/executors/clean/executor.mjs +1 -1
  23. package/dist/src/executors/clean/executor.mjs.map +1 -1
  24. package/dist/src/executors/clean/untyped.d.mts +1 -3
  25. package/dist/src/executors/clean/untyped.d.ts +1 -3
  26. package/dist/src/executors/clean/untyped.mjs.map +1 -1
  27. package/dist/src/executors/docs/executor.d.mts.map +1 -1
  28. package/dist/src/executors/docs/executor.d.ts.map +1 -1
  29. package/dist/src/executors/docs/executor.js +1 -1
  30. package/dist/src/executors/docs/executor.mjs +1 -1
  31. package/dist/src/executors/docs/executor.mjs.map +1 -1
  32. package/dist/src/executors/docs/untyped.d.mts +1 -3
  33. package/dist/src/executors/docs/untyped.d.ts +1 -3
  34. package/dist/src/executors/docs/untyped.mjs.map +1 -1
  35. package/dist/src/executors/lint/executor.d.mts.map +1 -1
  36. package/dist/src/executors/lint/executor.d.ts.map +1 -1
  37. package/dist/src/executors/lint/executor.js +1 -1
  38. package/dist/src/executors/lint/executor.mjs +1 -1
  39. package/dist/src/executors/lint/executor.mjs.map +1 -1
  40. package/dist/src/executors/lint/untyped.d.mts +1 -3
  41. package/dist/src/executors/lint/untyped.d.ts +1 -3
  42. package/dist/src/executors/lint/untyped.mjs.map +1 -1
  43. package/dist/src/executors/prepare/executor.d.mts.map +1 -1
  44. package/dist/src/executors/prepare/executor.d.ts.map +1 -1
  45. package/dist/src/executors/prepare/executor.js +1 -1
  46. package/dist/src/executors/prepare/executor.mjs +1 -1
  47. package/dist/src/executors/prepare/executor.mjs.map +1 -1
  48. package/dist/src/executors/prepare/untyped.d.mts +1 -3
  49. package/dist/src/executors/prepare/untyped.d.ts +1 -3
  50. package/dist/src/executors/prepare/untyped.mjs.map +1 -1
  51. package/dist/src/generators/sync/generator.mjs.map +1 -1
  52. package/dist/src/generators/sync/untyped.d.mts +1 -3
  53. package/dist/src/generators/sync/untyped.d.ts +1 -3
  54. package/dist/src/generators/sync/untyped.mjs.map +1 -1
  55. package/dist/src/helpers/constants.mjs.map +1 -1
  56. package/dist/src/helpers/plugin-utilities.d.mts.map +1 -1
  57. package/dist/src/helpers/plugin-utilities.d.ts.map +1 -1
  58. package/dist/src/helpers/plugin-utilities.mjs.map +1 -1
  59. package/dist/src/plugin/index.d.mts +1 -3
  60. package/dist/src/plugin/index.d.mts.map +1 -1
  61. package/dist/src/plugin/index.d.ts +1 -3
  62. package/dist/src/plugin/index.d.ts.map +1 -1
  63. package/dist/src/plugin/index.mjs.map +1 -1
  64. package/dist/src/types/plugin.d.mts.map +1 -1
  65. package/dist/src/types/plugin.d.ts.map +1 -1
  66. package/package.json +5 -5
  67. package/dist/src/base-executor-DlhT5y9h.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.mts","names":["PrepareExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../../src/executors/prepare/schema.d.ts","../../../../src/executors/prepare/executor.ts"],"mappings":";;;;;UAIiBA,qBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;;;;;AClBgD;ED4BhDC,UAAAA;ECf8B;;;;;;;;EDyB9BC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cChJK,QAAA,EAAU,eAAA,CAAgB,qBAAA"}
1
+ {"version":3,"file":"executor.d.mts","names":["PrepareExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../../src/executors/prepare/schema.d.ts","../../../../src/executors/prepare/executor.ts"],"mappings":";;;;;UAIiBA,qBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;AA2IS;;;;AC7JuC;ED4BhDC,UAAAA;ECf8B;AAAsB;;;;;;;EDyBpDC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cChJK,QAAA,EAAU,eAAe,CAAC,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","names":["PrepareExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../../src/executors/prepare/schema.d.ts","../../../../src/executors/prepare/executor.ts"],"mappings":";;;;;UAIiBA,qBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;;;;;AClBgD;ED4BhDC,UAAAA;ECf8B;;;;;;;;EDyB9BC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cChJK,QAAA,EAAU,eAAA,CAAgB,qBAAA;AAAA"}
1
+ {"version":3,"file":"executor.d.ts","names":["PrepareExecutorSchema","Array","Record","config","configFile","input","tsconfig","outputPath","copyPath","sourceMap","minify","format","platform","external","noExternal","skipNodeModulesBundle","mode","logLevel","define","assets","output","glob","ignore","dot","additionalArgs","autoInstall","skipCache"],"sources":["../../../../src/executors/prepare/schema.d.ts","../../../../src/executors/prepare/executor.ts"],"mappings":";;;;;UAIiBA,qBAAAA;;;;;;;;;EAShBG,MAAAA;;;;;;;;;EAUAC,UAAAA;;;;;;;;;EAUAC,KAAAA,GAAQJ,KAAAA;;;;;;;;;EAURK,QAAAA;;;;AA2IS;;;;AC7JuC;ED4BhDC,UAAAA;ECf8B;AAAsB;;;;;;;EDyBpDC,QAAAA;;;;;;;EAQAC,SAAAA;;;;;;;EAQAC,MAAAA;;;;;;;;EASAC,MAAAA,GAASV,KAAAA;;;;;;;;;EAUTW,QAAAA;;;;;;;EAQAC,QAAAA,GAAWZ,KAAAA;;;;;;;EAQXa,UAAAA,GAAab,KAAAA;;;;;;;EAQbc,qBAAAA;;;;;;;;;EAUAC,IAAAA;;;;;;;;;EAUAC,QAAAA;;;;;;;EAQAC,MAAAA,GAAShB,MAAAA;;;;;;;EAQTiB,MAAAA,GAASlB,KAAAA;IAAQI,KAAAA;IAAgBe,MAAAA;IAAiBC,IAAAA;IAAcC,MAAAA;IAAmBC,GAAAA;EAAAA;;;;;;;EAQnFC,cAAAA,GAAiBtB,MAAAA;;;;;;;EAQjBuB,WAAAA;;;;;;;EAQAC,SAAAA;AAAAA;;;cChJK,QAAA,EAAU,eAAe,CAAC,qBAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- const require_base_executor = require('../../base-executor-FxB6c-wO.js');
1
+ const require_base_executor = require('../../base-executor-Be_4Hkpu.js');
2
2
 
3
3
  //#region src/executors/prepare/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1,4 +1,4 @@
1
- import { t as withExecutor } from "../../base-executor-DlhT5y9h.mjs";
1
+ import { t as withExecutor } from "../../base-executor-BdEt-X2U.mjs";
2
2
 
3
3
  //#region src/executors/prepare/executor.ts
4
4
  async function executorFn(context, api) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.mjs","names":[],"sources":["../../../../src/executors/prepare/executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { PromiseExecutor } from \"@nx/devkit\";\nimport { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport type { PowerlinesEngine } from \"powerlines/engine\";\nimport {\n PowerlinesExecutorContext,\n withExecutor\n} from \"../../base/base-executor\";\nimport { PrepareExecutorSchema } from \"./schema\";\n\nasync function executorFn(\n context: PowerlinesExecutorContext<\"prepare\", PrepareExecutorSchema>,\n api: PowerlinesEngine\n): Promise<BaseExecutorResult> {\n await api.prepare(context.inlineConfig);\n\n return {\n success: true\n };\n}\n\nconst executor: PromiseExecutor<PrepareExecutorSchema> = withExecutor<\n \"prepare\",\n PrepareExecutorSchema\n>(\"prepare\", executorFn);\n\nexport default executor;\n"],"mappings":";;;AA2BA,eAAe,WACb,SACA,KAC6B;AAC7B,OAAM,IAAI,QAAQ,QAAQ,aAAa;AAEvC,QAAO,EACL,SAAS,MACV;;AAGH,MAAM,WAAmD,aAGvD,WAAW,WAAW"}
1
+ {"version":3,"file":"executor.mjs","names":[],"sources":["../../../../src/executors/prepare/executor.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { PromiseExecutor } from \"@nx/devkit\";\nimport { BaseExecutorResult } from \"@storm-software/workspace-tools/types\";\nimport type { PowerlinesEngine } from \"powerlines/engine\";\nimport {\n PowerlinesExecutorContext,\n withExecutor\n} from \"../../base/base-executor\";\nimport { PrepareExecutorSchema } from \"./schema\";\n\nasync function executorFn(\n context: PowerlinesExecutorContext<\"prepare\", PrepareExecutorSchema>,\n api: PowerlinesEngine\n): Promise<BaseExecutorResult> {\n await api.prepare(context.inlineConfig);\n\n return {\n success: true\n };\n}\n\nconst executor: PromiseExecutor<PrepareExecutorSchema> = withExecutor<\n \"prepare\",\n PrepareExecutorSchema\n>(\"prepare\", executorFn);\n\nexport default executor;\n"],"mappings":";;;AA2BA,eAAe,WACb,SACA,KAC6B;CAC7B,MAAM,IAAI,QAAQ,QAAQ,YAAY;CAEtC,OAAO,EACL,SAAS,KACX;AACF;AAEA,MAAM,WAAmD,aAGvD,WAAW,UAAU"}
@@ -1,7 +1,5 @@
1
- import * as _$untyped from "untyped";
2
-
3
1
  //#region src/executors/prepare/untyped.d.ts
4
- declare const _default: _$untyped.SchemaDefinition;
2
+ declare const _default: import("untyped").SchemaDefinition;
5
3
  //#endregion
6
4
  export { _default as default };
7
5
  //# sourceMappingURL=untyped.d.mts.map
@@ -1,6 +1,4 @@
1
- import * as _$untyped from "untyped";
2
-
3
1
  //#region src/executors/prepare/untyped.d.ts
4
- declare const _default: _$untyped.SchemaDefinition;
2
+ declare const _default: import("untyped").SchemaDefinition;
5
3
  export = _default;
6
4
  //# sourceMappingURL=untyped.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"untyped.mjs","names":["baseExecutorSchema"],"sources":["../../../../src/executors/prepare/untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\nimport baseExecutorSchema from \"../../base/base-executor.untyped\";\n\nexport default defineUntypedSchema({\n ...baseExecutorSchema,\n $schema: {\n id: \"PrepareExecutorSchema\",\n title: \"Prepare Executor\",\n description:\n \"A type definition for the Powerlines - Prepare executor schema\",\n required: []\n },\n autoInstall: {\n $schema: {\n title: \"Auto Install\",\n type: \"boolean\",\n description: \"Automatically install dependencies during prepare stage\"\n }\n },\n skipCache: {\n $schema: {\n title: \"Skip Cache\",\n type: \"boolean\",\n description:\n \"Skip the caching mechanism during the build process (if required)\"\n }\n }\n});\n"],"mappings":";;;;AAqBA,sBAAe,oBAAoB;CACjC,GAAGA;CACH,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,EAAE;EACb;CACD,aAAa,EACX,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;EACd,EACF;CACD,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;EACH,EACF;CACF,CAAC"}
1
+ {"version":3,"file":"untyped.mjs","names":["baseExecutorSchema"],"sources":["../../../../src/executors/prepare/untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\nimport baseExecutorSchema from \"../../base/base-executor.untyped\";\n\nexport default defineUntypedSchema({\n ...baseExecutorSchema,\n $schema: {\n id: \"PrepareExecutorSchema\",\n title: \"Prepare Executor\",\n description:\n \"A type definition for the Powerlines - Prepare executor schema\",\n required: []\n },\n autoInstall: {\n $schema: {\n title: \"Auto Install\",\n type: \"boolean\",\n description: \"Automatically install dependencies during prepare stage\"\n }\n },\n skipCache: {\n $schema: {\n title: \"Skip Cache\",\n type: \"boolean\",\n description:\n \"Skip the caching mechanism during the build process (if required)\"\n }\n }\n});\n"],"mappings":";;;;AAqBA,sBAAe,oBAAoB;CACjC,GAAGA;CACH,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,aAAa,EACX,SAAS;EACP,OAAO;EACP,MAAM;EACN,aAAa;CACf,EACF;CACA,WAAW,EACT,SAAS;EACP,OAAO;EACP,MAAM;EACN,aACE;CACJ,EACF;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.mjs","names":[],"sources":["../../../../src/generators/sync/generator.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { readNxJson, Tree } from \"@nx/devkit\";\nimport { SyncGeneratorResult } from \"nx/src/utils/sync-generators\";\nimport type { SyncGeneratorSchema } from \"./schema\";\n\nexport async function generatorFn(tree: Tree): Promise<SyncGeneratorResult> {\n // if (\n // !tree.exists(\"/legal-message.txt\") ||\n // tree.read(\"/legal-message.txt\").toString() !==\n // \"This is an important legal message.\"\n // ) {\n // tree.write(\"/legal-message.txt\", \"This is an important legal message.\");\n // }\n\n // const persistedMeta = await getPersistedMeta(this.context);\n // const checksum = await getChecksum(this.context.options.projectRoot);\n\n // const projectGraph = await createProjectGraphAsync();\n // Object.values(projectGraph.nodes).forEach(project => {\n // tree.write(\n // joinPathFragments(project.data.root, \"license.txt\"),\n // `${project.name} uses the Acme Corp license.`\n // );\n // });\n\n const nxJson = readNxJson(tree);\n const userOptions = nxJson?.sync?.generatorOptions?.[\n \"@powerlines/nx:sync\"\n ] as SyncGeneratorSchema;\n\n // const projectGraph = await createProjectGraphAsync();\n // const projectRoots = new Set<string>();\n\n return {\n outOfSyncMessage:\n userOptions?.outOfSyncMessage ||\n \"The legal-message.txt file needs to be created\"\n };\n}\n\nexport default generatorFn;\n\n// export default withRunGenerator(\"Powerlines sync generator\", generatorFn, {\n// skipReadingConfig: true\n// });\n"],"mappings":";;;AAsBA,eAAsB,YAAY,MAA0C;AA4B1E,QAAO,EACL,mBATa,WAAW,KACA,EAAE,MAAM,mBAChC,yBAQe,oBACb,kDACH"}
1
+ {"version":3,"file":"generator.mjs","names":[],"sources":["../../../../src/generators/sync/generator.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { readNxJson, Tree } from \"@nx/devkit\";\nimport { SyncGeneratorResult } from \"nx/src/utils/sync-generators\";\nimport type { SyncGeneratorSchema } from \"./schema\";\n\nexport async function generatorFn(tree: Tree): Promise<SyncGeneratorResult> {\n // if (\n // !tree.exists(\"/legal-message.txt\") ||\n // tree.read(\"/legal-message.txt\").toString() !==\n // \"This is an important legal message.\"\n // ) {\n // tree.write(\"/legal-message.txt\", \"This is an important legal message.\");\n // }\n\n // const persistedMeta = await getPersistedMeta(this.context);\n // const checksum = await getChecksum(this.context.options.projectRoot);\n\n // const projectGraph = await createProjectGraphAsync();\n // Object.values(projectGraph.nodes).forEach(project => {\n // tree.write(\n // joinPathFragments(project.data.root, \"license.txt\"),\n // `${project.name} uses the Acme Corp license.`\n // );\n // });\n\n const nxJson = readNxJson(tree);\n const userOptions = nxJson?.sync?.generatorOptions?.[\n \"@powerlines/nx:sync\"\n ] as SyncGeneratorSchema;\n\n // const projectGraph = await createProjectGraphAsync();\n // const projectRoots = new Set<string>();\n\n return {\n outOfSyncMessage:\n userOptions?.outOfSyncMessage ||\n \"The legal-message.txt file needs to be created\"\n };\n}\n\nexport default generatorFn;\n\n// export default withRunGenerator(\"Powerlines sync generator\", generatorFn, {\n// skipReadingConfig: true\n// });\n"],"mappings":";;;AAsBA,eAAsB,YAAY,MAA0C;CA4B1E,OAAO,EACL,mBATa,WAAW,IACD,GAAG,MAAM,mBAChC,yBAQe,oBACb,iDACJ;AACF"}
@@ -1,7 +1,5 @@
1
- import * as _$untyped from "untyped";
2
-
3
1
  //#region src/generators/sync/untyped.d.ts
4
- declare const _default: _$untyped.SchemaDefinition;
2
+ declare const _default: import("untyped").SchemaDefinition;
5
3
  //#endregion
6
4
  export { _default as default };
7
5
  //# sourceMappingURL=untyped.d.mts.map
@@ -1,6 +1,4 @@
1
- import * as _$untyped from "untyped";
2
-
3
1
  //#region src/generators/sync/untyped.d.ts
4
- declare const _default: _$untyped.SchemaDefinition;
2
+ declare const _default: import("untyped").SchemaDefinition;
5
3
  export = _default;
6
4
  //# sourceMappingURL=untyped.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"untyped.mjs","names":[],"sources":["../../../../src/generators/sync/untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"SyncGeneratorSchema\",\n title: \"Sync Generator\",\n description:\n \"A type definition for the Powerlines - Sync generator's options\",\n required: []\n },\n outOfSyncMessage: {\n $schema: {\n title: \"Out of Sync Message\",\n type: \"string\",\n description:\n \"The message to display when the project is out of sync with the legal-message.txt file\"\n },\n $default: \"The legal-message.txt file needs to be created\"\n }\n});\n"],"mappings":";;;AAoBA,sBAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,EAAE;EACb;CACD,kBAAkB;EAChB,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;GACH;EACD,UAAU;EACX;CACF,CAAC"}
1
+ {"version":3,"file":"untyped.mjs","names":[],"sources":["../../../../src/generators/sync/untyped.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { defineUntypedSchema } from \"untyped\";\n\nexport default defineUntypedSchema({\n $schema: {\n id: \"SyncGeneratorSchema\",\n title: \"Sync Generator\",\n description:\n \"A type definition for the Powerlines - Sync generator's options\",\n required: []\n },\n outOfSyncMessage: {\n $schema: {\n title: \"Out of Sync Message\",\n type: \"string\",\n description:\n \"The message to display when the project is out of sync with the legal-message.txt file\"\n },\n $default: \"The legal-message.txt file needs to be created\"\n }\n});\n"],"mappings":";;;AAoBA,sBAAe,oBAAoB;CACjC,SAAS;EACP,IAAI;EACJ,OAAO;EACP,aACE;EACF,UAAU,CAAC;CACb;CACA,kBAAkB;EAChB,SAAS;GACP,OAAO;GACP,MAAM;GACN,aACE;EACJ;EACA,UAAU;CACZ;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/helpers/constants.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * A list of Nx input strings that describe the Powerlines configuration file\n */\nexport const CONFIG_INPUTS = [\n \"{projectRoot}/{framework}.json\",\n \"{projectRoot}/{framework}.*.json\",\n \"{projectRoot}/{framework}.jsonc\",\n \"{projectRoot}/{framework}.*.jsonc\",\n \"{projectRoot}/{framework}.json5\",\n \"{projectRoot}/{framework}.*.json5\",\n \"{projectRoot}/{framework}.yaml\",\n \"{projectRoot}/{framework}.*.yaml\",\n \"{projectRoot}/{framework}.yml\",\n \"{projectRoot}/{framework}.*.yml\",\n \"{projectRoot}/{framework}.toml\",\n \"{projectRoot}/{framework}.*.toml\",\n \"{projectRoot}/{framework}.config.js\",\n \"{projectRoot}/{framework}.*.config.js\",\n \"{projectRoot}/{framework}.config.cjs\",\n \"{projectRoot}/{framework}.*.config.cjs\",\n \"{projectRoot}/{framework}.config.mjs\",\n \"{projectRoot}/{framework}.*.config.mjs\",\n \"{projectRoot}/{framework}.config.ts\",\n \"{projectRoot}/{framework}.*.config.ts\",\n \"{projectRoot}/{framework}.config.cts\",\n \"{projectRoot}/{framework}.*.config.cts\",\n \"{projectRoot}/{framework}.config.mts\",\n \"{projectRoot}/{framework}.*.config.mts\"\n] as const;\n"],"mappings":";;;;AAqBA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD"}
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../../src/helpers/constants.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * A list of Nx input strings that describe the Powerlines configuration file\n */\nexport const CONFIG_INPUTS = [\n \"{projectRoot}/{framework}.json\",\n \"{projectRoot}/{framework}.*.json\",\n \"{projectRoot}/{framework}.jsonc\",\n \"{projectRoot}/{framework}.*.jsonc\",\n \"{projectRoot}/{framework}.json5\",\n \"{projectRoot}/{framework}.*.json5\",\n \"{projectRoot}/{framework}.yaml\",\n \"{projectRoot}/{framework}.*.yaml\",\n \"{projectRoot}/{framework}.yml\",\n \"{projectRoot}/{framework}.*.yml\",\n \"{projectRoot}/{framework}.toml\",\n \"{projectRoot}/{framework}.*.toml\",\n \"{projectRoot}/{framework}.config.js\",\n \"{projectRoot}/{framework}.*.config.js\",\n \"{projectRoot}/{framework}.config.cjs\",\n \"{projectRoot}/{framework}.*.config.cjs\",\n \"{projectRoot}/{framework}.config.mjs\",\n \"{projectRoot}/{framework}.*.config.mjs\",\n \"{projectRoot}/{framework}.config.ts\",\n \"{projectRoot}/{framework}.*.config.ts\",\n \"{projectRoot}/{framework}.config.cts\",\n \"{projectRoot}/{framework}.*.config.cts\",\n \"{projectRoot}/{framework}.config.mts\",\n \"{projectRoot}/{framework}.*.config.mts\"\n] as const;\n"],"mappings":";;;;AAqBA,MAAa,gBAAgB;CAC3B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-utilities.d.mts","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"mappings":";;;;;;AA6DA;;;;iBAAgB,iBAAA,CAAkB,SAAA;AAUlC;;;;;AAMA;AANA,iBAAgB,iBAAA,CAAkB,SAAA;AAAA,UAMjB,qBAAA;EAAqB;;;;;;AA+CtC;;EAtCE,IAAA;EAuCiB;;;;;;;;EA7BjB,eAAA;EA6BmC;;;;;;;;EAnBnC,SAAA;AAAA;;;;;;;iBAkBc,cAAA,kBACG,eAAA,GAAkB,eAAA,CAAA,CACnC,IAAA,GAAO,qBAAA,GAAwB,aAAA,CAAc,QAAA"}
1
+ {"version":3,"file":"plugin-utilities.d.mts","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"mappings":";;;;;;AA6DA;;;;iBAAgB,iBAAA,CAAkB,SAAiB;AAUnD;;;;AAAmD;AAMnD;AANA,iBAAgB,iBAAA,CAAkB,SAAiB;AAAA,UAMlC,qBAAA;EAAqB;;;;;AA6B3B;AAkBX;;EAtCE,IAAA;EAuCiB;;;;;;;;EA7BjB,eAAA;EA6BmC;;;;;;AACkB;;EApBrD,SAAA;AAAA;;;;;;;iBAkBc,cAAA,kBACG,eAAA,GAAkB,eAAA,CAAA,CACnC,IAAA,GAAO,qBAAA,GAAwB,aAAA,CAAc,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-utilities.d.ts","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"mappings":";;;;;;AA6DA;;;;iBAAgB,iBAAA,CAAkB,SAAA;AAUlC;;;;;AAMA;AANA,iBAAgB,iBAAA,CAAkB,SAAA;AAAA,UAMjB,qBAAA;EAAqB;;;;;;AA+CtC;;EAtCE,IAAA;EAuCiB;;;;;;;;EA7BjB,eAAA;EA6BmC;;;;;;;;EAnBnC,SAAA;AAAA;;;;;;;iBAkBc,cAAA,kBACG,eAAA,GAAkB,eAAA,CAAA,CACnC,IAAA,GAAO,qBAAA,GAAwB,aAAA,CAAc,QAAA"}
1
+ {"version":3,"file":"plugin-utilities.d.ts","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"mappings":";;;;;;AA6DA;;;;iBAAgB,iBAAA,CAAkB,SAAiB;AAUnD;;;;AAAmD;AAMnD;AANA,iBAAgB,iBAAA,CAAkB,SAAiB;AAAA,UAMlC,qBAAA;EAAqB;;;;;AA6B3B;AAkBX;;EAtCE,IAAA;EAuCiB;;;;;;;;EA7BjB,eAAA;EA6BmC;;;;;;AACkB;;EApBrD,SAAA;AAAA;;;;;;;iBAkBc,cAAA,kBACG,eAAA,GAAkB,eAAA,CAAA,CACnC,IAAA,GAAO,qBAAA,GAAwB,aAAA,CAAc,QAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-utilities.mjs","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/* eslint-disable no-console */\n\nimport type { CreateNodesResultV2, CreateNodesV2 } from \"@nx/devkit\";\nimport { createNodesFromFiles } from \"@nx/devkit\";\nimport type { ProjectTagVariant } from \"@storm-software/workspace-tools/types\";\nimport { withNamedInputs } from \"@storm-software/workspace-tools/utils/nx-json\";\nimport {\n getProjectConfigFromProjectRoot,\n getProjectRoot,\n getRoot\n} from \"@storm-software/workspace-tools/utils/plugin-helpers\";\nimport {\n addProjectTag,\n setDefaultProjectTags\n} from \"@storm-software/workspace-tools/utils/project-tags\";\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport { getEnvPaths } from \"@stryke/env/get-env-paths\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { PackageJson } from \"@stryke/types/package-json\";\nimport defu from \"defu\";\nimport { readFile } from \"node:fs/promises\";\nimport { readNxJson } from \"nx/src/config/nx-json.js\";\nimport type {\n ProjectConfiguration,\n TargetConfiguration\n} from \"nx/src/config/workspace-json-project-json.js\";\nimport type { PackageJson as PackageJsonNx } from \"nx/src/utils/package-json.js\";\nimport { readTargetsFromPackageJson } from \"nx/src/utils/package-json.js\";\nimport type { NxPluginOptions } from \"../types/plugin\";\nimport { CONFIG_INPUTS } from \"./constants\";\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxTargetInputs(framework: string): string[] {\n return CONFIG_INPUTS.map(input => input.replace(\"{framework}\", framework));\n}\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxPluginInputs(framework: string): string {\n return `**/{${getNxTargetInputs(framework)\n .map(input => input.replace(\"{projectRoot}/\", \"\"))\n .join(\",\")}}`;\n}\n\nexport interface CreateNxPluginOptions {\n /**\n * The name of the Nx plugin to create\n *\n * @remarks\n * This will be used in logging and project tagging.\n *\n * @defaultValue \"\\{framework\\}/plugin/nx\"\n */\n name?: string;\n\n /**\n * The folder where the generated runtime artifacts will be located\n *\n * @remarks\n * This folder will contain all runtime artifacts and builtins generated during the \"prepare\" phase.\n *\n * @defaultValue \"\\{projectRoot\\}/.powerlines\"\n */\n artifactsFolder?: string;\n\n /**\n * A string identifier that allows a child framework or tool to identify itself when using Powerlines.\n *\n * @remarks\n * If no values are provided for {@link OutputConfig.dts | output.dts} or {@link OutputConfig.artifactsFolder | output.artifactsFolder}, this value will be used as the default.\n *\n * @defaultValue \"powerlines\"\n */\n framework?: string;\n}\n\n// type LoadUserConfigFileFunction = (\n// cwd: string,\n// root: string,\n// mode: Mode,\n// command: string,\n// framework?: PartialKeys<FrameworkOptions, \"orgId\">,\n// configFile?: string\n// ) => Promise<ParsedUserConfig>;\n\n/**\n * Creates an Nx plugin that integrates Powerlines into the Nx build process.\n *\n * @param opts - Options for creating the Nx plugin\n * @returns A CreateNodesV2 function that can be used as an Nx plugin\n */\nexport function createNxPlugin<\n TOptions extends NxPluginOptions = NxPluginOptions\n>(opts?: CreateNxPluginOptions): CreateNodesV2<TOptions> {\n const framework = kebabCase(opts?.framework) || \"powerlines\";\n const title = `${titleCase(framework)} Nx Plugin`;\n\n try {\n const name = opts?.name || `${framework}/nx/plugin`;\n const artifactsFolder =\n opts?.artifactsFolder || `{projectRoot}/.${framework}`;\n\n const targetInputs = getNxTargetInputs(framework);\n const pluginInputs = getNxPluginInputs(framework);\n\n return [\n pluginInputs,\n async (configFiles, options, contextV2): Promise<CreateNodesResultV2> => {\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Initializing the ${title} for the following inputs: ${pluginInputs}`\n );\n }\n\n const envPaths = getEnvPaths({\n orgId: \"storm-software\",\n appId: framework,\n workspaceRoot: contextV2.workspaceRoot\n });\n if (!envPaths.cache) {\n throw new Error(\"The cache directory could not be determined.\");\n }\n\n const nxJson = readNxJson(contextV2.workspaceRoot);\n // const resolver = createJiti(contextV2.workspaceRoot, {\n // debug: !!options?.debug,\n // interopDefault: true,\n // fsCache: joinPaths(\n // envPaths.cache,\n // \"nx-plugin\",\n // murmurhash(contextV2.workspaceRoot, {\n // maxLength: 45\n // }),\n // \"jiti\"\n // ),\n // moduleCache: true\n // });\n\n // let loadUserConfigFile: LoadUserConfigFileFunction | undefined;\n // try {\n // loadUserConfigFile = await resolver\n // .import<{\n // loadUserConfigFile: LoadUserConfigFileFunction;\n // }>(resolver.esmResolve(\"powerlines/config\"))\n // .then(mod => mod?.loadUserConfigFile);\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration file function: ${\n // isError(error) ? error.message : \"Unknown error\"\n // }`\n // );\n // }\n\n return createNodesFromFiles(\n async (configFile, _, context) => {\n try {\n const projectRoot = getProjectRoot(\n configFile,\n contextV2.workspaceRoot\n );\n if (!projectRoot) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - package.json and ${\n framework\n } configuration files (i.e. ${\n framework\n }.config.ts) must be located in the project root directory: ${\n configFile\n }`\n );\n\n return {};\n }\n\n const root = getRoot(projectRoot, context);\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Loading ${\n framework\n } user configuration for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n // let userConfig = {} as UserConfig;\n // try {\n // if (loadUserConfigFile) {\n // const parsedConfig = await loadUserConfigFile(\n // contextV2.workspaceRoot,\n // projectRoot,\n // isDevelopment\n // ? \"development\"\n // : isTest\n // ? \"test\"\n // : \"production\",\n // \"build\",\n // { name: framework },\n // configFile\n // );\n // if (isSetObject(parsedConfig)) {\n // userConfig = parsedConfig.config as UserConfig;\n // }\n // }\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration for project in ${\n // projectRoot\n // } - ${\n // isError(error)\n // ? error.message\n // : isSetString(error)\n // ? error\n // : \"Unknown error\"\n // } \\n\\nPlease note: This error can occur if the project depends on another package in the workspace and the dependent package has not been built yet. To resolve this issue, please ensure that all dependent packages have been built successfully.${\n // isError(error) && error.stack\n // ? `\\n\\nStack trace:\\n${error.stack}`\n // : \"\"\n // }`\n // );\n // }\n\n if (\n !existsSync(\n joinPaths(\n contextV2.workspaceRoot,\n projectRoot,\n \"package.json\"\n )\n )\n ) {\n if (options?.verboseOutput) {\n console.warn(\n `[${\n title\n }] - ${new Date().toISOString()} - Cannot find \\`package.json\\` file in the project's root directory (path: \"${joinPaths(\n contextV2.workspaceRoot,\n projectRoot\n )}\"). Skipping project configuration.`\n );\n }\n\n return {};\n }\n\n const packageJsonContent = await readFile(\n joinPaths(contextV2.workspaceRoot, projectRoot, \"package.json\"),\n \"utf8\"\n );\n if (!packageJsonContent) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No package.json file found for project in root directory ${projectRoot}`\n );\n }\n\n return {};\n }\n\n const packageJson: PackageJson = JSON.parse(packageJsonContent);\n // if (\n // !(userConfig && Object.keys(userConfig).length > 0) &&\n // !packageJson?.[camelCase(framework)]\n // ) {\n // if (options?.verboseOutput) {\n // console.debug(\n // `[${title}] - ${new Date().toISOString()} - Skipping ${projectRoot} - no ${\n // framework\n // } configuration found for project in root directory.`\n // );\n // }\n\n // return {};\n // }\n\n const projectConfig = getProjectConfigFromProjectRoot(\n projectRoot,\n packageJson\n );\n if (!projectConfig) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No project configuration found for project in root directory ${\n projectRoot\n }`\n );\n }\n\n return {};\n }\n\n const targets: ProjectConfiguration[\"targets\"] =\n readTargetsFromPackageJson(\n packageJson as PackageJsonNx,\n nxJson,\n projectRoot,\n context.workspaceRoot\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Preparing Nx targets for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n if (\n options?.clean !== false &&\n !targets[options?.clean?.targetName || \"clean\"]\n ) {\n targets[options?.clean?.targetName || \"clean\"] = {\n cache: options?.clean?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.clean?.inputs)\n ? options.clean.inputs\n : withNamedInputs(targetInputs, [\n options?.clean?.inputs || \"typescript\"\n ]),\n outputs: options?.clean?.outputs,\n executor:\n options?.clean?.executor ||\n `@${framework}/nx:${options?.clean?.targetName || \"clean\"}`,\n dependsOn: options?.clean?.dependsOn ?? [\n `^${options?.clean?.targetName || \"clean\"}`\n ],\n defaultConfiguration:\n options?.clean?.defaultConfiguration || \"production\",\n options: {\n root: projectRoot,\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.prepare !== false &&\n !targets[options?.prepare?.targetName || \"prepare\"]\n ) {\n targets[options?.prepare?.targetName || \"prepare\"] = {\n cache: options?.prepare?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.prepare?.inputs)\n ? options.prepare.inputs\n : withNamedInputs(targetInputs, [\n options?.prepare?.inputs || \"typescript\"\n ]),\n outputs: options?.prepare?.outputs ?? [artifactsFolder],\n executor:\n options?.prepare?.executor ||\n `@${framework}/nx:${options?.prepare?.targetName || \"prepare\"}`,\n dependsOn:\n options?.prepare?.dependsOn ??\n ([\n `^${options?.prepare?.targetName || \"build\"}`,\n options?.clean !== false &&\n `${options?.clean?.targetName || \"clean\"}`\n ].filter(Boolean) as string[]),\n defaultConfiguration:\n options?.prepare?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.build !== false &&\n !targets[options?.build?.targetName || \"build\"]\n ) {\n targets[options?.build?.targetName || \"build\"] = {\n cache: options?.build?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.build?.inputs)\n ? options.build.inputs\n : withNamedInputs(targetInputs, [\n options?.build?.inputs || \"typescript\"\n ]),\n outputs: options?.build?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.build?.executor ||\n `@${framework}/nx:${options?.build?.targetName || \"build\"}`,\n dependsOn:\n options?.build?.dependsOn ??\n ([\n `^${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.build?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.lint !== false &&\n !targets[options?.lint?.targetName || \"lint\"]\n ) {\n targets[options?.lint?.targetName || \"lint\"] = {\n cache: options?.lint?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.lint?.inputs)\n ? options.lint.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.lint?.inputs\n ? [options.lint.inputs]\n : [\"linting\", \"typescript\"]\n ),\n outputs: options?.lint?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.lint?.executor ||\n `@${framework}/nx:${options?.lint?.targetName || \"lint\"}`,\n dependsOn:\n options?.lint?.dependsOn ??\n ([\n `^${options?.lint?.targetName || \"lint\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.lint?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.docs !== false &&\n !targets[options?.docs?.targetName || \"docs\"]\n ) {\n targets[options?.docs?.targetName || \"docs\"] = {\n cache: options?.docs?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.docs?.inputs)\n ? options.docs.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.docs?.inputs\n ? [options.docs.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.docs?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.docs?.executor ||\n `@${framework}/nx:${options?.docs?.targetName || \"docs\"}`,\n dependsOn:\n options?.docs?.dependsOn ??\n ([\n `^${options?.docs?.targetName || \"docs\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.docs?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.deploy !== false &&\n !targets[options?.deploy?.targetName || \"deploy\"]\n ) {\n targets[options?.deploy?.targetName || \"deploy\"] = {\n cache: options?.deploy?.cache ?? false,\n inputs: Array.isArray(options?.deploy?.inputs)\n ? options.deploy.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.deploy?.inputs\n ? [options.deploy.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.deploy?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.deploy?.executor ||\n `@${framework}/nx:${options?.deploy?.targetName || \"deploy\"}`,\n dependsOn:\n options?.deploy?.dependsOn ??\n ([\n `^${options?.deploy?.targetName || \"deploy\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.deploy?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n setDefaultProjectTags(projectConfig, name);\n addProjectTag(\n projectConfig,\n framework as ProjectTagVariant,\n projectConfig.projectType || \"library\",\n {\n overwrite: true\n }\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${\n title\n }] - ${new Date().toISOString()} - Completed preparing Nx configuration for project in root directory ${projectRoot}.`\n );\n }\n\n return {\n projects: {\n [root]: defu(projectConfig, {\n projectType: projectConfig.projectType || \"library\",\n root,\n sourceRoot: joinPaths(root, \"src\"),\n targets\n })\n }\n };\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - Failed to process the project configuration for file \"${\n configFile\n }\" - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error\"\n }`\n );\n\n return {};\n }\n },\n configFiles,\n options,\n contextV2\n );\n }\n ];\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error during plugin initialization\"\n }`\n );\n\n throw new Error(\n `Failed to initialize the ${title} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"See previous logs for more details\"\n }`,\n {\n cause: error instanceof Error ? error : undefined\n }\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-utilities.mjs","names":[],"sources":["../../../src/helpers/plugin-utilities.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/* eslint-disable no-console */\n\nimport type { CreateNodesResultV2, CreateNodesV2 } from \"@nx/devkit\";\nimport { createNodesFromFiles } from \"@nx/devkit\";\nimport type { ProjectTagVariant } from \"@storm-software/workspace-tools/types\";\nimport { withNamedInputs } from \"@storm-software/workspace-tools/utils/nx-json\";\nimport {\n getProjectConfigFromProjectRoot,\n getProjectRoot,\n getRoot\n} from \"@storm-software/workspace-tools/utils/plugin-helpers\";\nimport {\n addProjectTag,\n setDefaultProjectTags\n} from \"@storm-software/workspace-tools/utils/project-tags\";\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport { getEnvPaths } from \"@stryke/env/get-env-paths\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { PackageJson } from \"@stryke/types/package-json\";\nimport defu from \"defu\";\nimport { readFile } from \"node:fs/promises\";\nimport { readNxJson } from \"nx/src/config/nx-json.js\";\nimport type {\n ProjectConfiguration,\n TargetConfiguration\n} from \"nx/src/config/workspace-json-project-json.js\";\nimport type { PackageJson as PackageJsonNx } from \"nx/src/utils/package-json.js\";\nimport { readTargetsFromPackageJson } from \"nx/src/utils/package-json.js\";\nimport type { NxPluginOptions } from \"../types/plugin\";\nimport { CONFIG_INPUTS } from \"./constants\";\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxTargetInputs(framework: string): string[] {\n return CONFIG_INPUTS.map(input => input.replace(\"{framework}\", framework));\n}\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxPluginInputs(framework: string): string {\n return `**/{${getNxTargetInputs(framework)\n .map(input => input.replace(\"{projectRoot}/\", \"\"))\n .join(\",\")}}`;\n}\n\nexport interface CreateNxPluginOptions {\n /**\n * The name of the Nx plugin to create\n *\n * @remarks\n * This will be used in logging and project tagging.\n *\n * @defaultValue \"\\{framework\\}/plugin/nx\"\n */\n name?: string;\n\n /**\n * The folder where the generated runtime artifacts will be located\n *\n * @remarks\n * This folder will contain all runtime artifacts and builtins generated during the \"prepare\" phase.\n *\n * @defaultValue \"\\{projectRoot\\}/.powerlines\"\n */\n artifactsFolder?: string;\n\n /**\n * A string identifier that allows a child framework or tool to identify itself when using Powerlines.\n *\n * @remarks\n * If no values are provided for {@link OutputConfig.dts | output.dts} or {@link OutputConfig.artifactsFolder | output.artifactsFolder}, this value will be used as the default.\n *\n * @defaultValue \"powerlines\"\n */\n framework?: string;\n}\n\n// type LoadUserConfigFileFunction = (\n// cwd: string,\n// root: string,\n// mode: Mode,\n// command: string,\n// framework?: PartialKeys<FrameworkOptions, \"orgId\">,\n// configFile?: string\n// ) => Promise<ParsedUserConfig>;\n\n/**\n * Creates an Nx plugin that integrates Powerlines into the Nx build process.\n *\n * @param opts - Options for creating the Nx plugin\n * @returns A CreateNodesV2 function that can be used as an Nx plugin\n */\nexport function createNxPlugin<\n TOptions extends NxPluginOptions = NxPluginOptions\n>(opts?: CreateNxPluginOptions): CreateNodesV2<TOptions> {\n const framework = kebabCase(opts?.framework) || \"powerlines\";\n const title = `${titleCase(framework)} Nx Plugin`;\n\n try {\n const name = opts?.name || `${framework}/nx/plugin`;\n const artifactsFolder =\n opts?.artifactsFolder || `{projectRoot}/.${framework}`;\n\n const targetInputs = getNxTargetInputs(framework);\n const pluginInputs = getNxPluginInputs(framework);\n\n return [\n pluginInputs,\n async (configFiles, options, contextV2): Promise<CreateNodesResultV2> => {\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Initializing the ${title} for the following inputs: ${pluginInputs}`\n );\n }\n\n const envPaths = getEnvPaths({\n orgId: \"storm-software\",\n appId: framework,\n workspaceRoot: contextV2.workspaceRoot\n });\n if (!envPaths.cache) {\n throw new Error(\"The cache directory could not be determined.\");\n }\n\n const nxJson = readNxJson(contextV2.workspaceRoot);\n // const resolver = createJiti(contextV2.workspaceRoot, {\n // debug: !!options?.debug,\n // interopDefault: true,\n // fsCache: joinPaths(\n // envPaths.cache,\n // \"nx-plugin\",\n // murmurhash(contextV2.workspaceRoot, {\n // maxLength: 45\n // }),\n // \"jiti\"\n // ),\n // moduleCache: true\n // });\n\n // let loadUserConfigFile: LoadUserConfigFileFunction | undefined;\n // try {\n // loadUserConfigFile = await resolver\n // .import<{\n // loadUserConfigFile: LoadUserConfigFileFunction;\n // }>(resolver.esmResolve(\"powerlines/config\"))\n // .then(mod => mod?.loadUserConfigFile);\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration file function: ${\n // isError(error) ? error.message : \"Unknown error\"\n // }`\n // );\n // }\n\n return createNodesFromFiles(\n async (configFile, _, context) => {\n try {\n const projectRoot = getProjectRoot(\n configFile,\n contextV2.workspaceRoot\n );\n if (!projectRoot) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - package.json and ${\n framework\n } configuration files (i.e. ${\n framework\n }.config.ts) must be located in the project root directory: ${\n configFile\n }`\n );\n\n return {};\n }\n\n const root = getRoot(projectRoot, context);\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Loading ${\n framework\n } user configuration for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n // let userConfig = {} as UserConfig;\n // try {\n // if (loadUserConfigFile) {\n // const parsedConfig = await loadUserConfigFile(\n // contextV2.workspaceRoot,\n // projectRoot,\n // isDevelopment\n // ? \"development\"\n // : isTest\n // ? \"test\"\n // : \"production\",\n // \"build\",\n // { name: framework },\n // configFile\n // );\n // if (isSetObject(parsedConfig)) {\n // userConfig = parsedConfig.config as UserConfig;\n // }\n // }\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration for project in ${\n // projectRoot\n // } - ${\n // isError(error)\n // ? error.message\n // : isSetString(error)\n // ? error\n // : \"Unknown error\"\n // } \\n\\nPlease note: This error can occur if the project depends on another package in the workspace and the dependent package has not been built yet. To resolve this issue, please ensure that all dependent packages have been built successfully.${\n // isError(error) && error.stack\n // ? `\\n\\nStack trace:\\n${error.stack}`\n // : \"\"\n // }`\n // );\n // }\n\n if (\n !existsSync(\n joinPaths(\n contextV2.workspaceRoot,\n projectRoot,\n \"package.json\"\n )\n )\n ) {\n if (options?.verboseOutput) {\n console.warn(\n `[${\n title\n }] - ${new Date().toISOString()} - Cannot find \\`package.json\\` file in the project's root directory (path: \"${joinPaths(\n contextV2.workspaceRoot,\n projectRoot\n )}\"). Skipping project configuration.`\n );\n }\n\n return {};\n }\n\n const packageJsonContent = await readFile(\n joinPaths(contextV2.workspaceRoot, projectRoot, \"package.json\"),\n \"utf8\"\n );\n if (!packageJsonContent) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No package.json file found for project in root directory ${projectRoot}`\n );\n }\n\n return {};\n }\n\n const packageJson: PackageJson = JSON.parse(packageJsonContent);\n // if (\n // !(userConfig && Object.keys(userConfig).length > 0) &&\n // !packageJson?.[camelCase(framework)]\n // ) {\n // if (options?.verboseOutput) {\n // console.debug(\n // `[${title}] - ${new Date().toISOString()} - Skipping ${projectRoot} - no ${\n // framework\n // } configuration found for project in root directory.`\n // );\n // }\n\n // return {};\n // }\n\n const projectConfig = getProjectConfigFromProjectRoot(\n projectRoot,\n packageJson\n );\n if (!projectConfig) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No project configuration found for project in root directory ${\n projectRoot\n }`\n );\n }\n\n return {};\n }\n\n const targets: ProjectConfiguration[\"targets\"] =\n readTargetsFromPackageJson(\n packageJson as PackageJsonNx,\n nxJson,\n projectRoot,\n context.workspaceRoot\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Preparing Nx targets for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n if (\n options?.clean !== false &&\n !targets[options?.clean?.targetName || \"clean\"]\n ) {\n targets[options?.clean?.targetName || \"clean\"] = {\n cache: options?.clean?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.clean?.inputs)\n ? options.clean.inputs\n : withNamedInputs(targetInputs, [\n options?.clean?.inputs || \"typescript\"\n ]),\n outputs: options?.clean?.outputs,\n executor:\n options?.clean?.executor ||\n `@${framework}/nx:${options?.clean?.targetName || \"clean\"}`,\n dependsOn: options?.clean?.dependsOn ?? [\n `^${options?.clean?.targetName || \"clean\"}`\n ],\n defaultConfiguration:\n options?.clean?.defaultConfiguration || \"production\",\n options: {\n root: projectRoot,\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.prepare !== false &&\n !targets[options?.prepare?.targetName || \"prepare\"]\n ) {\n targets[options?.prepare?.targetName || \"prepare\"] = {\n cache: options?.prepare?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.prepare?.inputs)\n ? options.prepare.inputs\n : withNamedInputs(targetInputs, [\n options?.prepare?.inputs || \"typescript\"\n ]),\n outputs: options?.prepare?.outputs ?? [artifactsFolder],\n executor:\n options?.prepare?.executor ||\n `@${framework}/nx:${options?.prepare?.targetName || \"prepare\"}`,\n dependsOn:\n options?.prepare?.dependsOn ??\n ([\n `^${options?.prepare?.targetName || \"build\"}`,\n options?.clean !== false &&\n `${options?.clean?.targetName || \"clean\"}`\n ].filter(Boolean) as string[]),\n defaultConfiguration:\n options?.prepare?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.build !== false &&\n !targets[options?.build?.targetName || \"build\"]\n ) {\n targets[options?.build?.targetName || \"build\"] = {\n cache: options?.build?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.build?.inputs)\n ? options.build.inputs\n : withNamedInputs(targetInputs, [\n options?.build?.inputs || \"typescript\"\n ]),\n outputs: options?.build?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.build?.executor ||\n `@${framework}/nx:${options?.build?.targetName || \"build\"}`,\n dependsOn:\n options?.build?.dependsOn ??\n ([\n `^${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.build?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.lint !== false &&\n !targets[options?.lint?.targetName || \"lint\"]\n ) {\n targets[options?.lint?.targetName || \"lint\"] = {\n cache: options?.lint?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.lint?.inputs)\n ? options.lint.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.lint?.inputs\n ? [options.lint.inputs]\n : [\"linting\", \"typescript\"]\n ),\n outputs: options?.lint?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.lint?.executor ||\n `@${framework}/nx:${options?.lint?.targetName || \"lint\"}`,\n dependsOn:\n options?.lint?.dependsOn ??\n ([\n `^${options?.lint?.targetName || \"lint\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.lint?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.docs !== false &&\n !targets[options?.docs?.targetName || \"docs\"]\n ) {\n targets[options?.docs?.targetName || \"docs\"] = {\n cache: options?.docs?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.docs?.inputs)\n ? options.docs.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.docs?.inputs\n ? [options.docs.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.docs?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.docs?.executor ||\n `@${framework}/nx:${options?.docs?.targetName || \"docs\"}`,\n dependsOn:\n options?.docs?.dependsOn ??\n ([\n `^${options?.docs?.targetName || \"docs\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.docs?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.deploy !== false &&\n !targets[options?.deploy?.targetName || \"deploy\"]\n ) {\n targets[options?.deploy?.targetName || \"deploy\"] = {\n cache: options?.deploy?.cache ?? false,\n inputs: Array.isArray(options?.deploy?.inputs)\n ? options.deploy.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.deploy?.inputs\n ? [options.deploy.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.deploy?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.deploy?.executor ||\n `@${framework}/nx:${options?.deploy?.targetName || \"deploy\"}`,\n dependsOn:\n options?.deploy?.dependsOn ??\n ([\n `^${options?.deploy?.targetName || \"deploy\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.deploy?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n setDefaultProjectTags(projectConfig, name);\n addProjectTag(\n projectConfig,\n framework as ProjectTagVariant,\n projectConfig.projectType || \"library\",\n {\n overwrite: true\n }\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${\n title\n }] - ${new Date().toISOString()} - Completed preparing Nx configuration for project in root directory ${projectRoot}.`\n );\n }\n\n return {\n projects: {\n [root]: defu(projectConfig, {\n projectType: projectConfig.projectType || \"library\",\n root,\n sourceRoot: joinPaths(root, \"src\"),\n targets\n })\n }\n };\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - Failed to process the project configuration for file \"${\n configFile\n }\" - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error\"\n }`\n );\n\n return {};\n }\n },\n configFiles,\n options,\n contextV2\n );\n }\n ];\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error during plugin initialization\"\n }`\n );\n\n throw new Error(\n `Failed to initialize the ${title} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"See previous logs for more details\"\n }`,\n {\n cause: error instanceof Error ? error : undefined\n }\n );\n }\n}\n"],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import * as _$_nx_devkit0 from "@nx/devkit";
2
-
3
1
  //#region src/types/plugin.d.ts
4
2
  interface NxPluginOptions {
5
3
  /**
@@ -287,7 +285,7 @@ interface NxPluginOptions {
287
285
  }
288
286
  //#endregion
289
287
  //#region src/plugin/index.d.ts
290
- declare const createNodesV2: _$_nx_devkit0.CreateNodesV2<NxPluginOptions>;
288
+ declare const createNodesV2: import("@nx/devkit").CreateNodesV2<NxPluginOptions>;
291
289
  //#endregion
292
290
  export { createNodesV2 };
293
291
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/types/plugin.ts","../../../src/plugin/index.ts"],"mappings":";;;UAkBiB,eAAA;;;AAAjB;EAIE,KAAA;IAJ8B;;;;;IAYxB,UAAA;IAqBA;;;;;IAdA,KAAA;IA6DA;;;;;IAtDA,oBAAA;IAoGN;;;;;IA7FM,SAAA;IA6IA;;;IAxIA,MAAA;IAoKA;;;IAtJA,OAAA;IAuLA;;;;;IAhLA,QAAA;EAAA;EA+NA;;;EAzNN,OAAA;IA4PM;;;;;IApPA,UAAA;IAgSA;;;;;IAzRA,KAAA;;;;AC7ER;;IDoFQ,oBAAA;ICpFkB;;;;;ID2FlB,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,KAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,MAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAWA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;;;;;;EAWN,aAAA;;;;;;EAOA,KAAA;;;;;;;;;EAUA,KAAA;AAAA;;;cClYW,aAAA,EAAa,aAAA,CAAA,aAAA,CAAA,eAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../../src/types/plugin.ts","../../../src/plugin/index.ts"],"mappings":";UAkBiB,eAAA;EAAA;;;EAIf,KAAA;IAAA;;;;;IAQM,UAAA;IAwCA;;;;;IAjCA,KAAA;IA2EA;;;;;IApEA,oBAAA;IAmHA;;;;;IA5GA,SAAA;IA0JN;;;IArJM,MAAA;IAkLA;;;IApKA,OAAA;IAoMN;;;;;IA7LM,QAAA;EAAA;EAoPA;;;EA9ON,OAAA;IA0QM;;;;;IAlQA,UAAA;IAkTN;;;AAUK;;IArTC,KAAA;;AC7ER;;;;IDoFQ,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,KAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,MAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAWA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;;;;;;EAWN,aAAA;;;;;;EAOA,KAAA;;;;;;;;;EAUA,KAAA;AAAA;;;cClYW,aAAA,uBAAa,aAAA,CAAA,eAAA"}
@@ -1,5 +1,3 @@
1
- import * as _$_nx_devkit0 from "@nx/devkit";
2
-
3
1
  //#region src/types/plugin.d.ts
4
2
  interface NxPluginOptions {
5
3
  /**
@@ -287,7 +285,7 @@ interface NxPluginOptions {
287
285
  }
288
286
  //#endregion
289
287
  //#region src/plugin/index.d.ts
290
- declare const createNodesV2: _$_nx_devkit0.CreateNodesV2<NxPluginOptions>;
288
+ declare const createNodesV2: import("@nx/devkit").CreateNodesV2<NxPluginOptions>;
291
289
  //#endregion
292
290
  export { createNodesV2 };
293
291
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/types/plugin.ts","../../../src/plugin/index.ts"],"mappings":";;;UAkBiB,eAAA;;;AAAjB;EAIE,KAAA;IAJ8B;;;;;IAYxB,UAAA;IAqBA;;;;;IAdA,KAAA;IA6DA;;;;;IAtDA,oBAAA;IAoGN;;;;;IA7FM,SAAA;IA6IA;;;IAxIA,MAAA;IAoKA;;;IAtJA,OAAA;IAuLA;;;;;IAhLA,QAAA;EAAA;EA+NA;;;EAzNN,OAAA;IA4PM;;;;;IApPA,UAAA;IAgSA;;;;;IAzRA,KAAA;;;;AC7ER;;IDoFQ,oBAAA;ICpFkB;;;;;ID2FlB,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,KAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,MAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAWA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;;;;;;EAWN,aAAA;;;;;;EAOA,KAAA;;;;;;;;;EAUA,KAAA;AAAA;;;cClYW,aAAA,EAAa,aAAA,CAAA,aAAA,CAAA,eAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/types/plugin.ts","../../../src/plugin/index.ts"],"mappings":";UAkBiB,eAAA;EAAA;;;EAIf,KAAA;IAAA;;;;;IAQM,UAAA;IAwCA;;;;;IAjCA,KAAA;IA2EA;;;;;IApEA,oBAAA;IAmHA;;;;;IA5GA,SAAA;IA0JN;;;IArJM,MAAA;IAkLA;;;IApKA,OAAA;IAoMN;;;;;IA7LM,QAAA;EAAA;EAoPA;;;EA9ON,OAAA;IA0QM;;;;;IAlQA,UAAA;IAkTN;;;AAUK;;IArTC,KAAA;;AC7ER;;;;IDoFQ,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,KAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,IAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAcA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;EAMN,MAAA;;;;;;IAQM,UAAA;;;;;;IAOA,KAAA;;;;;;IAOA,oBAAA;;;;;;IAOA,SAAA;;;;IAKA,MAAA;;;;IAWA,OAAA;;;;;;IAOA,QAAA;EAAA;;;;;;;;;EAWN,aAAA;;;;;;EAOA,KAAA;;;;;;;;;EAUA,KAAA;AAAA;;;cClYW,aAAA,uBAAa,aAAA,CAAA,eAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["readNxJson"],"sources":["../../../src/helpers/constants.ts","../../../src/helpers/plugin-utilities.ts","../../../src/plugin/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * A list of Nx input strings that describe the Powerlines configuration file\n */\nexport const CONFIG_INPUTS = [\n \"{projectRoot}/{framework}.json\",\n \"{projectRoot}/{framework}.*.json\",\n \"{projectRoot}/{framework}.jsonc\",\n \"{projectRoot}/{framework}.*.jsonc\",\n \"{projectRoot}/{framework}.json5\",\n \"{projectRoot}/{framework}.*.json5\",\n \"{projectRoot}/{framework}.yaml\",\n \"{projectRoot}/{framework}.*.yaml\",\n \"{projectRoot}/{framework}.yml\",\n \"{projectRoot}/{framework}.*.yml\",\n \"{projectRoot}/{framework}.toml\",\n \"{projectRoot}/{framework}.*.toml\",\n \"{projectRoot}/{framework}.config.js\",\n \"{projectRoot}/{framework}.*.config.js\",\n \"{projectRoot}/{framework}.config.cjs\",\n \"{projectRoot}/{framework}.*.config.cjs\",\n \"{projectRoot}/{framework}.config.mjs\",\n \"{projectRoot}/{framework}.*.config.mjs\",\n \"{projectRoot}/{framework}.config.ts\",\n \"{projectRoot}/{framework}.*.config.ts\",\n \"{projectRoot}/{framework}.config.cts\",\n \"{projectRoot}/{framework}.*.config.cts\",\n \"{projectRoot}/{framework}.config.mts\",\n \"{projectRoot}/{framework}.*.config.mts\"\n] as const;\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/* eslint-disable no-console */\n\nimport type { CreateNodesResultV2, CreateNodesV2 } from \"@nx/devkit\";\nimport { createNodesFromFiles } from \"@nx/devkit\";\nimport type { ProjectTagVariant } from \"@storm-software/workspace-tools/types\";\nimport { withNamedInputs } from \"@storm-software/workspace-tools/utils/nx-json\";\nimport {\n getProjectConfigFromProjectRoot,\n getProjectRoot,\n getRoot\n} from \"@storm-software/workspace-tools/utils/plugin-helpers\";\nimport {\n addProjectTag,\n setDefaultProjectTags\n} from \"@storm-software/workspace-tools/utils/project-tags\";\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport { getEnvPaths } from \"@stryke/env/get-env-paths\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { PackageJson } from \"@stryke/types/package-json\";\nimport defu from \"defu\";\nimport { readFile } from \"node:fs/promises\";\nimport { readNxJson } from \"nx/src/config/nx-json.js\";\nimport type {\n ProjectConfiguration,\n TargetConfiguration\n} from \"nx/src/config/workspace-json-project-json.js\";\nimport type { PackageJson as PackageJsonNx } from \"nx/src/utils/package-json.js\";\nimport { readTargetsFromPackageJson } from \"nx/src/utils/package-json.js\";\nimport type { NxPluginOptions } from \"../types/plugin\";\nimport { CONFIG_INPUTS } from \"./constants\";\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxTargetInputs(framework: string): string[] {\n return CONFIG_INPUTS.map(input => input.replace(\"{framework}\", framework));\n}\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxPluginInputs(framework: string): string {\n return `**/{${getNxTargetInputs(framework)\n .map(input => input.replace(\"{projectRoot}/\", \"\"))\n .join(\",\")}}`;\n}\n\nexport interface CreateNxPluginOptions {\n /**\n * The name of the Nx plugin to create\n *\n * @remarks\n * This will be used in logging and project tagging.\n *\n * @defaultValue \"\\{framework\\}/plugin/nx\"\n */\n name?: string;\n\n /**\n * The folder where the generated runtime artifacts will be located\n *\n * @remarks\n * This folder will contain all runtime artifacts and builtins generated during the \"prepare\" phase.\n *\n * @defaultValue \"\\{projectRoot\\}/.powerlines\"\n */\n artifactsFolder?: string;\n\n /**\n * A string identifier that allows a child framework or tool to identify itself when using Powerlines.\n *\n * @remarks\n * If no values are provided for {@link OutputConfig.dts | output.dts} or {@link OutputConfig.artifactsFolder | output.artifactsFolder}, this value will be used as the default.\n *\n * @defaultValue \"powerlines\"\n */\n framework?: string;\n}\n\n// type LoadUserConfigFileFunction = (\n// cwd: string,\n// root: string,\n// mode: Mode,\n// command: string,\n// framework?: PartialKeys<FrameworkOptions, \"orgId\">,\n// configFile?: string\n// ) => Promise<ParsedUserConfig>;\n\n/**\n * Creates an Nx plugin that integrates Powerlines into the Nx build process.\n *\n * @param opts - Options for creating the Nx plugin\n * @returns A CreateNodesV2 function that can be used as an Nx plugin\n */\nexport function createNxPlugin<\n TOptions extends NxPluginOptions = NxPluginOptions\n>(opts?: CreateNxPluginOptions): CreateNodesV2<TOptions> {\n const framework = kebabCase(opts?.framework) || \"powerlines\";\n const title = `${titleCase(framework)} Nx Plugin`;\n\n try {\n const name = opts?.name || `${framework}/nx/plugin`;\n const artifactsFolder =\n opts?.artifactsFolder || `{projectRoot}/.${framework}`;\n\n const targetInputs = getNxTargetInputs(framework);\n const pluginInputs = getNxPluginInputs(framework);\n\n return [\n pluginInputs,\n async (configFiles, options, contextV2): Promise<CreateNodesResultV2> => {\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Initializing the ${title} for the following inputs: ${pluginInputs}`\n );\n }\n\n const envPaths = getEnvPaths({\n orgId: \"storm-software\",\n appId: framework,\n workspaceRoot: contextV2.workspaceRoot\n });\n if (!envPaths.cache) {\n throw new Error(\"The cache directory could not be determined.\");\n }\n\n const nxJson = readNxJson(contextV2.workspaceRoot);\n // const resolver = createJiti(contextV2.workspaceRoot, {\n // debug: !!options?.debug,\n // interopDefault: true,\n // fsCache: joinPaths(\n // envPaths.cache,\n // \"nx-plugin\",\n // murmurhash(contextV2.workspaceRoot, {\n // maxLength: 45\n // }),\n // \"jiti\"\n // ),\n // moduleCache: true\n // });\n\n // let loadUserConfigFile: LoadUserConfigFileFunction | undefined;\n // try {\n // loadUserConfigFile = await resolver\n // .import<{\n // loadUserConfigFile: LoadUserConfigFileFunction;\n // }>(resolver.esmResolve(\"powerlines/config\"))\n // .then(mod => mod?.loadUserConfigFile);\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration file function: ${\n // isError(error) ? error.message : \"Unknown error\"\n // }`\n // );\n // }\n\n return createNodesFromFiles(\n async (configFile, _, context) => {\n try {\n const projectRoot = getProjectRoot(\n configFile,\n contextV2.workspaceRoot\n );\n if (!projectRoot) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - package.json and ${\n framework\n } configuration files (i.e. ${\n framework\n }.config.ts) must be located in the project root directory: ${\n configFile\n }`\n );\n\n return {};\n }\n\n const root = getRoot(projectRoot, context);\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Loading ${\n framework\n } user configuration for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n // let userConfig = {} as UserConfig;\n // try {\n // if (loadUserConfigFile) {\n // const parsedConfig = await loadUserConfigFile(\n // contextV2.workspaceRoot,\n // projectRoot,\n // isDevelopment\n // ? \"development\"\n // : isTest\n // ? \"test\"\n // : \"production\",\n // \"build\",\n // { name: framework },\n // configFile\n // );\n // if (isSetObject(parsedConfig)) {\n // userConfig = parsedConfig.config as UserConfig;\n // }\n // }\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration for project in ${\n // projectRoot\n // } - ${\n // isError(error)\n // ? error.message\n // : isSetString(error)\n // ? error\n // : \"Unknown error\"\n // } \\n\\nPlease note: This error can occur if the project depends on another package in the workspace and the dependent package has not been built yet. To resolve this issue, please ensure that all dependent packages have been built successfully.${\n // isError(error) && error.stack\n // ? `\\n\\nStack trace:\\n${error.stack}`\n // : \"\"\n // }`\n // );\n // }\n\n if (\n !existsSync(\n joinPaths(\n contextV2.workspaceRoot,\n projectRoot,\n \"package.json\"\n )\n )\n ) {\n if (options?.verboseOutput) {\n console.warn(\n `[${\n title\n }] - ${new Date().toISOString()} - Cannot find \\`package.json\\` file in the project's root directory (path: \"${joinPaths(\n contextV2.workspaceRoot,\n projectRoot\n )}\"). Skipping project configuration.`\n );\n }\n\n return {};\n }\n\n const packageJsonContent = await readFile(\n joinPaths(contextV2.workspaceRoot, projectRoot, \"package.json\"),\n \"utf8\"\n );\n if (!packageJsonContent) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No package.json file found for project in root directory ${projectRoot}`\n );\n }\n\n return {};\n }\n\n const packageJson: PackageJson = JSON.parse(packageJsonContent);\n // if (\n // !(userConfig && Object.keys(userConfig).length > 0) &&\n // !packageJson?.[camelCase(framework)]\n // ) {\n // if (options?.verboseOutput) {\n // console.debug(\n // `[${title}] - ${new Date().toISOString()} - Skipping ${projectRoot} - no ${\n // framework\n // } configuration found for project in root directory.`\n // );\n // }\n\n // return {};\n // }\n\n const projectConfig = getProjectConfigFromProjectRoot(\n projectRoot,\n packageJson\n );\n if (!projectConfig) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No project configuration found for project in root directory ${\n projectRoot\n }`\n );\n }\n\n return {};\n }\n\n const targets: ProjectConfiguration[\"targets\"] =\n readTargetsFromPackageJson(\n packageJson as PackageJsonNx,\n nxJson,\n projectRoot,\n context.workspaceRoot\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Preparing Nx targets for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n if (\n options?.clean !== false &&\n !targets[options?.clean?.targetName || \"clean\"]\n ) {\n targets[options?.clean?.targetName || \"clean\"] = {\n cache: options?.clean?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.clean?.inputs)\n ? options.clean.inputs\n : withNamedInputs(targetInputs, [\n options?.clean?.inputs || \"typescript\"\n ]),\n outputs: options?.clean?.outputs,\n executor:\n options?.clean?.executor ||\n `@${framework}/nx:${options?.clean?.targetName || \"clean\"}`,\n dependsOn: options?.clean?.dependsOn ?? [\n `^${options?.clean?.targetName || \"clean\"}`\n ],\n defaultConfiguration:\n options?.clean?.defaultConfiguration || \"production\",\n options: {\n root: projectRoot,\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.prepare !== false &&\n !targets[options?.prepare?.targetName || \"prepare\"]\n ) {\n targets[options?.prepare?.targetName || \"prepare\"] = {\n cache: options?.prepare?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.prepare?.inputs)\n ? options.prepare.inputs\n : withNamedInputs(targetInputs, [\n options?.prepare?.inputs || \"typescript\"\n ]),\n outputs: options?.prepare?.outputs ?? [artifactsFolder],\n executor:\n options?.prepare?.executor ||\n `@${framework}/nx:${options?.prepare?.targetName || \"prepare\"}`,\n dependsOn:\n options?.prepare?.dependsOn ??\n ([\n `^${options?.prepare?.targetName || \"build\"}`,\n options?.clean !== false &&\n `${options?.clean?.targetName || \"clean\"}`\n ].filter(Boolean) as string[]),\n defaultConfiguration:\n options?.prepare?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.build !== false &&\n !targets[options?.build?.targetName || \"build\"]\n ) {\n targets[options?.build?.targetName || \"build\"] = {\n cache: options?.build?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.build?.inputs)\n ? options.build.inputs\n : withNamedInputs(targetInputs, [\n options?.build?.inputs || \"typescript\"\n ]),\n outputs: options?.build?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.build?.executor ||\n `@${framework}/nx:${options?.build?.targetName || \"build\"}`,\n dependsOn:\n options?.build?.dependsOn ??\n ([\n `^${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.build?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.lint !== false &&\n !targets[options?.lint?.targetName || \"lint\"]\n ) {\n targets[options?.lint?.targetName || \"lint\"] = {\n cache: options?.lint?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.lint?.inputs)\n ? options.lint.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.lint?.inputs\n ? [options.lint.inputs]\n : [\"linting\", \"typescript\"]\n ),\n outputs: options?.lint?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.lint?.executor ||\n `@${framework}/nx:${options?.lint?.targetName || \"lint\"}`,\n dependsOn:\n options?.lint?.dependsOn ??\n ([\n `^${options?.lint?.targetName || \"lint\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.lint?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.docs !== false &&\n !targets[options?.docs?.targetName || \"docs\"]\n ) {\n targets[options?.docs?.targetName || \"docs\"] = {\n cache: options?.docs?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.docs?.inputs)\n ? options.docs.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.docs?.inputs\n ? [options.docs.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.docs?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.docs?.executor ||\n `@${framework}/nx:${options?.docs?.targetName || \"docs\"}`,\n dependsOn:\n options?.docs?.dependsOn ??\n ([\n `^${options?.docs?.targetName || \"docs\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.docs?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.deploy !== false &&\n !targets[options?.deploy?.targetName || \"deploy\"]\n ) {\n targets[options?.deploy?.targetName || \"deploy\"] = {\n cache: options?.deploy?.cache ?? false,\n inputs: Array.isArray(options?.deploy?.inputs)\n ? options.deploy.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.deploy?.inputs\n ? [options.deploy.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.deploy?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.deploy?.executor ||\n `@${framework}/nx:${options?.deploy?.targetName || \"deploy\"}`,\n dependsOn:\n options?.deploy?.dependsOn ??\n ([\n `^${options?.deploy?.targetName || \"deploy\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.deploy?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n setDefaultProjectTags(projectConfig, name);\n addProjectTag(\n projectConfig,\n framework as ProjectTagVariant,\n projectConfig.projectType || \"library\",\n {\n overwrite: true\n }\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${\n title\n }] - ${new Date().toISOString()} - Completed preparing Nx configuration for project in root directory ${projectRoot}.`\n );\n }\n\n return {\n projects: {\n [root]: defu(projectConfig, {\n projectType: projectConfig.projectType || \"library\",\n root,\n sourceRoot: joinPaths(root, \"src\"),\n targets\n })\n }\n };\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - Failed to process the project configuration for file \"${\n configFile\n }\" - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error\"\n }`\n );\n\n return {};\n }\n },\n configFiles,\n options,\n contextV2\n );\n }\n ];\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error during plugin initialization\"\n }`\n );\n\n throw new Error(\n `Failed to initialize the ${title} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"See previous logs for more details\"\n }`,\n {\n cause: error instanceof Error ? error : undefined\n }\n );\n }\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { createNxPlugin } from \"../helpers/plugin-utilities\";\nimport { NxPluginOptions } from \"../types/plugin\";\n\nexport const createNodesV2 = createNxPlugin<NxPluginOptions>({\n framework: \"powerlines\"\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["readNxJson"],"sources":["../../../src/helpers/constants.ts","../../../src/helpers/plugin-utilities.ts","../../../src/plugin/index.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * A list of Nx input strings that describe the Powerlines configuration file\n */\nexport const CONFIG_INPUTS = [\n \"{projectRoot}/{framework}.json\",\n \"{projectRoot}/{framework}.*.json\",\n \"{projectRoot}/{framework}.jsonc\",\n \"{projectRoot}/{framework}.*.jsonc\",\n \"{projectRoot}/{framework}.json5\",\n \"{projectRoot}/{framework}.*.json5\",\n \"{projectRoot}/{framework}.yaml\",\n \"{projectRoot}/{framework}.*.yaml\",\n \"{projectRoot}/{framework}.yml\",\n \"{projectRoot}/{framework}.*.yml\",\n \"{projectRoot}/{framework}.toml\",\n \"{projectRoot}/{framework}.*.toml\",\n \"{projectRoot}/{framework}.config.js\",\n \"{projectRoot}/{framework}.*.config.js\",\n \"{projectRoot}/{framework}.config.cjs\",\n \"{projectRoot}/{framework}.*.config.cjs\",\n \"{projectRoot}/{framework}.config.mjs\",\n \"{projectRoot}/{framework}.*.config.mjs\",\n \"{projectRoot}/{framework}.config.ts\",\n \"{projectRoot}/{framework}.*.config.ts\",\n \"{projectRoot}/{framework}.config.cts\",\n \"{projectRoot}/{framework}.*.config.cts\",\n \"{projectRoot}/{framework}.config.mts\",\n \"{projectRoot}/{framework}.*.config.mts\"\n] as const;\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/* eslint-disable no-console */\n\nimport type { CreateNodesResultV2, CreateNodesV2 } from \"@nx/devkit\";\nimport { createNodesFromFiles } from \"@nx/devkit\";\nimport type { ProjectTagVariant } from \"@storm-software/workspace-tools/types\";\nimport { withNamedInputs } from \"@storm-software/workspace-tools/utils/nx-json\";\nimport {\n getProjectConfigFromProjectRoot,\n getProjectRoot,\n getRoot\n} from \"@storm-software/workspace-tools/utils/plugin-helpers\";\nimport {\n addProjectTag,\n setDefaultProjectTags\n} from \"@storm-software/workspace-tools/utils/project-tags\";\nimport { isDevelopment } from \"@stryke/env/environment-checks\";\nimport { getEnvPaths } from \"@stryke/env/get-env-paths\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { joinPaths } from \"@stryke/path/join-paths\";\nimport { kebabCase } from \"@stryke/string-format/kebab-case\";\nimport { titleCase } from \"@stryke/string-format/title-case\";\nimport { isError } from \"@stryke/type-checks/is-error\";\nimport { isSetObject } from \"@stryke/type-checks/is-set-object\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport type { PackageJson } from \"@stryke/types/package-json\";\nimport defu from \"defu\";\nimport { readFile } from \"node:fs/promises\";\nimport { readNxJson } from \"nx/src/config/nx-json.js\";\nimport type {\n ProjectConfiguration,\n TargetConfiguration\n} from \"nx/src/config/workspace-json-project-json.js\";\nimport type { PackageJson as PackageJsonNx } from \"nx/src/utils/package-json.js\";\nimport { readTargetsFromPackageJson } from \"nx/src/utils/package-json.js\";\nimport type { NxPluginOptions } from \"../types/plugin\";\nimport { CONFIG_INPUTS } from \"./constants\";\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxTargetInputs(framework: string): string[] {\n return CONFIG_INPUTS.map(input => input.replace(\"{framework}\", framework));\n}\n\n/**\n * Generates Nx input strings for the Powerlines configuration file, replacing the `{framework}` placeholder with the specified framework name.\n *\n * @param framework - The framework name to use in the input strings\n * @returns An array of Nx input strings for the configuration file\n */\nexport function getNxPluginInputs(framework: string): string {\n return `**/{${getNxTargetInputs(framework)\n .map(input => input.replace(\"{projectRoot}/\", \"\"))\n .join(\",\")}}`;\n}\n\nexport interface CreateNxPluginOptions {\n /**\n * The name of the Nx plugin to create\n *\n * @remarks\n * This will be used in logging and project tagging.\n *\n * @defaultValue \"\\{framework\\}/plugin/nx\"\n */\n name?: string;\n\n /**\n * The folder where the generated runtime artifacts will be located\n *\n * @remarks\n * This folder will contain all runtime artifacts and builtins generated during the \"prepare\" phase.\n *\n * @defaultValue \"\\{projectRoot\\}/.powerlines\"\n */\n artifactsFolder?: string;\n\n /**\n * A string identifier that allows a child framework or tool to identify itself when using Powerlines.\n *\n * @remarks\n * If no values are provided for {@link OutputConfig.dts | output.dts} or {@link OutputConfig.artifactsFolder | output.artifactsFolder}, this value will be used as the default.\n *\n * @defaultValue \"powerlines\"\n */\n framework?: string;\n}\n\n// type LoadUserConfigFileFunction = (\n// cwd: string,\n// root: string,\n// mode: Mode,\n// command: string,\n// framework?: PartialKeys<FrameworkOptions, \"orgId\">,\n// configFile?: string\n// ) => Promise<ParsedUserConfig>;\n\n/**\n * Creates an Nx plugin that integrates Powerlines into the Nx build process.\n *\n * @param opts - Options for creating the Nx plugin\n * @returns A CreateNodesV2 function that can be used as an Nx plugin\n */\nexport function createNxPlugin<\n TOptions extends NxPluginOptions = NxPluginOptions\n>(opts?: CreateNxPluginOptions): CreateNodesV2<TOptions> {\n const framework = kebabCase(opts?.framework) || \"powerlines\";\n const title = `${titleCase(framework)} Nx Plugin`;\n\n try {\n const name = opts?.name || `${framework}/nx/plugin`;\n const artifactsFolder =\n opts?.artifactsFolder || `{projectRoot}/.${framework}`;\n\n const targetInputs = getNxTargetInputs(framework);\n const pluginInputs = getNxPluginInputs(framework);\n\n return [\n pluginInputs,\n async (configFiles, options, contextV2): Promise<CreateNodesResultV2> => {\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Initializing the ${title} for the following inputs: ${pluginInputs}`\n );\n }\n\n const envPaths = getEnvPaths({\n orgId: \"storm-software\",\n appId: framework,\n workspaceRoot: contextV2.workspaceRoot\n });\n if (!envPaths.cache) {\n throw new Error(\"The cache directory could not be determined.\");\n }\n\n const nxJson = readNxJson(contextV2.workspaceRoot);\n // const resolver = createJiti(contextV2.workspaceRoot, {\n // debug: !!options?.debug,\n // interopDefault: true,\n // fsCache: joinPaths(\n // envPaths.cache,\n // \"nx-plugin\",\n // murmurhash(contextV2.workspaceRoot, {\n // maxLength: 45\n // }),\n // \"jiti\"\n // ),\n // moduleCache: true\n // });\n\n // let loadUserConfigFile: LoadUserConfigFileFunction | undefined;\n // try {\n // loadUserConfigFile = await resolver\n // .import<{\n // loadUserConfigFile: LoadUserConfigFileFunction;\n // }>(resolver.esmResolve(\"powerlines/config\"))\n // .then(mod => mod?.loadUserConfigFile);\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration file function: ${\n // isError(error) ? error.message : \"Unknown error\"\n // }`\n // );\n // }\n\n return createNodesFromFiles(\n async (configFile, _, context) => {\n try {\n const projectRoot = getProjectRoot(\n configFile,\n contextV2.workspaceRoot\n );\n if (!projectRoot) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - package.json and ${\n framework\n } configuration files (i.e. ${\n framework\n }.config.ts) must be located in the project root directory: ${\n configFile\n }`\n );\n\n return {};\n }\n\n const root = getRoot(projectRoot, context);\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Loading ${\n framework\n } user configuration for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n // let userConfig = {} as UserConfig;\n // try {\n // if (loadUserConfigFile) {\n // const parsedConfig = await loadUserConfigFile(\n // contextV2.workspaceRoot,\n // projectRoot,\n // isDevelopment\n // ? \"development\"\n // : isTest\n // ? \"test\"\n // : \"production\",\n // \"build\",\n // { name: framework },\n // configFile\n // );\n // if (isSetObject(parsedConfig)) {\n // userConfig = parsedConfig.config as UserConfig;\n // }\n // }\n // } catch (error) {\n // console.warn(\n // `[${title}] - ${new Date().toISOString()} - Failed to load user configuration for project in ${\n // projectRoot\n // } - ${\n // isError(error)\n // ? error.message\n // : isSetString(error)\n // ? error\n // : \"Unknown error\"\n // } \\n\\nPlease note: This error can occur if the project depends on another package in the workspace and the dependent package has not been built yet. To resolve this issue, please ensure that all dependent packages have been built successfully.${\n // isError(error) && error.stack\n // ? `\\n\\nStack trace:\\n${error.stack}`\n // : \"\"\n // }`\n // );\n // }\n\n if (\n !existsSync(\n joinPaths(\n contextV2.workspaceRoot,\n projectRoot,\n \"package.json\"\n )\n )\n ) {\n if (options?.verboseOutput) {\n console.warn(\n `[${\n title\n }] - ${new Date().toISOString()} - Cannot find \\`package.json\\` file in the project's root directory (path: \"${joinPaths(\n contextV2.workspaceRoot,\n projectRoot\n )}\"). Skipping project configuration.`\n );\n }\n\n return {};\n }\n\n const packageJsonContent = await readFile(\n joinPaths(contextV2.workspaceRoot, projectRoot, \"package.json\"),\n \"utf8\"\n );\n if (!packageJsonContent) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No package.json file found for project in root directory ${projectRoot}`\n );\n }\n\n return {};\n }\n\n const packageJson: PackageJson = JSON.parse(packageJsonContent);\n // if (\n // !(userConfig && Object.keys(userConfig).length > 0) &&\n // !packageJson?.[camelCase(framework)]\n // ) {\n // if (options?.verboseOutput) {\n // console.debug(\n // `[${title}] - ${new Date().toISOString()} - Skipping ${projectRoot} - no ${\n // framework\n // } configuration found for project in root directory.`\n // );\n // }\n\n // return {};\n // }\n\n const projectConfig = getProjectConfigFromProjectRoot(\n projectRoot,\n packageJson\n );\n if (!projectConfig) {\n if (options?.verboseOutput) {\n console.warn(\n `[${title}] - ${new Date().toISOString()} - No project configuration found for project in root directory ${\n projectRoot\n }`\n );\n }\n\n return {};\n }\n\n const targets: ProjectConfiguration[\"targets\"] =\n readTargetsFromPackageJson(\n packageJson as PackageJsonNx,\n nxJson,\n projectRoot,\n context.workspaceRoot\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${title}] - ${new Date().toISOString()} - Preparing Nx targets for project in root directory ${\n projectRoot\n }.`\n );\n }\n\n if (\n options?.clean !== false &&\n !targets[options?.clean?.targetName || \"clean\"]\n ) {\n targets[options?.clean?.targetName || \"clean\"] = {\n cache: options?.clean?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.clean?.inputs)\n ? options.clean.inputs\n : withNamedInputs(targetInputs, [\n options?.clean?.inputs || \"typescript\"\n ]),\n outputs: options?.clean?.outputs,\n executor:\n options?.clean?.executor ||\n `@${framework}/nx:${options?.clean?.targetName || \"clean\"}`,\n dependsOn: options?.clean?.dependsOn ?? [\n `^${options?.clean?.targetName || \"clean\"}`\n ],\n defaultConfiguration:\n options?.clean?.defaultConfiguration || \"production\",\n options: {\n root: projectRoot,\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.prepare !== false &&\n !targets[options?.prepare?.targetName || \"prepare\"]\n ) {\n targets[options?.prepare?.targetName || \"prepare\"] = {\n cache: options?.prepare?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.prepare?.inputs)\n ? options.prepare.inputs\n : withNamedInputs(targetInputs, [\n options?.prepare?.inputs || \"typescript\"\n ]),\n outputs: options?.prepare?.outputs ?? [artifactsFolder],\n executor:\n options?.prepare?.executor ||\n `@${framework}/nx:${options?.prepare?.targetName || \"prepare\"}`,\n dependsOn:\n options?.prepare?.dependsOn ??\n ([\n `^${options?.prepare?.targetName || \"build\"}`,\n options?.clean !== false &&\n `${options?.clean?.targetName || \"clean\"}`\n ].filter(Boolean) as string[]),\n defaultConfiguration:\n options?.prepare?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.build !== false &&\n !targets[options?.build?.targetName || \"build\"]\n ) {\n targets[options?.build?.targetName || \"build\"] = {\n cache: options?.build?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.build?.inputs)\n ? options.build.inputs\n : withNamedInputs(targetInputs, [\n options?.build?.inputs || \"typescript\"\n ]),\n outputs: options?.build?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.build?.executor ||\n `@${framework}/nx:${options?.build?.targetName || \"build\"}`,\n dependsOn:\n options?.build?.dependsOn ??\n ([\n `^${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.build?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.lint !== false &&\n !targets[options?.lint?.targetName || \"lint\"]\n ) {\n targets[options?.lint?.targetName || \"lint\"] = {\n cache: options?.lint?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.lint?.inputs)\n ? options.lint.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.lint?.inputs\n ? [options.lint.inputs]\n : [\"linting\", \"typescript\"]\n ),\n outputs: options?.lint?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.lint?.executor ||\n `@${framework}/nx:${options?.lint?.targetName || \"lint\"}`,\n dependsOn:\n options?.lint?.dependsOn ??\n ([\n `^${options?.lint?.targetName || \"lint\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.lint?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.docs !== false &&\n !targets[options?.docs?.targetName || \"docs\"]\n ) {\n targets[options?.docs?.targetName || \"docs\"] = {\n cache: options?.docs?.cache ?? options?.cache ?? true,\n inputs: Array.isArray(options?.docs?.inputs)\n ? options.docs.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.docs?.inputs\n ? [options.docs.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.docs?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.docs?.executor ||\n `@${framework}/nx:${options?.docs?.targetName || \"docs\"}`,\n dependsOn:\n options?.docs?.dependsOn ??\n ([\n `^${options?.docs?.targetName || \"docs\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.docs?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n if (\n options?.deploy !== false &&\n !targets[options?.deploy?.targetName || \"deploy\"]\n ) {\n targets[options?.deploy?.targetName || \"deploy\"] = {\n cache: options?.deploy?.cache ?? false,\n inputs: Array.isArray(options?.deploy?.inputs)\n ? options.deploy.inputs\n : withNamedInputs(\n [...targetInputs, artifactsFolder],\n options?.deploy?.inputs\n ? [options.deploy.inputs]\n : [\"documentation\", \"typescript\"]\n ),\n outputs: options?.deploy?.outputs ?? [\"{options.outputPath}\"],\n executor:\n options?.deploy?.executor ||\n `@${framework}/nx:${options?.deploy?.targetName || \"deploy\"}`,\n dependsOn:\n options?.deploy?.dependsOn ??\n ([\n `^${options?.deploy?.targetName || \"deploy\"}`,\n options?.build !== false &&\n `${options?.build?.targetName || \"build\"}`,\n isDevelopment\n ? undefined\n : isSetObject(options?.prepare) &&\n options?.prepare?.targetName\n ? options?.prepare?.targetName\n : \"prepare\"\n ].filter(Boolean) as TargetConfiguration[\"dependsOn\"]),\n defaultConfiguration:\n options?.deploy?.defaultConfiguration || \"production\",\n options: {\n projectType: projectConfig.projectType,\n outputPath: `{workspaceRoot}/${projectRoot}/dist`,\n copyPath: `{workspaceRoot}/dist/${projectRoot}`\n },\n configurations: {\n production: {\n mode: \"production\"\n },\n test: {\n mode: \"test\"\n },\n development: {\n mode: \"development\",\n skipCache: true\n }\n }\n };\n }\n\n setDefaultProjectTags(projectConfig, name);\n addProjectTag(\n projectConfig,\n framework as ProjectTagVariant,\n projectConfig.projectType || \"library\",\n {\n overwrite: true\n }\n );\n\n if (options?.verboseOutput) {\n console.debug(\n `[${\n title\n }] - ${new Date().toISOString()} - Completed preparing Nx configuration for project in root directory ${projectRoot}.`\n );\n }\n\n return {\n projects: {\n [root]: defu(projectConfig, {\n projectType: projectConfig.projectType || \"library\",\n root,\n sourceRoot: joinPaths(root, \"src\"),\n targets\n })\n }\n };\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - Failed to process the project configuration for file \"${\n configFile\n }\" - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error\"\n }`\n );\n\n return {};\n }\n },\n configFiles,\n options,\n contextV2\n );\n }\n ];\n } catch (error) {\n console.error(\n `[${title}] - ${new Date().toISOString()} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"Unknown fatal error during plugin initialization\"\n }`\n );\n\n throw new Error(\n `Failed to initialize the ${title} - ${\n isError(error)\n ? error.message\n : isSetString(error)\n ? error\n : \"See previous logs for more details\"\n }`,\n {\n cause: error instanceof Error ? error : undefined\n }\n );\n }\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { createNxPlugin } from \"../helpers/plugin-utilities\";\nimport { NxPluginOptions } from \"../types/plugin\";\n\nexport const createNodesV2 = createNxPlugin<NxPluginOptions>({\n framework: \"powerlines\"\n});\n"],"mappings":"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"}