@ms-cloudpack/path-utilities 2.2.0 → 2.2.1

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.
@@ -31,6 +31,7 @@ export function intermediateToSourcePath(relativeIntermediatePath, rootPath) {
31
31
  }
32
32
  let match = candidates.find((candidate) => {
33
33
  const resolvedPath = path.resolve(rootPath, candidate);
34
+ // eslint-disable-next-line no-restricted-syntax
34
35
  return isFileSync(resolvedPath);
35
36
  });
36
37
  // Re-add the leading period.
@@ -1 +1 @@
1
- {"version":3,"file":"intermediateToSourcePath.js","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,wBAAgC,EAAE,QAAgB;IACzF,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,qCAAqC;IACrC,OACE,KAAK,CAAC,MAAM;QACZ,gBAAgB,GAAG,KAAK,CAAC,MAAM;QAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,EACjG;QACA,gBAAgB,EAAE,CAAC;KACpB;IAED,mFAAmF;IACnF,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC,EAAE;QACvC,MAAM,kBAAkB,GACtB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,kBAAkB;YACnC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnF,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;YAC3C,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACrF,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;SACH;QAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9D,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;KAClD;IAED,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACpC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import path from 'path';\nimport { isFileSync } from './isFileSync.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\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 parts = slash(relativeIntermediatePath).split('/');\n let firstFolderIndex = 0;\n\n // Find first folder in relative path\n while (\n parts.length &&\n firstFolderIndex < parts.length &&\n (!parts[firstFolderIndex] || parts[firstFolderIndex] === '.' || parts[firstFolderIndex] === '..')\n ) {\n firstFolderIndex++;\n }\n\n // If there is at least 1 folder and 1 filename in the path, add source candidates.\n if (parts.length - firstFolderIndex > 1) {\n const isIntermediatePath =\n ['lib', 'lib-amd', 'lib-esm', 'lib-commonjs', 'dist'].indexOf(parts[firstFolderIndex]) >= 0;\n const sourcePath = isIntermediatePath\n ? path.dirname(parts.map((v, i) => (i === firstFolderIndex ? 'src' : v)).join('/'))\n : path.dirname(relativeIntermediatePath);\n\n const ext = path.extname(relativeIntermediatePath);\n const basename = path.basename(relativeIntermediatePath, ext);\n\n if (!ext || ext === '.js' || ext === '.mjs') {\n ['.tsx', '.ts', '.mtsx', '.mts', '.jsx', '.mjs', '.js', '.cjs', ''].forEach((newExt) =>\n candidates.unshift(slash(path.join(sourcePath, basename + newExt))),\n );\n }\n\n candidates.push(slash(path.join(sourcePath, basename + ext)));\n\n candidates.push(slash(relativeIntermediatePath));\n }\n\n let match = candidates.find((candidate) => {\n const resolvedPath = path.resolve(rootPath, candidate);\n return isFileSync(resolvedPath);\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":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE1D;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,wBAAgC,EAAE,QAAgB;IACzF,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,MAAM,KAAK,GAAG,KAAK,CAAC,wBAAwB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzD,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,qCAAqC;IACrC,OACE,KAAK,CAAC,MAAM;QACZ,gBAAgB,GAAG,KAAK,CAAC,MAAM;QAC/B,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,EACjG;QACA,gBAAgB,EAAE,CAAC;KACpB;IAED,mFAAmF;IACnF,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,GAAG,CAAC,EAAE;QACvC,MAAM,kBAAkB,GACtB,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9F,MAAM,UAAU,GAAG,kBAAkB;YACnC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnF,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;QAE9D,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;YAC3C,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CACrF,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CACpE,CAAC;SACH;QAED,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAE9D,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;KAClD;IAED,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACvD,gDAAgD;QAChD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QACpC,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;KACtB;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import path from 'path';\nimport { isFileSync } from './isFileSync.js';\nimport { slash } from '@ms-cloudpack/path-string-parsing';\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 parts = slash(relativeIntermediatePath).split('/');\n let firstFolderIndex = 0;\n\n // Find first folder in relative path\n while (\n parts.length &&\n firstFolderIndex < parts.length &&\n (!parts[firstFolderIndex] || parts[firstFolderIndex] === '.' || parts[firstFolderIndex] === '..')\n ) {\n firstFolderIndex++;\n }\n\n // If there is at least 1 folder and 1 filename in the path, add source candidates.\n if (parts.length - firstFolderIndex > 1) {\n const isIntermediatePath =\n ['lib', 'lib-amd', 'lib-esm', 'lib-commonjs', 'dist'].indexOf(parts[firstFolderIndex]) >= 0;\n const sourcePath = isIntermediatePath\n ? path.dirname(parts.map((v, i) => (i === firstFolderIndex ? 'src' : v)).join('/'))\n : path.dirname(relativeIntermediatePath);\n\n const ext = path.extname(relativeIntermediatePath);\n const basename = path.basename(relativeIntermediatePath, ext);\n\n if (!ext || ext === '.js' || ext === '.mjs') {\n ['.tsx', '.ts', '.mtsx', '.mts', '.jsx', '.mjs', '.js', '.cjs', ''].forEach((newExt) =>\n candidates.unshift(slash(path.join(sourcePath, basename + newExt))),\n );\n }\n\n candidates.push(slash(path.join(sourcePath, basename + ext)));\n\n candidates.push(slash(relativeIntermediatePath));\n }\n\n let match = candidates.find((candidate) => {\n const resolvedPath = path.resolve(rootPath, candidate);\n // eslint-disable-next-line no-restricted-syntax\n return isFileSync(resolvedPath);\n });\n\n // Re-add the leading period.\n if (match && !match.startsWith('./')) {\n match = './' + match;\n }\n\n return match;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import fs from 'fs';
2
2
  export function isFolderSync(itemPath) {
3
3
  try {
4
+ // eslint-disable-next-line no-restricted-syntax
4
5
  return fs.lstatSync(itemPath)?.isDirectory();
5
6
  }
6
7
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"isFolderSync.js","sourceRoot":"","sources":["../src/isFolderSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI;QACF,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,WAAW;KACZ;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import fs from 'fs';\n\nexport function isFolderSync(itemPath: string): boolean {\n try {\n return fs.lstatSync(itemPath)?.isDirectory();\n } catch (e) {\n /* no-op */\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"isFolderSync.js","sourceRoot":"","sources":["../src/isFolderSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI;QACF,gDAAgD;QAChD,OAAO,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;KAC9C;IAAC,OAAO,CAAC,EAAE;QACV,WAAW;KACZ;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import fs from 'fs';\n\nexport function isFolderSync(itemPath: string): boolean {\n try {\n // eslint-disable-next-line no-restricted-syntax\n return fs.lstatSync(itemPath)?.isDirectory();\n } catch (e) {\n /* no-op */\n }\n\n return false;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ms-cloudpack/path-utilities",
3
- "version": "2.2.0",
3
+ "version": "2.2.1",
4
4
  "description": "Utilities for resolving paths between source/intermediate/output locations in Cloudpack.",
5
5
  "license": "MIT",
6
6
  "type": "module",