@azure-tools/typespec-ts 0.55.0-dev.2 → 0.55.0-dev.3

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 (122) hide show
  1. package/README.md +96 -24
  2. package/dist/src/framework/hooks/binder.d.ts.map +1 -1
  3. package/dist/src/framework/hooks/binder.js +3 -4
  4. package/dist/src/framework/hooks/binder.js.map +1 -1
  5. package/dist/src/framework/load-static-helpers.d.ts.map +1 -1
  6. package/dist/src/framework/load-static-helpers.js +7 -8
  7. package/dist/src/framework/load-static-helpers.js.map +1 -1
  8. package/dist/src/index.d.ts.map +1 -1
  9. package/dist/src/index.js +17 -17
  10. package/dist/src/index.js.map +1 -1
  11. package/dist/src/lib.js +30 -31
  12. package/dist/src/lib.js.map +1 -1
  13. package/dist/src/modular/build-project-files.d.ts.map +1 -1
  14. package/dist/src/modular/build-project-files.js +4 -4
  15. package/dist/src/modular/build-project-files.js.map +1 -1
  16. package/dist/src/modular/build-restore-poller.js +2 -2
  17. package/dist/src/modular/build-restore-poller.js.map +1 -1
  18. package/dist/src/modular/build-root-index.d.ts.map +1 -1
  19. package/dist/src/modular/build-root-index.js +5 -6
  20. package/dist/src/modular/build-root-index.js.map +1 -1
  21. package/dist/src/modular/build-subpath-index.d.ts.map +1 -1
  22. package/dist/src/modular/build-subpath-index.js +4 -4
  23. package/dist/src/modular/build-subpath-index.js.map +1 -1
  24. package/dist/src/modular/emit-models-options.js +2 -2
  25. package/dist/src/modular/emit-models-options.js.map +1 -1
  26. package/dist/src/modular/emit-models.d.ts.map +1 -1
  27. package/dist/src/modular/emit-models.js +2 -3
  28. package/dist/src/modular/emit-models.js.map +1 -1
  29. package/dist/src/modular/emit-samples.d.ts.map +1 -1
  30. package/dist/src/modular/emit-samples.js +3 -4
  31. package/dist/src/modular/emit-samples.js.map +1 -1
  32. package/dist/src/modular/emit-tests.d.ts.map +1 -1
  33. package/dist/src/modular/emit-tests.js +3 -3
  34. package/dist/src/modular/emit-tests.js.map +1 -1
  35. package/dist/src/modular/helpers/example-value-helpers.js +4 -4
  36. package/dist/src/modular/helpers/example-value-helpers.js.map +1 -1
  37. package/dist/src/rlc-common/build-client-definitions.js +2 -2
  38. package/dist/src/rlc-common/build-client-definitions.js.map +1 -1
  39. package/dist/src/rlc-common/build-client.js +3 -3
  40. package/dist/src/rlc-common/build-client.js.map +1 -1
  41. package/dist/src/rlc-common/build-index-file.js +2 -2
  42. package/dist/src/rlc-common/build-index-file.js.map +1 -1
  43. package/dist/src/rlc-common/build-is-unexpected-helper.js +2 -2
  44. package/dist/src/rlc-common/build-is-unexpected-helper.js.map +1 -1
  45. package/dist/src/rlc-common/build-logger.js +2 -2
  46. package/dist/src/rlc-common/build-logger.js.map +1 -1
  47. package/dist/src/rlc-common/build-paginate-helper.js +2 -2
  48. package/dist/src/rlc-common/build-paginate-helper.js.map +1 -1
  49. package/dist/src/rlc-common/build-parameter-types.js +2 -2
  50. package/dist/src/rlc-common/build-parameter-types.js.map +1 -1
  51. package/dist/src/rlc-common/build-polling-helper.js +2 -2
  52. package/dist/src/rlc-common/build-polling-helper.js.map +1 -1
  53. package/dist/src/rlc-common/build-response-types.js +2 -2
  54. package/dist/src/rlc-common/build-response-types.js.map +1 -1
  55. package/dist/src/rlc-common/build-samples.js +2 -2
  56. package/dist/src/rlc-common/build-samples.js.map +1 -1
  57. package/dist/src/rlc-common/build-schema-type.js +3 -3
  58. package/dist/src/rlc-common/build-schema-type.js.map +1 -1
  59. package/dist/src/rlc-common/build-serialize-helper.js +2 -2
  60. package/dist/src/rlc-common/build-serialize-helper.js.map +1 -1
  61. package/dist/src/rlc-common/build-top-level-index-file.js +2 -2
  62. package/dist/src/rlc-common/build-top-level-index-file.js.map +1 -1
  63. package/dist/src/rlc-common/helpers/path-utils.d.ts.map +1 -1
  64. package/dist/src/rlc-common/helpers/path-utils.js +1 -2
  65. package/dist/src/rlc-common/helpers/path-utils.js.map +1 -1
  66. package/dist/src/rlc-common/metadata/build-readme-file.d.ts.map +1 -1
  67. package/dist/src/rlc-common/metadata/build-readme-file.js +6 -6
  68. package/dist/src/rlc-common/metadata/build-readme-file.js.map +1 -1
  69. package/dist/src/transform/transform.d.ts.map +1 -1
  70. package/dist/src/transform/transform.js +2 -3
  71. package/dist/src/transform/transform.js.map +1 -1
  72. package/dist/src/utils/emit-util.d.ts.map +1 -1
  73. package/dist/src/utils/emit-util.js +3 -4
  74. package/dist/src/utils/emit-util.js.map +1 -1
  75. package/dist/src/utils/file-system-utils.d.ts.map +1 -1
  76. package/dist/src/utils/file-system-utils.js +3 -4
  77. package/dist/src/utils/file-system-utils.js.map +1 -1
  78. package/dist/src/utils/import-helper.js +3 -3
  79. package/dist/src/utils/import-helper.js.map +1 -1
  80. package/dist/src/utils/resolve-project-root.d.ts.map +1 -1
  81. package/dist/src/utils/resolve-project-root.js +1 -3
  82. package/dist/src/utils/resolve-project-root.js.map +1 -1
  83. package/dist/tsconfig.tsbuildinfo +1 -1
  84. package/package.json +26 -26
  85. package/src/framework/hooks/binder.ts +3 -4
  86. package/src/framework/load-static-helpers.ts +7 -8
  87. package/src/index.ts +23 -18
  88. package/src/lib.ts +31 -31
  89. package/src/modular/build-project-files.ts +11 -4
  90. package/src/modular/build-restore-poller.ts +2 -2
  91. package/src/modular/build-root-index.ts +5 -6
  92. package/src/modular/build-subpath-index.ts +4 -4
  93. package/src/modular/emit-models-options.ts +2 -2
  94. package/src/modular/emit-models.ts +2 -3
  95. package/src/modular/emit-samples.ts +3 -4
  96. package/src/modular/emit-tests.ts +7 -3
  97. package/src/modular/helpers/example-value-helpers.ts +4 -4
  98. package/src/rlc-common/build-client-definitions.ts +2 -2
  99. package/src/rlc-common/build-client.ts +3 -3
  100. package/src/rlc-common/build-index-file.ts +2 -2
  101. package/src/rlc-common/build-is-unexpected-helper.ts +2 -2
  102. package/src/rlc-common/build-logger.ts +2 -2
  103. package/src/rlc-common/build-paginate-helper.ts +2 -2
  104. package/src/rlc-common/build-parameter-types.ts +2 -2
  105. package/src/rlc-common/build-polling-helper.ts +2 -2
  106. package/src/rlc-common/build-response-types.ts +2 -2
  107. package/src/rlc-common/build-samples.ts +2 -2
  108. package/src/rlc-common/build-schema-type.ts +3 -3
  109. package/src/rlc-common/build-serialize-helper.ts +2 -2
  110. package/src/rlc-common/build-top-level-index-file.ts +2 -2
  111. package/src/rlc-common/helpers/path-utils.ts +1 -3
  112. package/src/rlc-common/metadata/build-readme-file.ts +7 -7
  113. package/src/transform/transform.ts +2 -3
  114. package/src/utils/emit-util.ts +3 -4
  115. package/src/utils/file-system-utils.ts +3 -4
  116. package/src/utils/import-helper.ts +3 -3
  117. package/src/utils/resolve-project-root.ts +1 -3
  118. package/dist/src/utils/dirname.d.ts +0 -9
  119. package/dist/src/utils/dirname.d.ts.map +0 -1
  120. package/dist/src/utils/dirname.js +0 -12
  121. package/dist/src/utils/dirname.js.map +0 -1
  122. package/src/utils/dirname.ts +0 -12
