@vercel/fs-detectors 4.0.0 → 4.1.0

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.
@@ -13,6 +13,10 @@ export interface DetectFrameworkRecordOptions {
13
13
  frameworkList: readonly Framework[];
14
14
  }
15
15
  export declare function detectFramework({ fs, frameworkList, }: DetectFrameworkOptions): Promise<string | null>;
16
+ /**
17
+ * Detects all matching Frameworks based on the given virtual filesystem.
18
+ */
19
+ export declare function detectFrameworks({ fs, frameworkList, }: DetectFrameworkRecordOptions): Promise<Framework[]>;
16
20
  /**
17
21
  * Framework with a `detectedVersion` specifying the version
18
22
  * or version range of the relevant package
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFramework = void 0;
3
+ exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFrameworks = exports.detectFramework = void 0;
4
4
  const child_process_1 = require("child_process");
5
5
  async function matches(fs, framework) {
6
6
  const { detectors } = framework;
@@ -90,6 +90,19 @@ async function detectFramework({ fs, frameworkList, }) {
90
90
  return result.find(res => res !== null) ?? null;
91
91
  }
92
92
  exports.detectFramework = detectFramework;
93
+ /**
94
+ * Detects all matching Frameworks based on the given virtual filesystem.
95
+ */
96
+ async function detectFrameworks({ fs, frameworkList, }) {
97
+ const result = await Promise.all(frameworkList.map(async (frameworkMatch) => {
98
+ if (await matches(fs, frameworkMatch)) {
99
+ return frameworkMatch;
100
+ }
101
+ return null;
102
+ }));
103
+ return result.filter(res => res !== null);
104
+ }
105
+ exports.detectFrameworks = detectFrameworks;
93
106
  // Note: Does not currently support a `frameworkList` of monorepo managers
