@ms-cloudpack/path-utilities 2.2.3 → 2.3.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.
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/intermediateToSourcePath.d.ts.map +1 -1
- package/lib/intermediateToSourcePath.js +3 -1
- package/lib/intermediateToSourcePath.js.map +1 -1
- package/lib/sourceExtensions.d.ts +6 -0
- package/lib/sourceExtensions.d.ts.map +1 -0
- package/lib/sourceExtensions.js +19 -0
- package/lib/sourceExtensions.js.map +1 -0
- package/lib/tsdoc-metadata.json +1 -1
- package/package.json +2 -2
package/lib/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { isFileSync } from './isFileSync.js';
|
|
|
3
3
|
export { isFile } from './isFile.js';
|
|
4
4
|
export { isFolderSync } from './isFolderSync.js';
|
|
5
5
|
export { isFolder } from './isFolder.js';
|
|
6
|
+
export { sourceExtensions } from './sourceExtensions.js';
|
|
6
7
|
export { sourceToIntermediatePath } from './sourceToIntermediatePath.js';
|
|
7
8
|
export { findPackageRoot } from './findPackageRoot.js';
|
|
8
9
|
export { pathSymbolReplacement } from './pathSymbolReplacement.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { isFileSync } from './isFileSync.js';
|
|
|
3
3
|
export { isFile } from './isFile.js';
|
|
4
4
|
export { isFolderSync } from './isFolderSync.js';
|
|
5
5
|
export { isFolder } from './isFolder.js';
|
|
6
|
+
export { sourceExtensions } from './sourceExtensions.js';
|
|
6
7
|
export { sourceToIntermediatePath } from './sourceToIntermediatePath.js';
|
|
7
8
|
export { findPackageRoot } from './findPackageRoot.js';
|
|
8
9
|
export { pathSymbolReplacement } from './pathSymbolReplacement.js';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { intermediateToSourcePath } from './intermediateToSourcePath.js';\nexport { isFileSync } from './isFileSync.js';\nexport { isFile } from './isFile.js';\nexport { isFolderSync } from './isFolderSync.js';\nexport { isFolder } from './isFolder.js';\nexport { sourceToIntermediatePath } from './sourceToIntermediatePath.js';\nexport { findPackageRoot } from './findPackageRoot.js';\nexport { pathSymbolReplacement } from './pathSymbolReplacement.js';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC","sourcesContent":["export { intermediateToSourcePath } from './intermediateToSourcePath.js';\nexport { isFileSync } from './isFileSync.js';\nexport { isFile } from './isFile.js';\nexport { isFolderSync } from './isFolderSync.js';\nexport { isFolder } from './isFolder.js';\nexport { sourceExtensions } from './sourceExtensions.js';\nexport { sourceToIntermediatePath } from './sourceToIntermediatePath.js';\nexport { findPackageRoot } from './findPackageRoot.js';\nexport { pathSymbolReplacement } from './pathSymbolReplacement.js';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intermediateToSourcePath.d.ts","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intermediateToSourcePath.d.ts","sourceRoot":"","sources":["../src/intermediateToSourcePath.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,wBAAwB,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA8C/G"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import { isFileSync } from './isFileSync.js';
|
|
3
3
|
import { slash } from '@ms-cloudpack/path-string-parsing';
|
|
4
|
+
import { sourceExtensions } from './sourceExtensions.js';
|
|
5
|
+
const tryExtensions = [...sourceExtensions, ''];
|
|
4
6
|
/**
|
|
5
7
|
* Takes a relative intermediate content path (e.g. "lib/foo/bar.js") and resolves it to a source content path
|
|
6
8
|
* (e.g. "/src/foo/foo.tsx"). Note: source files must exist so that the utility can resolve the source.
|
|
@@ -24,7 +26,7 @@ export function intermediateToSourcePath(relativeIntermediatePath, rootPath) {
|
|
|
24
26
|
const ext = path.extname(relativeIntermediatePath);
|
|
25
27
|
const basename = path.basename(relativeIntermediatePath, ext);
|
|
26
28
|
if (!ext || ext === '.js' || ext === '.mjs') {
|
|
27
|
-
|
|
29
|
+
tryExtensions.forEach((newExt) => candidates.unshift(slash(path.join(sourcePath, basename + newExt))));
|
|
28
30
|
}
|
|
29
31
|
candidates.push(slash(path.join(sourcePath, basename + ext)));
|
|
30
32
|
candidates.push(slash(relativeIntermediatePath));
|
|
@@ -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;
|
|
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;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,aAAa,GAAG,CAAC,GAAG,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAEhD;;;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,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SACxG;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';\nimport { sourceExtensions } from './sourceExtensions.js';\n\nconst tryExtensions = [...sourceExtensions, ''];\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 tryExtensions.forEach((newExt) => candidates.unshift(slash(path.join(sourcePath, basename + newExt))));\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"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceExtensions.d.ts","sourceRoot":"","sources":["../src/sourceExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAalD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* All valid TypeScript and JavaScript source file extensions.
|
|
3
|
+
* (Does not include `.json`.)
|
|
4
|
+
*/
|
|
5
|
+
export const sourceExtensions = [
|
|
6
|
+
'.tsx',
|
|
7
|
+
'.ts',
|
|
8
|
+
'.mtsx',
|
|
9
|
+
'.mts',
|
|
10
|
+
'.ctsx',
|
|
11
|
+
'.cts',
|
|
12
|
+
'.mjsx',
|
|
13
|
+
'.mjs',
|
|
14
|
+
'.jsx',
|
|
15
|
+
'.js',
|
|
16
|
+
'.cjsx',
|
|
17
|
+
'.cjs',
|
|
18
|
+
];
|
|
19
|
+
//# sourceMappingURL=sourceExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceExtensions.js","sourceRoot":"","sources":["../src/sourceExtensions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA0B;IACrD,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,MAAM;CACP,CAAC","sourcesContent":["/**\n * All valid TypeScript and JavaScript source file extensions.\n * (Does not include `.json`.)\n */\nexport const sourceExtensions: ReadonlyArray<string> = [\n '.tsx',\n '.ts',\n '.mtsx',\n '.mts',\n '.ctsx',\n '.cts',\n '.mjsx',\n '.mjs',\n '.jsx',\n '.js',\n '.cjsx',\n '.cjs',\n];\n"]}
|
package/lib/tsdoc-metadata.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ms-cloudpack/path-utilities",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.3.1",
|
|
4
4
|
"description": "Utilities for resolving paths between source/intermediate/output locations in Cloudpack.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"test": "cloudpack-scripts test"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@ms-cloudpack/path-string-parsing": "^1.0.
|
|
26
|
+
"@ms-cloudpack/path-string-parsing": "^1.0.3"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@ms-cloudpack/eslint-plugin-internal": "*",
|