@@ -1,5 +1,4 @@
1
- import { NoTarget } from "@typespec/compiler";
2
- import { dirname, join } from "path";
1
+ import { getDirectoryPath, joinPaths, NoTarget } from "@typespec/compiler";
3
2
  import { format } from "prettier";
4
3
  import { prettierJSONOptions, prettierTypeScriptOptions, reportDiagnostic } from "../lib.js";
5
4
  import { buildSchemaTypes, isAzurePackage, } from "../rlc-common/index.js";
@@ -39,7 +38,7 @@ async function emitFile(file, program, isAzureFlavor, emitterOutputDir) {
39
38
  return;
40
39
  }
41
40
  const host = program.host;
42
- const filePath = join(emitterOutputDir ?? "", file.path);
41
+ const filePath = joinPaths(emitterOutputDir ?? "", file.path);
43
42
  const isJson = /\.json$/gi.test(filePath);
44
43
  const isSourceCode = /\.(ts|js)$/gi.test(filePath);
45
44
  const microsoftHeader = isAzureFlavor ? `// Copyright (c) Microsoft Corporation.\n` : "";
@@ -65,7 +64,7 @@ async function emitFile(file, program, isAzureFlavor, emitterOutputDir) {
65
64
  // Continue with unformatted content rather than crashing
66
65
  }