94
107
  async function detectFrameworkRecord({ fs, frameworkList, }) {
95
108
  const result = await Promise.all(frameworkList.map(async (frameworkMatch) => {
@@ -1 +1 @@
1
- {"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../src/detect-framework.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect-framework.js","sourceRoot":"","sources":["../src/detect-framework.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare class LocalFileSystemDetector extends DetectorFilesystem {
6
6
  _hasPath(name: string): Promise<boolean>;
7
7
  _readFile(name: string): Promise<Buffer>;
8
8
  _isFile(name: string): Promise<boolean>;
9
- _readdir(name: string): Promise<DetectorFilesystemStat[]>;
9
+ _readdir(dir: string): Promise<DetectorFilesystemStat[]>;
10
10
  _chdir(name: string): DetectorFilesystem;
11
11
  private getRelativeFilePath;
12
12
  private getFilePath;
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.LocalFileSystemDetector = void 0;
7
7
  const promises_1 = __importDefault(require("fs/promises"));
8
- const path_1 = __importDefault(require("path"));
8
+ const path_1 = require("path");
9
9
  const filesystem_1 = require("./filesystem");
10
10
  const error_utils_1 = require("@vercel/error-utils");
11
11
  class LocalFileSystemDetector extends filesystem_1.DetectorFilesystem {
@@ -32,26 +32,24 @@ class LocalFileSystemDetector extends filesystem_1.DetectorFilesystem {
32
32
  const stat = await promises_1.default.stat(this.getFilePath(name));
33
33
  return stat.isFile();
34
34
  }
35
- async _readdir(name) {
36
- const dirPath = this.getFilePath(name);
37
- const dir = await promises_1.default.readdir(dirPath, {
38
- withFileTypes: true,
39
- });
40
- const getType = (dirent) => {
41
- if (dirent.isFile()) {
42
- return 'file';
35
+ async _readdir(dir) {
36
+ const dirPath = this.getFilePath(dir);
37
+ const files = await promises_1.default.readdir(dirPath);
38
+ return Promise.all(files.map(async (name) => {
39
+ const absPath = (0, path_1.join)(this.rootPath, dir, name);
40
+ const path = (0, path_1.join)(this.getRelativeFilePath(dir), name);
41
+ const stat = await promises_1.default.stat(absPath);
42
+ let type;
43
+ if (stat.isFile()) {
44
+ type = 'file';
43
45
  }
44
- else if (dirent.isDirectory()) {
45
- return 'dir';
46
+ else if (stat.isDirectory()) {
47
+ type = 'dir';
46
48
  }
47
49
  else {
48
- throw new Error(`Dirent was neither file nor directory`);
50
+ throw new Error(`Dirent was neither file nor directory: ${path}`);
49
51
  }
50
- };
51
- return dir.map(dirent => ({
52
- name: dirent.name,
53
- path: path_1.default.join(this.getRelativeFilePath(name), dirent.name),
54
- type: getType(dirent),
52
+ return { name, path, type };
55
53
  }));
56
54
  }
57
55
  _chdir(name) {
@@ -59,11 +57,11 @@ class LocalFileSystemDetector extends filesystem_1.DetectorFilesystem {
59
57
  }
60
58
  getRelativeFilePath(name) {
61
59
  return name.startsWith(this.rootPath)
62
- ? path_1.default.relative(this.rootPath, name)
60
+ ? (0, path_1.relative)(this.rootPath, name)
63
61
  : name;
64
62
  }
65
63
  getFilePath(name) {
66
- return path_1.default.join(this.rootPath, this.getRelativeFilePath(name));
64
+ return (0, path_1.join)(this.rootPath, this.getRelativeFilePath(name));
67
65
  }
68
66
  }
69
67
  exports.LocalFileSystemDetector = LocalFileSystemDetector;
@@ -1 +1 @@
1
- {"version":3,"file":"local-file-system-detector.js","sourceRoot":"","sources":["../../src/detectors/local-file-system-detector.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAE7B,gDAAwB;AACxB,6CAA0E;AAC1E,qDAAuD;AAEvD,MAAa,uBAAwB,SAAQ,+BAAkB;IAG7D,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,IAAI;YACF,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAA,8BAAgB,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClD,OAAO,KAAK,CAAC;aACd;YACD,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,kBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YACpC,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE;gBACnB,OAAO,MAAM,CAAC;aACf;iBAAM,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE;gBAC/B,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;YAC5D,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC;SACtB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,cAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YACpC,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,OAAO,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;CACF;AA/DD,0DA+DC"}
1
+ {"version":3,"file":"local-file-system-detector.js","sourceRoot":"","sources":["../../src/detectors/local-file-system-detector.ts"],"names":[],"mappings":";;;;;;AAAA,2DAA6B;AAC7B,+BAAsC;AACtC,6CAA0E;AAC1E,qDAAuD;AAEvD,MAAa,uBAAwB,SAAQ,+BAAkB;IAG7D,YAAY,QAAgB;QAC1B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,IAAI;YACF,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,GAAG,EAAE;YACZ,IAAI,IAAA,8BAAgB,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClD,OAAO,KAAK,CAAC;aACd;YACD,MAAM,GAAG,CAAC;SACX;IACH,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,kBAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY;QACxB,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,GAAG,CAChB,KAAK,CAAC,GAAG,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;YACrB,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;YAEvD,MAAM,IAAI,GAAG,MAAM,kBAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAoC,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;gBACjB,IAAI,GAAG,MAAM,CAAC;aACf;iBAAM,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;gBAC7B,IAAI,GAAG,KAAK,CAAC;aACd;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,0CAA0C,IAAI,EAAE,CAAC,CAAC;aACnE;YAED,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,mBAAmB,CAAC,IAAY;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,IAAA,eAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,OAAO,IAAA,WAAI,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,CAAC;CACF;AAjED,0DAiEC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { detectBuilders, detectOutputDirectory, detectApiDirectory, detectApiExtensions, } from './detect-builders';
2
2
  export { detectFileSystemAPI } from './detect-file-system-api';
3
- export { detectFramework, detectFrameworkRecord, detectFrameworkVersion, } from './detect-framework';
3
+ export { detectFramework, detectFrameworks, detectFrameworkRecord, detectFrameworkVersion, } from './detect-framework';
4
4
  export { getProjectPaths } from './get-project-paths';
5
5
  export { DetectorFilesystem } from './detectors/filesystem';
6
6
  export { LocalFileSystemDetector } from './detectors/local-file-system-detector';
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.packageManagers = exports.isStaticRuntime = exports.isOfficialRuntime = exports.monorepoManagers = exports.getWorkspacePackagePaths = exports.getWorkspaces = exports.workspaceManagers = exports.LocalFileSystemDetector = exports.DetectorFilesystem = exports.getProjectPaths = exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFramework = exports.detectFileSystemAPI = exports.detectApiExtensions = exports.detectApiDirectory = exports.detectOutputDirectory = exports.detectBuilders = void 0;
17
+ exports.packageManagers = exports.isStaticRuntime = exports.isOfficialRuntime = exports.monorepoManagers = exports.getWorkspacePackagePaths = exports.getWorkspaces = exports.workspaceManagers = exports.LocalFileSystemDetector = exports.DetectorFilesystem = exports.getProjectPaths = exports.detectFrameworkVersion = exports.detectFrameworkRecord = exports.detectFrameworks = exports.detectFramework = exports.detectFileSystemAPI = exports.detectApiExtensions = exports.detectApiDirectory = exports.detectOutputDirectory = exports.detectBuilders = void 0;
18
18
  var detect_builders_1 = require("./detect-builders");
19
19
  Object.defineProperty(exports, "detectBuilders", { enumerable: true, get: function () { return detect_builders_1.detectBuilders; } });
20
20
  Object.defineProperty(exports, "detectOutputDirectory", { enumerable: true, get: function () { return detect_builders_1.detectOutputDirectory; } });
@@ -24,6 +24,7 @@ var detect_file_system_api_1 = require("./detect-file-system-api");
24
24
  Object.defineProperty(exports, "detectFileSystemAPI", { enumerable: true, get: function () { return detect_file_system_api_1.detectFileSystemAPI; } });
25
25
  var detect_framework_1 = require("./detect-framework");
26
26
  Object.defineProperty(exports, "detectFramework", { enumerable: true, get: function () { return detect_framework_1.detectFramework; } });
27
+ Object.defineProperty(exports, "detectFrameworks", { enumerable: true, get: function () { return detect_framework_1.detectFrameworks; } });
27
28
  Object.defineProperty(exports, "detectFrameworkRecord", { enumerable: true, get: function () { return detect_framework_1.detectFrameworkRecord; } });
28
29
  Object.defineProperty(exports, "detectFrameworkVersion", { enumerable: true, get: function () { return detect_framework_1.detectFrameworkVersion; } });
29
30
  var get_project_paths_1 = require("./get-project-paths");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAK2B;AAJzB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AACrB,qHAAA,kBAAkB,OAAA;AAClB,sHAAA,mBAAmB,OAAA;AAErB,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,uDAI4B;AAH1B,mHAAA,eAAe,OAAA;AACf,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAExB,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,qDAA4D;AAAnD,gHAAA,kBAAkB,OAAA;AAC3B,qFAAiF;AAAxE,qIAAA,uBAAuB,OAAA;AAChC,sEAAoE;AAA3D,uHAAA,iBAAiB,OAAA;AAC1B,8DAKqC;AAJnC,+GAAA,aAAa,OAAA;AAKf,wFAGkD;AAFhD,uIAAA,wBAAwB,OAAA;AAG1B,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,6DAA2E;AAAlE,wHAAA,iBAAiB,OAAA;AAAE,sHAAA,eAAe,OAAA;AAC3C,wEAAsE;AAA7D,mHAAA,eAAe,OAAA;AACxB,4EAA0D"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAK2B;AAJzB,iHAAA,cAAc,OAAA;AACd,wHAAA,qBAAqB,OAAA;AACrB,qHAAA,kBAAkB,OAAA;AAClB,sHAAA,mBAAmB,OAAA;AAErB,mEAA+D;AAAtD,6HAAA,mBAAmB,OAAA;AAC5B,uDAK4B;AAJ1B,mHAAA,eAAe,OAAA;AACf,oHAAA,gBAAgB,OAAA;AAChB,yHAAA,qBAAqB,OAAA;AACrB,0HAAA,sBAAsB,OAAA;AAExB,yDAAsD;AAA7C,oHAAA,eAAe,OAAA;AACxB,qDAA4D;AAAnD,gHAAA,kBAAkB,OAAA;AAC3B,qFAAiF;AAAxE,qIAAA,uBAAuB,OAAA;AAChC,sEAAoE;AAA3D,uHAAA,iBAAiB,OAAA;AAC1B,8DAKqC;AAJnC,+GAAA,aAAa,OAAA;AAKf,wFAGkD;AAFhD,uIAAA,wBAAwB,OAAA;AAG1B,mEAAiE;AAAxD,qHAAA,gBAAgB,OAAA;AACzB,6DAA2E;AAAlE,wHAAA,iBAAiB,OAAA;AAAE,sHAAA,eAAe,OAAA;AAC3C,wEAAsE;AAA7D,mHAAA,eAAe,OAAA;AACxB,4EAA0D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/fs-detectors",
3
- "version": "4.0.0",
3
+ "version": "4.1.0",
4
4
  "description": "Vercel filesystem detectors",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "license": "Apache-2.0",
16
16
  "dependencies": {
17
17
  "@vercel/error-utils": "1.0.10",
18
- "@vercel/frameworks": "1.4.2",
18
+ "@vercel/frameworks": "1.4.3",
19
19
  "@vercel/routing-utils": "2.2.1",
20
20
  "glob": "8.0.3",
21
21
  "js-yaml": "4.1.0",
@@ -30,12 +30,13 @@
30
30
  "@types/minimatch": "3.0.5",
31
31
  "@types/node": "14.18.33",
32
32
  "@types/semver": "7.3.10",
33
- "@vercel/build-utils": "6.7.5",
33
+ "@vercel/build-utils": "6.8.2",
34
34
  "typescript": "4.9.5"
35
35
  },
36
36
  "scripts": {
37
37
  "build": "tsc",
38
38
  "test": "jest --env node --verbose --runInBand --bail",
39
- "test-unit": "pnpm test test/unit.*test.*"
39
+ "test-unit": "pnpm test test/unit.*test.*",
40
+ "test-e2e": "pnpm test test/integration.test.ts"
40
41
  }
41
42
  }