@ms-cloudpack/path-utilities 2.7.8 → 2.7.10

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.
@@ -1 +1 @@
1
- {"version":3,"file":"intermediateToSourcePath.d.ts","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuD/G"}
1
+ {"version":3,"file":"intermediateToSourcePath.d.ts","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAsD/G"}
@@ -37,7 +37,6 @@ export function intermediateToSourcePath(relativeIntermediatePath, rootPath) {
37
37
  // And finally push the original path with the original extension in case it wasn't
38
38
  // covered.
39
39
  candidates.push(relativeIntermediatePath);
40
- // eslint-disable-next-line @ms-cloudpack/internal/no-sync-filesystem
41
40
  let match = candidates.find((candidate) => isFileSync(path.resolve(rootPath, candidate)));
42
41
  // Ensure correct path direction.
43
42
  if (match) {
@@ -1 +1 @@
1
- {"version":3,"file":"intermediateToSourcePath.js","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport { isFileSync } from './isFileSync.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\nimport { sourceExtensions } from './sourceExtensions.js';\n\nconst intermediateFolderNames = ['lib', 'lib-amd', 'lib-esm', 'lib-commonjs', 'dist'];\nconst sourceFolderName = 'src';\n\n/**\n * Takes a relative intermediate content path (e.g. \"lib/foo/bar.js\") and resolves it to a source content path\n * (e.g. \"/src/foo/foo.tsx\"). Note: source files must exist so that the utility can resolve the source.\n */\nexport function intermediateToSourcePath(relativeIntermediatePath: string, rootPath: string): string | undefined {\n const candidates = [];\n const originalExt = path.extname(relativeIntermediatePath);\n const originalPath = path.dirname(relativeIntermediatePath);\n const basename = path.basename(\n relativeIntermediatePath,\n sourceExtensions.includes(originalExt) ? originalExt : undefined,\n );\n\n // Find first non \".\" or \"..\" folder in relative path\n const parts = slash(originalPath).split('/');\n\n // Iterate through parts until we find the first folder name. If the folder name\n // is a known intermediate folder name, then we can replace it with the source folder name\n // and push all candidates to the candidates array.\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n if (part !== '.' && part !== '..') {\n if (intermediateFolderNames.includes(part)) {\n // Join the parts back together, replacing the part with the source folder name.\n const newPath = parts.map((v, j) => (j === i ? sourceFolderName : v)).join('/');\n\n // Push all possible source extensions.\n candidates.push(...sourceExtensions.map((ext) => path.join(newPath, basename + ext)));\n\n // Push the original.\n candidates.push(path.join(newPath, basename));\n }\n\n break;\n }\n }\n\n // Push the original path with all supported source extensions.\n candidates.push(...sourceExtensions.map((ext) => path.join(originalPath, basename + ext)));\n\n // And finally push the original path with the original extension in case it wasn't\n // covered.\n candidates.push(relativeIntermediatePath);\n\n // eslint-disable-next-line @ms-cloudpack/internal/no-sync-filesystem\n let match = candidates.find((candidate) => isFileSync(path.resolve(rootPath, candidate)));\n\n // Ensure correct path direction.\n if (match) {\n match = slash(match);\n }\n\n // Re-add the leading period.\n if (match && !match.startsWith('./')) {\n match = './' + match;\n }\n\n return match;\n}\n"]}
1
+ {"version":3,"file":"intermediateToSourcePath.js","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"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","sourcesContent":["import path from 'path';\nimport { isFileSync } from './isFileSync.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\nimport { sourceExtensions } from './sourceExtensions.js';\n\nconst intermediateFolderNames = ['lib', 'lib-amd', 'lib-esm', 'lib-commonjs', 'dist'];\nconst sourceFolderName = 'src';\n\n/**\n * Takes a relative intermediate content path (e.g. \"lib/foo/bar.js\") and resolves it to a source content path\n * (e.g. \"/src/foo/foo.tsx\"). Note: source files must exist so that the utility can resolve the source.\n */\nexport function intermediateToSourcePath(relativeIntermediatePath: string, rootPath: string): string | undefined {\n const candidates = [];\n const originalExt = path.extname(relativeIntermediatePath);\n const originalPath = path.dirname(relativeIntermediatePath);\n const basename = path.basename(\n relativeIntermediatePath,\n sourceExtensions.includes(originalExt) ? originalExt : undefined,\n );\n\n // Find first non \".\" or \"..\" folder in relative path\n const parts = slash(originalPath).split('/');\n\n // Iterate through parts until we find the first folder name. If the folder name\n // is a known intermediate folder name, then we can replace it with the source folder name\n // and push all candidates to the candidates array.\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n if (part !== '.' && part !== '..') {\n if (intermediateFolderNames.includes(part)) {\n // Join the parts back together, replacing the part with the source folder name.\n const newPath = parts.map((v, j) => (j === i ? sourceFolderName : v)).join('/');\n\n // Push all possible source extensions.\n candidates.push(...sourceExtensions.map((ext) => path.join(newPath, basename + ext)));\n\n // Push the original.\n candidates.push(path.join(newPath, basename));\n }\n\n break;\n }\n }\n\n // Push the original path with all supported source extensions.\n candidates.push(...sourceExtensions.map((ext) => path.join(originalPath, basename + ext)));\n\n // And finally push the original path with the original extension in case it wasn't\n // covered.\n candidates.push(relativeIntermediatePath);\n\n let match = candidates.find((candidate) => isFileSync(path.resolve(rootPath, candidate)));\n\n // Ensure correct path direction.\n if (match) {\n match = slash(match);\n }\n\n // Re-add the leading period.\n if (match && !match.startsWith('./')) {\n match = './' + match;\n }\n\n return match;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/path-utilities",
3
- "version": "2.7.8",
3
+ "version": "2.7.10",
4
4
  "description": "Utilities for resolving paths between source/intermediate/output locations in Cloudpack.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  "fast-glob": "^3.2.12"
29
29
  },
30
30
  "devDependencies": {
31
- "@ms-cloudpack/common-types": "^0.5.1",
31
+ "@ms-cloudpack/common-types": "^0.5.3",
32
32
  "@ms-cloudpack/eslint-plugin-internal": "^0.0.1",
33
33
  "@ms-cloudpack/scripts": "^0.0.1",
34
34
  "@ms-cloudpack/test-utilities": "^0.5.0"