67
66
  }
68
- await host.mkdirp(dirname(filePath));
67
+ await host.mkdirp(getDirectoryPath(filePath));
69
68
  await host.writeFile(filePath, prettierFileContent);
70
69
  }
71
70
  //# sourceMappingURL=emit-util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit-util.js","sourceRoot":"","sources":["../../../src/utils/emit-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emit-util.js","sourceRoot":"","sources":["../../../src/utils/emit-util.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/file-system-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAKvD,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAM,EAAO,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
1
+ {"version":3,"file":"file-system-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/file-system-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAe,MAAM,oBAAoB,CAAC;AAIpE,wBAAsB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAOrE;AAED,wBAAsB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAY7D;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,EACf,YAAY,GAAE,MAAM,EAAO,EAC3B,OAAO,CAAC,EAAE,OAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
@@ -1,6 +1,5 @@
1
- import { NoTarget } from "@typespec/compiler";
1
+ import { NoTarget, resolvePath } from "@typespec/compiler";
2
2
  import { mkdir, readdir, rm, stat } from "fs/promises";
3
- import { resolve } from "path";
4
3
  import { reportDiagnostic } from "../lib.js";
5
4
  export async function pathExists(targetPath) {
6
5
  try {
@@ -20,7 +19,7 @@ export async function emptyDir(dirPath) {
20
19
  await mkdir(dirPath, { recursive: true });
21
20
  return;
22
21
  }
23
- await Promise.all(entries.map((entry) => rm(resolve(dirPath, entry), { recursive: true, force: true })));
22
+ await Promise.all(entries.map((entry) => rm(resolvePath(dirPath, entry), { recursive: true, force: true })));
24
23
  }
25
24
  export async function clearDirectory(dirPath, excludeNames = [], program) {
26
25
  if (!(await pathExists(dirPath))) {
@@ -40,7 +39,7 @@ export async function clearDirectory(dirPath, excludeNames = [], program) {
40
39
  });
41
40
  // Process each entry
42
41
  for (const entry of filteredEntries) {
43
- const entryPath = resolve(dirPath, entry);
42
+ const entryPath = resolvePath(dirPath, entry);
44
43
  await rm(entryPath, { recursive: true, force: true });
45
44
  }
46
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file-system-utils.js","sourceRoot":"","sources":["../../../src/utils/file-system-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CACtF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,eAAyB,EAAE,EAC3B,OAAiB;IAEjB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvC,2DAA2D;QAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC1C,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qDAAqD;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpD,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"file-system-utils.js","sourceRoot":"","sources":["../../../src/utils/file-system-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAAkB;IACjD,IAAI,CAAC;QACH,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAe;IAC5C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CACf,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAC1F,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,eAAyB,EAAE,EAC3B,OAAiB;IAEjB,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,gEAAgE;IAChE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,mCAAmC;QACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvC,2DAA2D;QAC3D,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,qBAAqB;QACrB,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC9C,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,qDAAqD;QACrD,IAAI,OAAO,EAAE,CAAC;YACZ,gBAAgB,CAAC,OAAO,EAAE;gBACxB,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE;gBACpD,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { dirname, relative, resolve } from "path";
1
+ import { getDirectoryPath, getRelativePathFromDirectory, resolvePath } from "@typespec/compiler";
2
2
  import { useContext } from "../context-manager.js";
3
3
  /**
4
4
  * Adds a named import to a TypeScript source file if it does not already exist.
@@ -16,7 +16,7 @@ export function addImportBySymbol(symbol, currentFile) {
16
16
  return;
17
17
  }
18
18
  // Resolve absolute path and compute a relative path from the current file to the module.
19
- const moduleAbsolutePath = resolve(modulePath);
19
+ const moduleAbsolutePath = resolvePath(modulePath);
20
20
  const relativeImportPath = getRelativeImportPath(currentFile.getFilePath(), moduleAbsolutePath)
21
21
  .replace(/\\/g, "/")
22
22
  .replace(/\.ts$/, ".js");
@@ -44,7 +44,7 @@ export function addImportBySymbol(symbol, currentFile) {
44
44
  * @returns {string} The relative path adjusted for import syntax.
45
45
  */
46
46
  function getRelativeImportPath(from, to) {
47
- const relativePath = relative(dirname(from), to);
47
+ const relativePath = getRelativePathFromDirectory(getDirectoryPath(from), to, false);
48
48
  // Adjust the path format to TypeScript module syntax
49
49
  return relativePath.startsWith(".") ? relativePath : "./" + relativePath;
50
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"import-helper.js","sourceRoot":"","sources":["../../../src/utils/import-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAuB;IACvE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE1C,yDAAyD;IACzD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC;SAC5F,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE3B,gFAAgF;IAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAoB,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,KAAK,kBAAkB,CAC1D,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,oBAAoB,CAAC;YAC/B,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAC,MAAM,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,EAAU;IACrD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACjD,qDAAqD;IACrD,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"import-helper.js","sourceRoot":"","sources":["../../../src/utils/import-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjG,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,WAAuB;IACvE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAE1C,yDAAyD;IACzD,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACxD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;IACT,CAAC;IAED,yFAAyF;IACzF,MAAM,kBAAkB,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,kBAAkB,CAAC;SAC5F,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAE3B,gFAAgF;IAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,oBAAoB,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,EAAE,KAAK,kBAAkB,CAC1D,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,MAAM,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,oBAAoB,CAAC;YAC/B,eAAe,EAAE,kBAAkB;YACnC,YAAY,EAAE,CAAC,MAAM,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,IAAY,EAAE,EAAU;IACrD,MAAM,YAAY,GAAG,4BAA4B,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;IACrF,qDAAqD;IACrD,OAAO,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC;AAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-project-root.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-project-root.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAgD,GAC3D,MAAM,CAgBR"}
1
+ {"version":3,"file":"resolve-project-root.d.ts","sourceRoot":"","sources":["../../../src/utils/resolve-project-root.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAgD,GAC3D,MAAM,CAcR"}
@@ -9,14 +9,12 @@ import { fileURLToPath } from "url";
9
9
  export function resolveProjectRoot(currentDir = dirname(fileURLToPath(import.meta.url))) {
10
10
  const packageJsonPath = resolve(currentDir, "package.json");
11
11
  if (existsSync(packageJsonPath)) {
12
- return currentDir; // Return the directory containing the package.json
12
+ return currentDir;
13
13
  }
14
14
  const parentDir = resolve(currentDir, "..");
15
15
  if (parentDir === currentDir) {
16
- // If we've reached the root directory and haven't found package.json
17
16
  throw new Error("Could not find package.json");
18
17
  }
19
- // Recursively search the parent directory
20
18
  return resolveProjectRoot(parentDir);
21
19
  }
22
20
  //# sourceMappingURL=resolve-project-root.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-project-root.js","sourceRoot":"","sources":["../../../src/utils/resolve-project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC,CAAC,mDAAmD;IACxE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,qEAAqE;QACrE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,0CAA0C;IAC1C,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"resolve-project-root.js","sourceRoot":"","sources":["../../../src/utils/resolve-project-root.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE5C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}