@vercel/fs-detectors 3.5.7 → 3.6.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/dist/index.d.ts CHANGED
@@ -10,3 +10,4 @@ export { getWorkspacePackagePaths, GetWorkspacePackagePathsOptions, } from './wo
10
10
  export { monorepoManagers } from './monorepos/monorepo-managers';
11
11
  export { isOfficialRuntime, isStaticRuntime } from './is-official-runtime';
12
12
  export { packageManagers } from './package-managers/package-managers';
13
+ export * from './monorepos/get-monorepo-default-settings';
package/dist/index.js CHANGED
@@ -1,4 +1,14 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
2
12
  Object.defineProperty(exports, "__esModule", { value: true });
3
13
  exports.packageManagers = exports.isStaticRuntime = exports.isOfficialRuntime = exports.monorepoManagers = exports.getWorkspacePackagePaths = exports.getWorkspaces = exports.workspaceManagers = exports.LocalFileSystemDetector = exports.DetectorFilesystem = exports.getProjectPaths = exports.detectFramework = exports.detectFileSystemAPI = exports.detectApiExtensions = exports.detectApiDirectory = exports.detectOutputDirectory = exports.detectBuilders = void 0;
4
14
  var detect_builders_1 = require("./detect-builders");
@@ -29,4 +39,5 @@ Object.defineProperty(exports, "isOfficialRuntime", { enumerable: true, get: fun
29
39
  Object.defineProperty(exports, "isStaticRuntime", { enumerable: true, get: function () { return is_official_runtime_1.isStaticRuntime; } });
30
40
  var package_managers_1 = require("./package-managers/package-managers");
31
41
  Object.defineProperty(exports, "packageManagers", { enumerable: true, get: function () { return package_managers_1.packageManagers; } });
42
+ __exportStar(require("./monorepos/get-monorepo-default-settings"), exports);
32
43
  //# sourceMappingURL=index.js.map
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,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,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"}
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,uDAAqD;AAA5C,mHAAA,eAAe,OAAA;AACxB,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"}
@@ -0,0 +1,18 @@
1
+ import { DetectorFilesystem } from '../detectors/filesystem';
2
+ export declare class MissingBuildPipeline extends Error {
3
+ constructor();
4
+ }
5
+ export declare class MissingBuildTarget extends Error {
6
+ constructor();
7
+ }
8
+ export declare function getMonorepoDefaultSettings(projectName: string, projectPath: string, relativeToRoot: string, detectorFilesystem: DetectorFilesystem): Promise<{
9
+ monorepoManager: string;
10
+ buildCommand: string;
11
+ installCommand: string;
12
+ commandForIgnoringBuildStep: string;
13
+ } | {
14
+ monorepoManager: string;
15
+ buildCommand: string;
16
+ installCommand: string;
17
+ commandForIgnoringBuildStep?: undefined;
18
+ } | null>;
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getMonorepoDefaultSettings = exports.MissingBuildTarget = exports.MissingBuildPipeline = void 0;
7
+ const path_1 = require("path");
8
+ const monorepo_managers_1 = require("./monorepo-managers");
9
+ const package_managers_1 = require("../package-managers/package-managers");
10
+ const detect_framework_1 = require("../detect-framework");
11
+ const json5_1 = __importDefault(require("json5"));
12
+ class MissingBuildPipeline extends Error {
13
+ constructor() {
14
+ super('Missing required `build` pipeline in turbo.json or package.json Turbo configuration.');
15
+ }
16
+ }
17
+ exports.MissingBuildPipeline = MissingBuildPipeline;
18
+ class MissingBuildTarget extends Error {
19
+ constructor() {
20
+ super('Missing required `build` target in either nx.json, project.json, or package.json Nx configuration.');
21
+ }
22
+ }
23
+ exports.MissingBuildTarget = MissingBuildTarget;
24
+ async function getMonorepoDefaultSettings(projectName, projectPath, relativeToRoot, detectorFilesystem) {
25
+ const [monorepoManager, packageManager] = await Promise.all([
26
+ detect_framework_1.detectFramework({
27
+ fs: detectorFilesystem,
28
+ frameworkList: monorepo_managers_1.monorepoManagers,
29
+ }),
30
+ detect_framework_1.detectFramework({
31
+ fs: detectorFilesystem,
32
+ frameworkList: package_managers_1.packageManagers,
33
+ }),
34
+ ]);
35
+ if (monorepoManager === 'turbo') {
36
+ const [turboJSONBuf, packageJSONBuf] = await Promise.all([
37
+ detectorFilesystem.readFile('turbo.json').catch(() => null),
38
+ detectorFilesystem.readFile('package.json').catch(() => null),
39
+ ]);
40
+ let hasBuildPipeline = false;
41
+ if (turboJSONBuf !== null) {
42
+ const turboJSON = json5_1.default.parse(turboJSONBuf.toString('utf-8'));
43
+ if (turboJSON?.pipeline?.build) {
44
+ hasBuildPipeline = true;
45
+ }
46
+ }
47
+ else if (packageJSONBuf !== null) {
48
+ const packageJSON = JSON.parse(packageJSONBuf.toString('utf-8'));
49
+ if (packageJSON?.turbo?.pipeline?.build) {
50
+ hasBuildPipeline = true;
51
+ }
52
+ }
53
+ if (!hasBuildPipeline) {
54
+ throw new MissingBuildPipeline();
55
+ }
56
+ return {
57
+ monorepoManager: 'turbo',
58
+ buildCommand: `cd ${relativeToRoot} && npx turbo run build --filter=${projectName}...`,
59
+ installCommand: `cd ${relativeToRoot} && ${packageManager} install`,
60
+ commandForIgnoringBuildStep: `cd ${relativeToRoot} && npx turbo-ignore`,
61
+ };
62
+ }
63
+ else if (monorepoManager === 'nx') {
64
+ // No ENOENT handling required here since conditional wouldn't be `true` unless `nx.json` was found.
65
+ const nxJSONBuf = await detectorFilesystem.readFile('nx.json');
66
+ const nxJSON = json5_1.default.parse(nxJSONBuf.toString('utf-8'));
67
+ if (!nxJSON?.targetDefaults?.build) {
68
+ const [projectJSONBuf, packageJSONBuf] = await Promise.all([
69
+ detectorFilesystem
70
+ .readFile(path_1.join(projectPath, 'project.json'))
71
+ .catch(() => null),
72
+ detectorFilesystem
73
+ .readFile(path_1.join(projectPath, 'package.json'))
74
+ .catch(() => null),
75
+ ]);
76
+ let hasBuildTarget = false;
77
+ if (projectJSONBuf) {
78
+ const projectJSON = json5_1.default.parse(projectJSONBuf.toString('utf-8'));
79
+ if (projectJSON?.targets?.build) {
80
+ hasBuildTarget = true;
81
+ }
82
+ }
83
+ if (packageJSONBuf) {
84
+ const packageJSON = json5_1.default.parse(packageJSONBuf.toString('utf-8'));
85
+ if (packageJSON?.nx) {
86
+ if (packageJSON.nx.targets?.build) {
87
+ hasBuildTarget = true;
88
+ }
89
+ }
90
+ }
91
+ if (!hasBuildTarget) {
92
+ throw new MissingBuildTarget();
93
+ }
94
+ }
95
+ return {
96
+ monorepoManager: 'nx',
97
+ buildCommand: `cd ${relativeToRoot} && npx nx build ${projectName}`,
98
+ installCommand: `cd ${relativeToRoot} && ${packageManager} install`,
99
+ };
100
+ }
101
+ // TODO (@Ethan-Arrowood) - Revisit rush support when we can test it better
102
+ /* else if (monorepoManager === 'rush') {
103
+ setCommand(
104
+ 'buildCommand',
105
+ `node ${relativeToRoot}/common/scripts/install-run-rush.js build --to ${projectName}`
106
+ );
107
+ setCommand(
108
+ 'installCommand',
109
+ `node ${relativeToRoot}/common/scripts/install-run-rush.js install`
110
+ );
111
+ } */
112
+ return null;
113
+ }
114
+ exports.getMonorepoDefaultSettings = getMonorepoDefaultSettings;
115
+ //# sourceMappingURL=get-monorepo-default-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-monorepo-default-settings.js","sourceRoot":"","sources":["../../src/monorepos/get-monorepo-default-settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/fs-detectors",
3
- "version": "3.5.7",
3
+ "version": "3.6.1",
4
4
  "description": "Vercel filesystem detectors",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -20,11 +20,11 @@
20
20
  },
21
21
  "dependencies": {
22
22
  "@vercel/error-utils": "1.0.3",
23
- "@vercel/frameworks": "1.1.16",
23
+ "@vercel/frameworks": "1.1.18",
24
24
  "@vercel/routing-utils": "2.1.3",
25
25
  "glob": "8.0.3",
26
26
  "js-yaml": "4.1.0",
27
- "json5": "2.2.1",
27
+ "json5": "2.2.2",
28
28
  "minimatch": "3.0.4",
29
29
  "semver": "6.1.1"
30
30
  },
@@ -35,8 +35,8 @@
35
35
  "@types/minimatch": "3.0.5",
36
36
  "@types/node": "14.18.33",
37
37
  "@types/semver": "7.3.10",
38
- "@vercel/build-utils": "5.7.3",
38
+ "@vercel/build-utils": "5.7.4",
39
39
  "typescript": "4.3.4"
40
40
  },
41
- "gitHead": "d6cccd70f28969eec48b484b0e74b0942de9b6cd"
41
+ "gitHead": "721cd3afcbff994fa96704b4eb79e5f6da7ab73c"
42
42
  }