@teambit/host-initializer 0.0.367 ā 0.0.369
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/create-consumer.js +18 -0
- package/dist/create-consumer.js.map +1 -1
- package/dist/host-initializer.main.runtime.d.ts +48 -2
- package/dist/host-initializer.main.runtime.js +303 -4
- package/dist/host-initializer.main.runtime.js.map +1 -1
- package/dist/init-cmd.d.ts +4 -1
- package/dist/init-cmd.js +43 -12
- package/dist/init-cmd.js.map +1 -1
- package/package.json +19 -16
- /package/dist/{preview-1752783555821.js ā preview-1753215957601.js} +0 -0
package/dist/create-consumer.js
CHANGED
|
@@ -88,6 +88,24 @@ noPackageJson = false, workspaceExtensionProps, generator) {
|
|
|
88
88
|
} : {}
|
|
89
89
|
} : undefined;
|
|
90
90
|
const config = await _config().ConfigMain.ensureWorkspace(projectPath, scope.path, workspaceConfigProps, generator);
|
|
91
|
+
|
|
92
|
+
// Configure workspace-config-files for external package manager mode or interactive mode
|
|
93
|
+
const shouldEnableWorkspaceConfigWrite = workspaceExtensionProps?.externalPackageManager || workspaceExtensionProps?.defaultDirectory?.startsWith('bit-components');
|
|
94
|
+
if (shouldEnableWorkspaceConfigWrite) {
|
|
95
|
+
const workspaceConfig = config.workspaceConfig;
|
|
96
|
+
if (workspaceConfig) {
|
|
97
|
+
workspaceConfig.setExtension('teambit.workspace/workspace-config-files', {
|
|
98
|
+
enableWorkspaceConfigWrite: true,
|
|
99
|
+
useDefaultDirectory: true
|
|
100
|
+
}, {
|
|
101
|
+
ignoreVersion: true,
|
|
102
|
+
overrideExisting: true
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// Write the config to disk to persist the changes
|
|
106
|
+
await workspaceConfig.write();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
91
109
|
const legacyConfig = config.config.toLegacy();
|
|
92
110
|
const consumer = new (_legacy().Consumer)({
|
|
93
111
|
projectPath,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_path","data","_interopRequireDefault","require","_toolboxString","_legacy","_legacy2","_legacy3","_config","_component","_lodash","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createConsumer","projectPath","standAlone","noPackageJson","workspaceExtensionProps","generator","resolvedScopePath","Consumer","_getScopePath","scopeName","path","basename","process","cwd","generateRandomStr","scope","Scope","ensure","workspaceConfigProps","pickBy","name","defaultScope","defaultDirectory","components","externalPackageManager","undefined","config","ConfigMain","ensureWorkspace","legacyConfig","toLegacy","consumer","created","setBitMap","existingPackageJson","PackageJsonFile","loadSync","fileExist","content","packageJsonObject","type","scripts","postinstall","packageJson","create","setPackageJson","jsonContent","setPackageJsonWithTypeModule","resetConsumer","resetHard","noGit","BitMap","reset","WorkspaceConfig"],"sources":["create-consumer.ts"],"sourcesContent":["import path from 'path';\nimport { generateRandomStr } from '@teambit/toolbox.string.random';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { Scope } from '@teambit/legacy.scope';\nimport { PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ConfigMain, WorkspaceConfig, WorkspaceExtensionProps, WorkspaceConfigFileProps } from '@teambit/config';\nimport { PackageJsonFile } from '@teambit/component.sources';\nimport { pickBy } from 'lodash';\n\nexport async function createConsumer(\n projectPath: PathOsBasedAbsolute,\n standAlone = false, // no git\n noPackageJson = false,\n workspaceExtensionProps?: WorkspaceExtensionProps & { externalPackageManager?: boolean },\n generator?: string\n): Promise<Consumer> {\n const resolvedScopePath = Consumer._getScopePath(projectPath, standAlone);\n // avoid using the default scope-name `path.basename(process.cwd())` when generated from the workspace.\n // otherwise, components with the same scope-name will get ComponentNotFound on import\n const scopeName = `${path.basename(process.cwd())}-local-${generateRandomStr()}`;\n const scope = await Scope.ensure(resolvedScopePath, scopeName);\n const workspaceConfigProps = workspaceExtensionProps\n ? ({\n 'teambit.workspace/workspace': pickBy({\n name: workspaceExtensionProps.name,\n defaultScope: workspaceExtensionProps.defaultScope,\n defaultDirectory: workspaceExtensionProps.defaultDirectory,\n components: workspaceExtensionProps.components,\n }), // remove empty values\n 'teambit.dependencies/dependency-resolver': workspaceExtensionProps.externalPackageManager\n ? { externalPackageManager: workspaceExtensionProps.externalPackageManager }\n : {},\n } as WorkspaceConfigFileProps)\n : undefined;\n const config = await ConfigMain.ensureWorkspace(projectPath, scope.path, workspaceConfigProps, generator);\n const legacyConfig = (config.config as WorkspaceConfig).toLegacy();\n const consumer = new Consumer({\n projectPath,\n created: true,\n scope,\n config: legacyConfig,\n });\n await consumer.setBitMap();\n if (!noPackageJson) {\n if (workspaceConfigProps?.['teambit.dependencies/dependency-resolver']?.externalPackageManager) {\n // Handle package.json for external package manager mode\n const existingPackageJson = PackageJsonFile.loadSync(consumer.projectPath);\n if (existingPackageJson.fileExist) {\n // Merge with existing package.json\n const content = { ...existingPackageJson.packageJsonObject };\n content.type = 'module';\n content.scripts = content.scripts || {};\n content.scripts.postinstall = 'bit link && bit compile';\n\n const packageJson = PackageJsonFile.create(consumer.projectPath, undefined, content);\n consumer.setPackageJson(packageJson);\n } else {\n // Create new package.json with postInstall script\n const jsonContent = {\n type: 'module',\n scripts: {\n postinstall: 'bit link && bit compile',\n },\n };\n const packageJson = PackageJsonFile.create(consumer.projectPath, undefined, jsonContent);\n consumer.setPackageJson(packageJson);\n }\n } else {\n consumer.setPackageJsonWithTypeModule();\n }\n }\n return consumer;\n}\n\n/**\n * if resetHard, delete consumer-files: bitMap and workspace.jsonc and also the local scope (.bit dir).\n * otherwise, delete the consumer-files only when they are corrupted\n */\nexport async function resetConsumer(\n projectPath: PathOsBasedAbsolute,\n resetHard: boolean,\n noGit = false\n): Promise<void> {\n const resolvedScopePath = Consumer._getScopePath(projectPath, noGit);\n BitMap.reset(projectPath, resetHard);\n await Scope.reset(resolvedScopePath, resetHard);\n await WorkspaceConfig.reset(projectPath, resetHard);\n await WorkspaceConfig.ensure(projectPath, resolvedScopePath);\n await PackageJsonFile.reset(projectPath);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_path","data","_interopRequireDefault","require","_toolboxString","_legacy","_legacy2","_legacy3","_config","_component","_lodash","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","createConsumer","projectPath","standAlone","noPackageJson","workspaceExtensionProps","generator","resolvedScopePath","Consumer","_getScopePath","scopeName","path","basename","process","cwd","generateRandomStr","scope","Scope","ensure","workspaceConfigProps","pickBy","name","defaultScope","defaultDirectory","components","externalPackageManager","undefined","config","ConfigMain","ensureWorkspace","shouldEnableWorkspaceConfigWrite","startsWith","workspaceConfig","setExtension","enableWorkspaceConfigWrite","useDefaultDirectory","ignoreVersion","overrideExisting","write","legacyConfig","toLegacy","consumer","created","setBitMap","existingPackageJson","PackageJsonFile","loadSync","fileExist","content","packageJsonObject","type","scripts","postinstall","packageJson","create","setPackageJson","jsonContent","setPackageJsonWithTypeModule","resetConsumer","resetHard","noGit","BitMap","reset","WorkspaceConfig"],"sources":["create-consumer.ts"],"sourcesContent":["import path from 'path';\nimport { generateRandomStr } from '@teambit/toolbox.string.random';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { Scope } from '@teambit/legacy.scope';\nimport { PathOsBasedAbsolute } from '@teambit/legacy.utils';\nimport { BitMap } from '@teambit/legacy.bit-map';\nimport { ConfigMain, WorkspaceConfig, WorkspaceExtensionProps } from '@teambit/config';\nimport { PackageJsonFile } from '@teambit/component.sources';\nimport { pickBy } from 'lodash';\n\nexport async function createConsumer(\n projectPath: PathOsBasedAbsolute,\n standAlone = false, // no git\n noPackageJson = false,\n workspaceExtensionProps?: WorkspaceExtensionProps & { externalPackageManager?: boolean },\n generator?: string\n): Promise<Consumer> {\n const resolvedScopePath = Consumer._getScopePath(projectPath, standAlone);\n // avoid using the default scope-name `path.basename(process.cwd())` when generated from the workspace.\n // otherwise, components with the same scope-name will get ComponentNotFound on import\n const scopeName = `${path.basename(process.cwd())}-local-${generateRandomStr()}`;\n const scope = await Scope.ensure(resolvedScopePath, scopeName);\n const workspaceConfigProps = workspaceExtensionProps\n ? {\n 'teambit.workspace/workspace': pickBy({\n name: workspaceExtensionProps.name,\n defaultScope: workspaceExtensionProps.defaultScope,\n defaultDirectory: workspaceExtensionProps.defaultDirectory,\n components: workspaceExtensionProps.components,\n }), // remove empty values\n 'teambit.dependencies/dependency-resolver': workspaceExtensionProps.externalPackageManager\n ? { externalPackageManager: workspaceExtensionProps.externalPackageManager }\n : {},\n }\n : undefined;\n const config = await ConfigMain.ensureWorkspace(projectPath, scope.path, workspaceConfigProps as any, generator);\n\n // Configure workspace-config-files for external package manager mode or interactive mode\n const shouldEnableWorkspaceConfigWrite =\n workspaceExtensionProps?.externalPackageManager ||\n workspaceExtensionProps?.defaultDirectory?.startsWith('bit-components');\n\n if (shouldEnableWorkspaceConfigWrite) {\n const workspaceConfig = config.workspaceConfig;\n if (workspaceConfig) {\n workspaceConfig.setExtension(\n 'teambit.workspace/workspace-config-files',\n {\n enableWorkspaceConfigWrite: true,\n useDefaultDirectory: true,\n },\n { ignoreVersion: true, overrideExisting: true }\n );\n\n // Write the config to disk to persist the changes\n await workspaceConfig.write();\n }\n }\n\n const legacyConfig = (config.config as WorkspaceConfig).toLegacy();\n const consumer = new Consumer({\n projectPath,\n created: true,\n scope,\n config: legacyConfig,\n });\n await consumer.setBitMap();\n if (!noPackageJson) {\n if (workspaceConfigProps?.['teambit.dependencies/dependency-resolver']?.externalPackageManager) {\n // Handle package.json for external package manager mode\n const existingPackageJson = PackageJsonFile.loadSync(consumer.projectPath);\n if (existingPackageJson.fileExist) {\n // Merge with existing package.json\n const content = { ...existingPackageJson.packageJsonObject };\n content.type = 'module';\n content.scripts = content.scripts || {};\n content.scripts.postinstall = 'bit link && bit compile';\n\n const packageJson = PackageJsonFile.create(consumer.projectPath, undefined, content);\n consumer.setPackageJson(packageJson);\n } else {\n // Create new package.json with postInstall script\n const jsonContent = {\n type: 'module',\n scripts: {\n postinstall: 'bit link && bit compile',\n },\n };\n const packageJson = PackageJsonFile.create(consumer.projectPath, undefined, jsonContent);\n consumer.setPackageJson(packageJson);\n }\n } else {\n consumer.setPackageJsonWithTypeModule();\n }\n }\n return consumer;\n}\n\n/**\n * if resetHard, delete consumer-files: bitMap and workspace.jsonc and also the local scope (.bit dir).\n * otherwise, delete the consumer-files only when they are corrupted\n */\nexport async function resetConsumer(\n projectPath: PathOsBasedAbsolute,\n resetHard: boolean,\n noGit = false\n): Promise<void> {\n const resolvedScopePath = Consumer._getScopePath(projectPath, noGit);\n BitMap.reset(projectPath, resetHard);\n await Scope.reset(resolvedScopePath, resetHard);\n await WorkspaceConfig.reset(projectPath, resetHard);\n await WorkspaceConfig.ensure(projectPath, resolvedScopePath);\n await PackageJsonFile.reset(projectPath);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,57 @@
|
|
|
1
1
|
import { Consumer } from '@teambit/legacy.consumer';
|
|
2
2
|
import { WorkspaceExtensionProps } from '@teambit/config';
|
|
3
3
|
import { CLIMain } from '@teambit/cli';
|
|
4
|
+
import { LoggerMain } from '@teambit/logger';
|
|
5
|
+
export interface InteractiveConfig {
|
|
6
|
+
generator?: string;
|
|
7
|
+
externalPackageManager: boolean;
|
|
8
|
+
defaultDirectory: string;
|
|
9
|
+
mcpEditor?: string;
|
|
10
|
+
}
|
|
4
11
|
export declare class HostInitializerMain {
|
|
5
|
-
static init(absPath?: string, noGit?: boolean, noPackageJson?: boolean, reset?: boolean, resetNew?: boolean, resetLaneNew?: boolean, resetHard?: boolean, resetScope?: boolean, force?: boolean, workspaceConfigProps?: WorkspaceExtensionProps, generator?: string): Promise<
|
|
12
|
+
static init(absPath?: string, noGit?: boolean, noPackageJson?: boolean, reset?: boolean, resetNew?: boolean, resetLaneNew?: boolean, resetHard?: boolean, resetScope?: boolean, force?: boolean, workspaceConfigProps?: WorkspaceExtensionProps, generator?: string): Promise<{
|
|
13
|
+
created: boolean;
|
|
14
|
+
consumer: Consumer;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Check if the directory contains a .git folder
|
|
18
|
+
*/
|
|
19
|
+
static hasGitDirectory(projectPath: string): Promise<boolean>;
|
|
20
|
+
/**
|
|
21
|
+
* Check if the directory already has a bit workspace initialized
|
|
22
|
+
*/
|
|
23
|
+
static hasWorkspaceInitialized(projectPath: string): Promise<boolean>;
|
|
24
|
+
/**
|
|
25
|
+
* Prompt user for environment selection
|
|
26
|
+
*/
|
|
27
|
+
static promptForEnvironment(): Promise<string | null>;
|
|
28
|
+
/**
|
|
29
|
+
* Prompt user for package manager preference
|
|
30
|
+
*/
|
|
31
|
+
static promptForPackageManager(): Promise<boolean>;
|
|
32
|
+
/**
|
|
33
|
+
* Prompt user for MCP server configuration
|
|
34
|
+
*/
|
|
35
|
+
static promptForMcpServer(): Promise<string | null>;
|
|
36
|
+
/**
|
|
37
|
+
* Create or update .gitignore file with Bit-specific entries
|
|
38
|
+
*/
|
|
39
|
+
static updateGitignore(projectPath: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Set up MCP server configuration for the selected editor
|
|
42
|
+
*/
|
|
43
|
+
static setupMcpServer(editor: string, projectPath: string): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Run interactive mode for Git repositories
|
|
46
|
+
*/
|
|
47
|
+
static runInteractiveMode(projectPath: string): Promise<InteractiveConfig>;
|
|
48
|
+
/**
|
|
49
|
+
* Generate the final initialization message
|
|
50
|
+
*/
|
|
51
|
+
static generateInitMessage(created: boolean, reset: boolean, resetHard: boolean, resetScope: boolean, interactiveConfig: InteractiveConfig | null): string;
|
|
6
52
|
static slots: never[];
|
|
7
53
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
8
54
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
9
|
-
static provider([cli]: [CLIMain]): Promise<HostInitializerMain>;
|
|
55
|
+
static provider([cli, loggerMain]: [CLIMain, LoggerMain]): Promise<HostInitializerMain>;
|
|
10
56
|
}
|
|
11
57
|
export default HostInitializerMain;
|
|
@@ -18,6 +18,20 @@ function path() {
|
|
|
18
18
|
};
|
|
19
19
|
return data;
|
|
20
20
|
}
|
|
21
|
+
function _chalk() {
|
|
22
|
+
const data = _interopRequireDefault(require("chalk"));
|
|
23
|
+
_chalk = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _enquirer() {
|
|
29
|
+
const data = require("enquirer");
|
|
30
|
+
_enquirer = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
21
35
|
function _scopeModules() {
|
|
22
36
|
const data = require("@teambit/scope.modules.find-scope-path");
|
|
23
37
|
_scopeModules = function () {
|
|
@@ -53,6 +67,20 @@ function _toolboxFs() {
|
|
|
53
67
|
};
|
|
54
68
|
return data;
|
|
55
69
|
}
|
|
70
|
+
function _config() {
|
|
71
|
+
const data = require("@teambit/config");
|
|
72
|
+
_config = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
function _mcp() {
|
|
78
|
+
const data = require("@teambit/mcp.mcp-config-writer");
|
|
79
|
+
_mcp = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
56
84
|
function _cli() {
|
|
57
85
|
const data = require("@teambit/cli");
|
|
58
86
|
_cli = function () {
|
|
@@ -88,6 +116,13 @@ function _createConsumer() {
|
|
|
88
116
|
};
|
|
89
117
|
return data;
|
|
90
118
|
}
|
|
119
|
+
function _logger() {
|
|
120
|
+
const data = require("@teambit/logger");
|
|
121
|
+
_logger = function () {
|
|
122
|
+
return data;
|
|
123
|
+
};
|
|
124
|
+
return data;
|
|
125
|
+
}
|
|
91
126
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
92
127
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
93
128
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
@@ -95,6 +130,27 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
95
130
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
96
131
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
97
132
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
133
|
+
/**
|
|
134
|
+
* Reusable cancel function for prompts
|
|
135
|
+
* By default, canceling the prompt via Ctrl+c throws an empty string.
|
|
136
|
+
* The custom cancel function prevents that behavior.
|
|
137
|
+
* Otherwise, Bit CLI would print an error and confuse users.
|
|
138
|
+
* See related issue: https://github.com/enquirer/enquirer/issues/225
|
|
139
|
+
*/
|
|
140
|
+
const promptCancel = () => {
|
|
141
|
+
// Empty function to prevent default behavior
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Handle prompt errors consistently
|
|
146
|
+
*/
|
|
147
|
+
const handlePromptError = err => {
|
|
148
|
+
if (!err || err === '') {
|
|
149
|
+
// for some reason, when the user clicks Ctrl+C, the error is an empty string
|
|
150
|
+
throw new Error('The prompt has been canceled');
|
|
151
|
+
}
|
|
152
|
+
throw err;
|
|
153
|
+
};
|
|
98
154
|
class HostInitializerMain {
|
|
99
155
|
static async init(absPath, noGit = false, noPackageJson = false, reset = false, resetNew = false, resetLaneNew = false, resetHard = false, resetScope = false, force = false, workspaceConfigProps = {}, generator) {
|
|
100
156
|
const consumerInfo = await (0, _workspaceModules().getWorkspaceInfo)(absPath || process.cwd());
|
|
@@ -133,18 +189,261 @@ class HostInitializerMain {
|
|
|
133
189
|
if (resetLaneNew) {
|
|
134
190
|
await consumer.resetLaneNew();
|
|
135
191
|
}
|
|
136
|
-
|
|
192
|
+
const writtenConsumer = await consumer.write();
|
|
193
|
+
return {
|
|
194
|
+
created: !consumerInfo?.path,
|
|
195
|
+
consumer: writtenConsumer
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Check if the directory contains a .git folder
|
|
201
|
+
*/
|
|
202
|
+
static async hasGitDirectory(projectPath) {
|
|
203
|
+
try {
|
|
204
|
+
const gitPath = path().join(projectPath, '.git');
|
|
205
|
+
const stat = await _fsExtra().default.stat(gitPath);
|
|
206
|
+
return stat.isDirectory();
|
|
207
|
+
} catch {
|
|
208
|
+
return false;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Check if the directory already has a bit workspace initialized
|
|
214
|
+
*/
|
|
215
|
+
static async hasWorkspaceInitialized(projectPath) {
|
|
216
|
+
try {
|
|
217
|
+
const isExist = await _config().WorkspaceConfig.isExist(projectPath);
|
|
218
|
+
return Boolean(isExist);
|
|
219
|
+
} catch {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Prompt user for environment selection
|
|
226
|
+
*/
|
|
227
|
+
static async promptForEnvironment() {
|
|
228
|
+
const envChoices = [{
|
|
229
|
+
name: 'none',
|
|
230
|
+
message: 'None (default)'
|
|
231
|
+
}, {
|
|
232
|
+
name: 'bitdev.node/node-env',
|
|
233
|
+
message: 'Node.js environment'
|
|
234
|
+
}, {
|
|
235
|
+
name: 'bitdev.react/react-env',
|
|
236
|
+
message: 'React environment'
|
|
237
|
+
}, {
|
|
238
|
+
name: 'bitdev.vue/vue-env',
|
|
239
|
+
message: 'Vue environment'
|
|
240
|
+
}, {
|
|
241
|
+
name: 'bitdev.angular/angular-env',
|
|
242
|
+
message: 'Angular environment'
|
|
243
|
+
}, {
|
|
244
|
+
name: 'bitdev.symphony/envs/symphony-env',
|
|
245
|
+
message: 'Symphony environment'
|
|
246
|
+
}];
|
|
247
|
+
try {
|
|
248
|
+
const response = await (0, _enquirer().prompt)({
|
|
249
|
+
type: 'select',
|
|
250
|
+
name: 'environment',
|
|
251
|
+
message: 'Which environment would you like to use?',
|
|
252
|
+
choices: envChoices,
|
|
253
|
+
initial: 0,
|
|
254
|
+
// Default to 'none'
|
|
255
|
+
cancel: promptCancel
|
|
256
|
+
});
|
|
257
|
+
return response.environment === 'none' ? null : response.environment;
|
|
258
|
+
} catch (err) {
|
|
259
|
+
return handlePromptError(err);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Prompt user for package manager preference
|
|
265
|
+
*/
|
|
266
|
+
static async promptForPackageManager() {
|
|
267
|
+
try {
|
|
268
|
+
const response = await (0, _enquirer().prompt)({
|
|
269
|
+
type: 'confirm',
|
|
270
|
+
name: 'useExternalPackageManager',
|
|
271
|
+
message: 'Would you like to use your own package manager (npm/yarn/pnpm) instead of Bit?',
|
|
272
|
+
initial: false,
|
|
273
|
+
cancel: promptCancel
|
|
274
|
+
});
|
|
275
|
+
return response.useExternalPackageManager;
|
|
276
|
+
} catch (err) {
|
|
277
|
+
return handlePromptError(err);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Prompt user for MCP server configuration
|
|
283
|
+
*/
|
|
284
|
+
static async promptForMcpServer() {
|
|
285
|
+
try {
|
|
286
|
+
const setupMcp = await (0, _enquirer().prompt)({
|
|
287
|
+
type: 'confirm',
|
|
288
|
+
name: 'setupMcp',
|
|
289
|
+
message: 'Would you like to set up the MCP server for AI-powered development?',
|
|
290
|
+
initial: false,
|
|
291
|
+
cancel: promptCancel
|
|
292
|
+
});
|
|
293
|
+
if (!setupMcp.setupMcp) {
|
|
294
|
+
return null;
|
|
295
|
+
}
|
|
296
|
+
const editorChoices = [{
|
|
297
|
+
name: 'vscode',
|
|
298
|
+
message: 'VS Code'
|
|
299
|
+
}, {
|
|
300
|
+
name: 'cursor',
|
|
301
|
+
message: 'Cursor'
|
|
302
|
+
}, {
|
|
303
|
+
name: 'windsurf',
|
|
304
|
+
message: 'Windsurf'
|
|
305
|
+
}, {
|
|
306
|
+
name: 'roo',
|
|
307
|
+
message: 'Roo Code'
|
|
308
|
+
}, {
|
|
309
|
+
name: 'cline',
|
|
310
|
+
message: 'Cline'
|
|
311
|
+
}, {
|
|
312
|
+
name: 'claude-code',
|
|
313
|
+
message: 'Claude Code'
|
|
314
|
+
}];
|
|
315
|
+
const editorResponse = await (0, _enquirer().prompt)({
|
|
316
|
+
type: 'select',
|
|
317
|
+
name: 'editor',
|
|
318
|
+
message: 'Which editor would you like to configure?',
|
|
319
|
+
choices: editorChoices,
|
|
320
|
+
initial: 0,
|
|
321
|
+
// Default to VS Code
|
|
322
|
+
cancel: promptCancel
|
|
323
|
+
});
|
|
324
|
+
return editorResponse.editor;
|
|
325
|
+
} catch (err) {
|
|
326
|
+
return handlePromptError(err);
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
/**
|
|
331
|
+
* Create or update .gitignore file with Bit-specific entries
|
|
332
|
+
*/
|
|
333
|
+
static async updateGitignore(projectPath) {
|
|
334
|
+
const gitignorePath = path().join(projectPath, '.gitignore');
|
|
335
|
+
const bitGitignoreSection = `
|
|
336
|
+
# Bit
|
|
337
|
+
.bit
|
|
338
|
+
public
|
|
339
|
+
# Bit files - generated during bit ws-config write command
|
|
340
|
+
tsconfig.json
|
|
341
|
+
.eslintrc.json
|
|
342
|
+
.prettierrc.cjs
|
|
343
|
+
# allow tsconfig from the env's config dir to be tracked
|
|
344
|
+
!**/config/tsconfig.json
|
|
345
|
+
node_modules
|
|
346
|
+
`;
|
|
347
|
+
try {
|
|
348
|
+
const exists = await _fsExtra().default.pathExists(gitignorePath);
|
|
349
|
+
if (exists) {
|
|
350
|
+
const content = await _fsExtra().default.readFile(gitignorePath, 'utf8');
|
|
351
|
+
if (!content.includes('# Bit')) {
|
|
352
|
+
await _fsExtra().default.appendFile(gitignorePath, bitGitignoreSection);
|
|
353
|
+
}
|
|
354
|
+
} else {
|
|
355
|
+
await _fsExtra().default.writeFile(gitignorePath, bitGitignoreSection.trim());
|
|
356
|
+
}
|
|
357
|
+
} catch {
|
|
358
|
+
// Don't fail the initialization if gitignore update fails
|
|
359
|
+
// Note: Console logging is handled by the caller
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Set up MCP server configuration for the selected editor
|
|
365
|
+
*/
|
|
366
|
+
static async setupMcpServer(editor, projectPath) {
|
|
367
|
+
// Set up MCP server configuration
|
|
368
|
+
const setupOptions = {
|
|
369
|
+
isGlobal: false,
|
|
370
|
+
workspaceDir: projectPath,
|
|
371
|
+
consumerProject: false
|
|
372
|
+
};
|
|
373
|
+
await _mcp().McpConfigWriter.setupEditor(editor, setupOptions);
|
|
374
|
+
|
|
375
|
+
// Write rules file for the editor
|
|
376
|
+
const rulesOptions = {
|
|
377
|
+
isGlobal: false,
|
|
378
|
+
workspaceDir: projectPath,
|
|
379
|
+
consumerProject: false
|
|
380
|
+
};
|
|
381
|
+
await _mcp().McpConfigWriter.writeRulesFile(editor, rulesOptions);
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
/**
|
|
385
|
+
* Run interactive mode for Git repositories
|
|
386
|
+
*/
|
|
387
|
+
static async runInteractiveMode(projectPath) {
|
|
388
|
+
const selectedEnv = await HostInitializerMain.promptForEnvironment();
|
|
389
|
+
const useExternalPackageManager = await HostInitializerMain.promptForPackageManager();
|
|
390
|
+
const mcpEditor = await HostInitializerMain.promptForMcpServer();
|
|
391
|
+
|
|
392
|
+
// Set up MCP server if user selected an editor
|
|
393
|
+
if (mcpEditor) {
|
|
394
|
+
await HostInitializerMain.setupMcpServer(mcpEditor, projectPath);
|
|
395
|
+
}
|
|
396
|
+
await HostInitializerMain.updateGitignore(projectPath);
|
|
397
|
+
return {
|
|
398
|
+
generator: selectedEnv || undefined,
|
|
399
|
+
externalPackageManager: useExternalPackageManager,
|
|
400
|
+
defaultDirectory: 'bit-components/{scope}/{name}',
|
|
401
|
+
mcpEditor: mcpEditor || undefined
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Generate the final initialization message
|
|
407
|
+
*/
|
|
408
|
+
static generateInitMessage(created, reset, resetHard, resetScope, interactiveConfig) {
|
|
409
|
+
let initMessage = `${_chalk().default.green('successfully initialized a bit workspace.')}`;
|
|
410
|
+
if (!created) initMessage = `${_chalk().default.grey('successfully re-initialized a bit workspace.')}`;
|
|
411
|
+
if (reset) initMessage = `${_chalk().default.grey('your bit workspace has been reset successfully.')}`;
|
|
412
|
+
if (resetHard) initMessage = `${_chalk().default.grey('your bit workspace has been hard-reset successfully.')}`;
|
|
413
|
+
if (resetScope) initMessage = `${_chalk().default.grey('your local scope has been reset successfully.')}`;
|
|
414
|
+
|
|
415
|
+
// Add additional information for interactive mode
|
|
416
|
+
if (interactiveConfig) {
|
|
417
|
+
initMessage += `\n\n${_chalk().default.cyan('ā¹ļø Additional Information:')}`;
|
|
418
|
+
const defaultDirectory = interactiveConfig?.defaultDirectory || 'bit-components/{scope}/{name}';
|
|
419
|
+
initMessage += `\nš Components will be created in: ${_chalk().default.cyan(defaultDirectory)}`;
|
|
420
|
+
initMessage += `\nš For CI/CD setup, visit: ${_chalk().default.underline('https://bit.dev/docs/getting-started/collaborate/exporting-components#custom-ci/cd-setup')}`;
|
|
421
|
+
if (interactiveConfig.generator) {
|
|
422
|
+
initMessage += `\nšÆ Environment: ${_chalk().default.cyan(interactiveConfig.generator)}`;
|
|
423
|
+
}
|
|
424
|
+
if (interactiveConfig.mcpEditor) {
|
|
425
|
+
initMessage += `\nš¤ MCP server configured for: ${_chalk().default.cyan(interactiveConfig.mcpEditor)}`;
|
|
426
|
+
}
|
|
427
|
+
if (interactiveConfig.externalPackageManager) {
|
|
428
|
+
initMessage += `\nš¦ External package manager mode enabled`;
|
|
429
|
+
initMessage += `\nš” Run ${_chalk().default.cyan('pnpm install')} (or ${_chalk().default.cyan('yarn install')}/${_chalk().default.cyan('npm install')}) to install dependencies`;
|
|
430
|
+
} else if (interactiveConfig.generator) {
|
|
431
|
+
initMessage += `\nš” Run ${_chalk().default.cyan('bit install')} to install dependencies`;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
return initMessage;
|
|
137
435
|
}
|
|
138
|
-
static async provider([cli]) {
|
|
436
|
+
static async provider([cli, loggerMain]) {
|
|
437
|
+
const logger = loggerMain.createLogger(_hostInitializer().HostInitializerAspect.id);
|
|
139
438
|
const hostInitializerMain = new HostInitializerMain();
|
|
140
|
-
const initCmd = new (_initCmd().InitCmd)(hostInitializerMain);
|
|
439
|
+
const initCmd = new (_initCmd().InitCmd)(hostInitializerMain, logger);
|
|
141
440
|
cli.register(initCmd);
|
|
142
441
|
return hostInitializerMain;
|
|
143
442
|
}
|
|
144
443
|
}
|
|
145
444
|
exports.HostInitializerMain = HostInitializerMain;
|
|
146
445
|
_defineProperty(HostInitializerMain, "slots", []);
|
|
147
|
-
_defineProperty(HostInitializerMain, "dependencies", [_cli().CLIAspect]);
|
|
446
|
+
_defineProperty(HostInitializerMain, "dependencies", [_cli().CLIAspect, _logger().LoggerAspect]);
|
|
148
447
|
_defineProperty(HostInitializerMain, "runtime", _cli().MainRuntime);
|
|
149
448
|
_hostInitializer().HostInitializerAspect.addRuntime(HostInitializerMain);
|
|
150
449
|
var _default = exports.default = HostInitializerMain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","path","_interopRequireWildcard","_scopeModules","_workspaceModules","_legacy","_objects","_toolboxFs","_cli","_objectsWithoutConsumer","_hostInitializer","_initCmd","_createConsumer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","HostInitializerMain","init","absPath","noGit","noPackageJson","reset","resetNew","resetLaneNew","resetHard","resetScope","force","workspaceConfigProps","generator","consumerInfo","getWorkspaceInfo","process","cwd","Error","consumerPath","name","basename","resetConsumer","consumer","createConsumer","scopePath","findScopePath","Scope","throwForOutOfSyncScope","write","provider","cli","hostInitializerMain","initCmd","InitCmd","register","exports","CLIAspect","MainRuntime","HostInitializerAspect","addRuntime","_default","bitMap","isEmpty","scope","getPath","objectsPath","Repository","getPathByScopePath","dirExist","fs","pathExists","hasObjects","isDirEmpty","ObjectsWithoutConsumer"],"sources":["host-initializer.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport * as path from 'path';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { getWorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport { Scope } from '@teambit/legacy.scope';\nimport { Repository } from '@teambit/objects';\nimport { isDirEmpty } from '@teambit/toolbox.fs.is-dir-empty';\nimport { WorkspaceExtensionProps } from '@teambit/config';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ObjectsWithoutConsumer } from './objects-without-consumer';\nimport { HostInitializerAspect } from './host-initializer.aspect';\nimport { InitCmd } from './init-cmd';\nimport { createConsumer, resetConsumer } from './create-consumer';\n\nexport class HostInitializerMain {\n static async init(\n absPath?: string,\n noGit = false,\n noPackageJson = false,\n reset = false,\n resetNew = false,\n resetLaneNew = false,\n resetHard = false,\n resetScope = false,\n force = false,\n workspaceConfigProps: WorkspaceExtensionProps = {},\n generator?: string\n ): Promise<Consumer> {\n const consumerInfo = await getWorkspaceInfo(absPath || process.cwd());\n // if \"bit init\" was running without any flags, the user is probably trying to init a new workspace but wasn't aware\n // that he's already in a workspace.\n if (\n !absPath &&\n consumerInfo?.path &&\n consumerInfo.path !== process.cwd() &&\n !reset &&\n !resetHard &&\n !resetScope &&\n !resetNew &&\n !resetLaneNew\n ) {\n throw new Error(\n `error: unable to init a new workspace in an inner directory of an existing workspace at \"${consumerInfo.path}\"`\n );\n }\n const consumerPath = consumerInfo?.path || absPath || process.cwd();\n\n workspaceConfigProps = {\n ...workspaceConfigProps,\n name: workspaceConfigProps.name || path.basename(consumerPath),\n };\n\n if (reset || resetHard) {\n await resetConsumer(consumerPath, resetHard, noGit);\n }\n let consumer: Consumer | undefined;\n try {\n consumer = await createConsumer(consumerPath, noGit, noPackageJson, workspaceConfigProps, generator);\n } catch {\n // it's possible that at this stage the consumer fails to load due to scope issues.\n // still we want to load it to include its instance of \"scope.json\", so then later when \"consumer.write()\", we\n // don't lose some scope metadata\n }\n if (resetScope) {\n const scopePath = findScopePath(consumerPath);\n if (!scopePath) throw new Error(`fatal: scope not found in the path: ${consumerPath}`);\n await Scope.reset(scopePath, true);\n }\n if (!consumer) consumer = await createConsumer(consumerPath, noGit, noPackageJson, workspaceConfigProps);\n if (!force && !resetScope) {\n await throwForOutOfSyncScope(consumer);\n }\n if (resetNew) {\n await consumer.resetNew();\n }\n if (resetLaneNew) {\n await consumer.resetLaneNew();\n }\n return consumer.write();\n }\n\n static slots = [];\n static dependencies = [CLIAspect];\n static runtime = MainRuntime;\n static async provider([cli]: [CLIMain]) {\n const hostInitializerMain = new HostInitializerMain();\n const initCmd = new InitCmd(hostInitializerMain);\n cli.register(initCmd);\n return hostInitializerMain;\n }\n}\n\nHostInitializerAspect.addRuntime(HostInitializerMain);\n\nexport default HostInitializerMain;\n\n/**\n * throw an error when .bitmap is empty but a scope has objects.\n * a user may got into this state for reasons such as:\n * 1. deleting manually .bitmap hoping to re-start Bit from scratch. (probably unaware of `--reset-hard` flag).\n * 2. switching to a branch where Bit wasn't initialized\n * in which case, it's better to stop and show an error describing what needs to be done.\n * it can always be ignored by entering `--force` flag.\n */\nasync function throwForOutOfSyncScope(consumer: Consumer): Promise<void> {\n if (!consumer.bitMap.isEmpty()) return;\n const scopePath = consumer.scope.getPath();\n const objectsPath = Repository.getPathByScopePath(scopePath);\n const dirExist = await fs.pathExists(objectsPath);\n if (!dirExist) return;\n const hasObjects = !(await isDirEmpty(objectsPath));\n if (hasObjects) {\n throw new ObjectsWithoutConsumer(scopePath);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","path","_interopRequireWildcard","_chalk","_enquirer","_scopeModules","_workspaceModules","_legacy","_objects","_toolboxFs","_config","_mcp","_cli","_objectsWithoutConsumer","_hostInitializer","_initCmd","_createConsumer","_logger","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","value","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","promptCancel","handlePromptError","err","Error","HostInitializerMain","init","absPath","noGit","noPackageJson","reset","resetNew","resetLaneNew","resetHard","resetScope","force","workspaceConfigProps","generator","consumerInfo","getWorkspaceInfo","process","cwd","consumerPath","name","basename","resetConsumer","consumer","createConsumer","scopePath","findScopePath","Scope","throwForOutOfSyncScope","writtenConsumer","write","created","hasGitDirectory","projectPath","gitPath","join","stat","fs","isDirectory","hasWorkspaceInitialized","isExist","WorkspaceConfig","Boolean","promptForEnvironment","envChoices","message","response","prompt","type","choices","initial","cancel","environment","promptForPackageManager","useExternalPackageManager","promptForMcpServer","setupMcp","editorChoices","editorResponse","editor","updateGitignore","gitignorePath","bitGitignoreSection","exists","pathExists","content","readFile","includes","appendFile","writeFile","trim","setupMcpServer","setupOptions","isGlobal","workspaceDir","consumerProject","McpConfigWriter","setupEditor","rulesOptions","writeRulesFile","runInteractiveMode","selectedEnv","mcpEditor","undefined","externalPackageManager","defaultDirectory","generateInitMessage","interactiveConfig","initMessage","chalk","green","grey","cyan","underline","provider","cli","loggerMain","logger","createLogger","HostInitializerAspect","id","hostInitializerMain","initCmd","InitCmd","register","exports","CLIAspect","LoggerAspect","MainRuntime","addRuntime","_default","bitMap","isEmpty","scope","getPath","objectsPath","Repository","getPathByScopePath","dirExist","hasObjects","isDirEmpty","ObjectsWithoutConsumer"],"sources":["host-initializer.main.runtime.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport * as path from 'path';\nimport chalk from 'chalk';\nimport { prompt } from 'enquirer';\nimport { findScopePath } from '@teambit/scope.modules.find-scope-path';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { getWorkspaceInfo } from '@teambit/workspace.modules.workspace-locator';\nimport { Scope } from '@teambit/legacy.scope';\nimport { Repository } from '@teambit/objects';\nimport { isDirEmpty } from '@teambit/toolbox.fs.is-dir-empty';\nimport { WorkspaceExtensionProps, WorkspaceConfig } from '@teambit/config';\nimport { McpConfigWriter, SetupOptions, RulesOptions } from '@teambit/mcp.mcp-config-writer';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { ObjectsWithoutConsumer } from './objects-without-consumer';\nimport { HostInitializerAspect } from './host-initializer.aspect';\nimport { InitCmd } from './init-cmd';\nimport { createConsumer, resetConsumer } from './create-consumer';\nimport { LoggerAspect, LoggerMain } from '@teambit/logger';\n\nexport interface InteractiveConfig {\n generator?: string;\n externalPackageManager: boolean;\n defaultDirectory: string;\n mcpEditor?: string;\n}\n\n/**\n * Reusable cancel function for prompts\n * By default, canceling the prompt via Ctrl+c throws an empty string.\n * The custom cancel function prevents that behavior.\n * Otherwise, Bit CLI would print an error and confuse users.\n * See related issue: https://github.com/enquirer/enquirer/issues/225\n */\nconst promptCancel = () => {\n // Empty function to prevent default behavior\n};\n\n/**\n * Handle prompt errors consistently\n */\nconst handlePromptError = (err: any): never => {\n if (!err || err === '') {\n // for some reason, when the user clicks Ctrl+C, the error is an empty string\n throw new Error('The prompt has been canceled');\n }\n throw err;\n};\n\nexport class HostInitializerMain {\n static async init(\n absPath?: string,\n noGit = false,\n noPackageJson = false,\n reset = false,\n resetNew = false,\n resetLaneNew = false,\n resetHard = false,\n resetScope = false,\n force = false,\n workspaceConfigProps: WorkspaceExtensionProps = {},\n generator?: string\n ): Promise<{ created: boolean; consumer: Consumer }> {\n const consumerInfo = await getWorkspaceInfo(absPath || process.cwd());\n // if \"bit init\" was running without any flags, the user is probably trying to init a new workspace but wasn't aware\n // that he's already in a workspace.\n if (\n !absPath &&\n consumerInfo?.path &&\n consumerInfo.path !== process.cwd() &&\n !reset &&\n !resetHard &&\n !resetScope &&\n !resetNew &&\n !resetLaneNew\n ) {\n throw new Error(\n `error: unable to init a new workspace in an inner directory of an existing workspace at \"${consumerInfo.path}\"`\n );\n }\n const consumerPath = consumerInfo?.path || absPath || process.cwd();\n\n workspaceConfigProps = {\n ...workspaceConfigProps,\n name: workspaceConfigProps.name || path.basename(consumerPath),\n };\n\n if (reset || resetHard) {\n await resetConsumer(consumerPath, resetHard, noGit);\n }\n let consumer: Consumer | undefined;\n try {\n consumer = await createConsumer(consumerPath, noGit, noPackageJson, workspaceConfigProps, generator);\n } catch {\n // it's possible that at this stage the consumer fails to load due to scope issues.\n // still we want to load it to include its instance of \"scope.json\", so then later when \"consumer.write()\", we\n // don't lose some scope metadata\n }\n if (resetScope) {\n const scopePath = findScopePath(consumerPath);\n if (!scopePath) throw new Error(`fatal: scope not found in the path: ${consumerPath}`);\n await Scope.reset(scopePath, true);\n }\n if (!consumer) consumer = await createConsumer(consumerPath, noGit, noPackageJson, workspaceConfigProps);\n if (!force && !resetScope) {\n await throwForOutOfSyncScope(consumer);\n }\n if (resetNew) {\n await consumer.resetNew();\n }\n if (resetLaneNew) {\n await consumer.resetLaneNew();\n }\n const writtenConsumer = await consumer.write();\n return { created: !consumerInfo?.path, consumer: writtenConsumer };\n }\n\n /**\n * Check if the directory contains a .git folder\n */\n static async hasGitDirectory(projectPath: string): Promise<boolean> {\n try {\n const gitPath = path.join(projectPath, '.git');\n const stat = await fs.stat(gitPath);\n return stat.isDirectory();\n } catch {\n return false;\n }\n }\n\n /**\n * Check if the directory already has a bit workspace initialized\n */\n static async hasWorkspaceInitialized(projectPath: string): Promise<boolean> {\n try {\n const isExist = await WorkspaceConfig.isExist(projectPath);\n return Boolean(isExist);\n } catch {\n return false;\n }\n }\n\n /**\n * Prompt user for environment selection\n */\n static async promptForEnvironment(): Promise<string | null> {\n const envChoices = [\n { name: 'none', message: 'None (default)' },\n { name: 'bitdev.node/node-env', message: 'Node.js environment' },\n { name: 'bitdev.react/react-env', message: 'React environment' },\n { name: 'bitdev.vue/vue-env', message: 'Vue environment' },\n { name: 'bitdev.angular/angular-env', message: 'Angular environment' },\n { name: 'bitdev.symphony/envs/symphony-env', message: 'Symphony environment' },\n ];\n\n try {\n const response = (await prompt({\n type: 'select',\n name: 'environment',\n message: 'Which environment would you like to use?',\n choices: envChoices,\n initial: 0, // Default to 'none'\n cancel: promptCancel,\n } as any)) as { environment: string };\n\n return response.environment === 'none' ? null : response.environment;\n } catch (err: any) {\n return handlePromptError(err);\n }\n }\n\n /**\n * Prompt user for package manager preference\n */\n static async promptForPackageManager(): Promise<boolean> {\n try {\n const response = (await prompt({\n type: 'confirm',\n name: 'useExternalPackageManager',\n message: 'Would you like to use your own package manager (npm/yarn/pnpm) instead of Bit?',\n initial: false,\n cancel: promptCancel,\n } as any)) as { useExternalPackageManager: boolean };\n\n return response.useExternalPackageManager;\n } catch (err: any) {\n return handlePromptError(err);\n }\n }\n\n /**\n * Prompt user for MCP server configuration\n */\n static async promptForMcpServer(): Promise<string | null> {\n try {\n const setupMcp = (await prompt({\n type: 'confirm',\n name: 'setupMcp',\n message: 'Would you like to set up the MCP server for AI-powered development?',\n initial: false,\n cancel: promptCancel,\n } as any)) as { setupMcp: boolean };\n\n if (!setupMcp.setupMcp) {\n return null;\n }\n\n const editorChoices = [\n { name: 'vscode', message: 'VS Code' },\n { name: 'cursor', message: 'Cursor' },\n { name: 'windsurf', message: 'Windsurf' },\n { name: 'roo', message: 'Roo Code' },\n { name: 'cline', message: 'Cline' },\n { name: 'claude-code', message: 'Claude Code' },\n ];\n\n const editorResponse = (await prompt({\n type: 'select',\n name: 'editor',\n message: 'Which editor would you like to configure?',\n choices: editorChoices,\n initial: 0, // Default to VS Code\n cancel: promptCancel,\n } as any)) as { editor: string };\n\n return editorResponse.editor;\n } catch (err: any) {\n return handlePromptError(err);\n }\n }\n\n /**\n * Create or update .gitignore file with Bit-specific entries\n */\n static async updateGitignore(projectPath: string): Promise<void> {\n const gitignorePath = path.join(projectPath, '.gitignore');\n const bitGitignoreSection = `\n# Bit\n.bit\npublic\n# Bit files - generated during bit ws-config write command\ntsconfig.json\n.eslintrc.json\n.prettierrc.cjs\n# allow tsconfig from the env's config dir to be tracked\n!**/config/tsconfig.json\nnode_modules\n`;\n try {\n const exists = await fs.pathExists(gitignorePath);\n if (exists) {\n const content = await fs.readFile(gitignorePath, 'utf8');\n if (!content.includes('# Bit')) {\n await fs.appendFile(gitignorePath, bitGitignoreSection);\n }\n } else {\n await fs.writeFile(gitignorePath, bitGitignoreSection.trim());\n }\n } catch {\n // Don't fail the initialization if gitignore update fails\n // Note: Console logging is handled by the caller\n }\n }\n\n /**\n * Set up MCP server configuration for the selected editor\n */\n static async setupMcpServer(editor: string, projectPath: string): Promise<void> {\n // Set up MCP server configuration\n const setupOptions: SetupOptions = {\n isGlobal: false,\n workspaceDir: projectPath,\n consumerProject: false,\n };\n\n await McpConfigWriter.setupEditor(editor, setupOptions);\n\n // Write rules file for the editor\n const rulesOptions: RulesOptions = {\n isGlobal: false,\n workspaceDir: projectPath,\n consumerProject: false,\n };\n\n await McpConfigWriter.writeRulesFile(editor, rulesOptions);\n }\n\n /**\n * Run interactive mode for Git repositories\n */\n static async runInteractiveMode(projectPath: string): Promise<InteractiveConfig> {\n const selectedEnv = await HostInitializerMain.promptForEnvironment();\n const useExternalPackageManager = await HostInitializerMain.promptForPackageManager();\n const mcpEditor = await HostInitializerMain.promptForMcpServer();\n\n // Set up MCP server if user selected an editor\n if (mcpEditor) {\n await HostInitializerMain.setupMcpServer(mcpEditor, projectPath);\n }\n\n await HostInitializerMain.updateGitignore(projectPath);\n\n return {\n generator: selectedEnv || undefined,\n externalPackageManager: useExternalPackageManager,\n defaultDirectory: 'bit-components/{scope}/{name}',\n mcpEditor: mcpEditor || undefined,\n };\n }\n\n /**\n * Generate the final initialization message\n */\n static generateInitMessage(\n created: boolean,\n reset: boolean,\n resetHard: boolean,\n resetScope: boolean,\n interactiveConfig: InteractiveConfig | null\n ): string {\n let initMessage = `${chalk.green('successfully initialized a bit workspace.')}`;\n\n if (!created) initMessage = `${chalk.grey('successfully re-initialized a bit workspace.')}`;\n if (reset) initMessage = `${chalk.grey('your bit workspace has been reset successfully.')}`;\n if (resetHard) initMessage = `${chalk.grey('your bit workspace has been hard-reset successfully.')}`;\n if (resetScope) initMessage = `${chalk.grey('your local scope has been reset successfully.')}`;\n\n // Add additional information for interactive mode\n if (interactiveConfig) {\n initMessage += `\\n\\n${chalk.cyan('ā¹ļø Additional Information:')}`;\n const defaultDirectory = interactiveConfig?.defaultDirectory || 'bit-components/{scope}/{name}';\n initMessage += `\\nš Components will be created in: ${chalk.cyan(defaultDirectory)}`;\n initMessage += `\\nš For CI/CD setup, visit: ${chalk.underline('https://bit.dev/docs/getting-started/collaborate/exporting-components#custom-ci/cd-setup')}`;\n\n if (interactiveConfig.generator) {\n initMessage += `\\nšÆ Environment: ${chalk.cyan(interactiveConfig.generator)}`;\n }\n\n if (interactiveConfig.mcpEditor) {\n initMessage += `\\nš¤ MCP server configured for: ${chalk.cyan(interactiveConfig.mcpEditor)}`;\n }\n\n if (interactiveConfig.externalPackageManager) {\n initMessage += `\\nš¦ External package manager mode enabled`;\n initMessage += `\\nš” Run ${chalk.cyan('pnpm install')} (or ${chalk.cyan('yarn install')}/${chalk.cyan('npm install')}) to install dependencies`;\n } else if (interactiveConfig.generator) {\n initMessage += `\\nš” Run ${chalk.cyan('bit install')} to install dependencies`;\n }\n }\n\n return initMessage;\n }\n\n static slots = [];\n static dependencies = [CLIAspect, LoggerAspect];\n static runtime = MainRuntime;\n static async provider([cli, loggerMain]: [CLIMain, LoggerMain]) {\n const logger = loggerMain.createLogger(HostInitializerAspect.id);\n const hostInitializerMain = new HostInitializerMain();\n const initCmd = new InitCmd(hostInitializerMain, logger);\n cli.register(initCmd);\n return hostInitializerMain;\n }\n}\n\nHostInitializerAspect.addRuntime(HostInitializerMain);\n\nexport default HostInitializerMain;\n\n/**\n * throw an error when .bitmap is empty but a scope has objects.\n * a user may got into this state for reasons such as:\n * 1. deleting manually .bitmap hoping to re-start Bit from scratch. (probably unaware of `--reset-hard` flag).\n * 2. switching to a branch where Bit wasn't initialized\n * in which case, it's better to stop and show an error describing what needs to be done.\n * it can always be ignored by entering `--force` flag.\n */\nasync function throwForOutOfSyncScope(consumer: Consumer): Promise<void> {\n if (!consumer.bitMap.isEmpty()) return;\n const scopePath = consumer.scope.getPath();\n const objectsPath = Repository.getPathByScopePath(scopePath);\n const dirExist = await fs.pathExists(objectsPath);\n if (!dirExist) return;\n const hasObjects = !(await isDirEmpty(objectsPath));\n if (hasObjects) {\n throw new ObjectsWithoutConsumer(scopePath);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/init-cmd.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Command, CommandOptions } from '@teambit/cli';
|
|
2
2
|
import { HostInitializerMain } from './host-initializer.main.runtime';
|
|
3
|
+
import { Logger } from '@teambit/logger';
|
|
3
4
|
export declare class InitCmd implements Command {
|
|
4
5
|
private hostInitializer;
|
|
6
|
+
private logger;
|
|
5
7
|
name: string;
|
|
6
8
|
skipWorkspace: boolean;
|
|
7
9
|
description: string;
|
|
@@ -11,6 +13,7 @@ export declare class InitCmd implements Command {
|
|
|
11
13
|
alias: string;
|
|
12
14
|
loadAspects: boolean;
|
|
13
15
|
options: CommandOptions;
|
|
14
|
-
constructor(hostInitializer: HostInitializerMain);
|
|
16
|
+
constructor(hostInitializer: HostInitializerMain, logger: Logger);
|
|
17
|
+
private handleInteractiveMode;
|
|
15
18
|
report([path]: [string], flags: Record<string, any>): Promise<string>;
|
|
16
19
|
}
|
package/dist/init-cmd.js
CHANGED
|
@@ -59,8 +59,9 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
|
|
|
59
59
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
60
60
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
61
61
|
class InitCmd {
|
|
62
|
-
constructor(hostInitializer) {
|
|
62
|
+
constructor(hostInitializer, logger) {
|
|
63
63
|
this.hostInitializer = hostInitializer;
|
|
64
|
+
this.logger = logger;
|
|
64
65
|
_defineProperty(this, "name", 'init [path]');
|
|
65
66
|
_defineProperty(this, "skipWorkspace", true);
|
|
66
67
|
_defineProperty(this, "description", 'create or reinitialize an empty workspace');
|
|
@@ -69,7 +70,40 @@ class InitCmd {
|
|
|
69
70
|
_defineProperty(this, "extendedDescription", 'if the current directory is already a workspace, it validates that bit files are correct and rewrite them if needed.');
|
|
70
71
|
_defineProperty(this, "alias", '');
|
|
71
72
|
_defineProperty(this, "loadAspects", false);
|
|
72
|
-
_defineProperty(this, "options", [['n', 'name <workspace-name>', 'name of the workspace'], ['', 'generator <env-id>', 'for multiple, separate by a comma. add env-ids into the generators field in the workspace config for future "bit create" templates'], ['T', 'standalone', 'do not nest component store within .git directory and do not write config data inside package.json'], ['', 'no-package-json', 'do not generate package.json'], ['r', 'reset', 'write missing or damaged Bit files'], ['', 'reset-new', 'reset .bitmap file as if the components were newly added and remove all model data (objects)'], ['', 'reset-lane-new', 'same as reset-new, but it only resets components belong to lanes. main components are left intact'], ['', 'reset-hard', 'delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch'], ['', 'reset-scope', 'removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact'], ['d', 'default-directory <default-directory>', 'set the default directory pattern to import/create components into'], ['', 'default-scope <default-scope>', 'set the default scope for components in the workspace'], ['f', 'force', 'force workspace initialization without clearing local objects'], ['b', 'bare [name]', 'initialize an empty bit bare scope'], ['s', 'shared <groupname>', 'add group write permissions to a scope properly'], ['', 'external-package-manager', 'enable external package manager mode (npm/yarn/pnpm)']]);
|
|
73
|
+
_defineProperty(this, "options", [['n', 'name <workspace-name>', 'name of the workspace'], ['', 'generator <env-id>', 'for multiple, separate by a comma. add env-ids into the generators field in the workspace config for future "bit create" templates'], ['T', 'standalone', 'do not nest component store within .git directory and do not write config data inside package.json'], ['', 'no-package-json', 'do not generate package.json'], ['r', 'reset', 'write missing or damaged Bit files'], ['', 'reset-new', 'reset .bitmap file as if the components were newly added and remove all model data (objects)'], ['', 'reset-lane-new', 'same as reset-new, but it only resets components belong to lanes. main components are left intact'], ['', 'reset-hard', 'delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch'], ['', 'reset-scope', 'removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact'], ['d', 'default-directory <default-directory>', 'set the default directory pattern to import/create components into'], ['', 'default-scope <default-scope>', 'set the default scope for components in the workspace'], ['f', 'force', 'force workspace initialization without clearing local objects'], ['b', 'bare [name]', 'initialize an empty bit bare scope'], ['s', 'shared <groupname>', 'add group write permissions to a scope properly'], ['', 'external-package-manager', 'enable external package manager mode (npm/yarn/pnpm)'], ['', 'skip-interactive', 'skip interactive mode for Git repositories']]);
|
|
74
|
+
}
|
|
75
|
+
async handleInteractiveMode(projectPath, flags) {
|
|
76
|
+
const {
|
|
77
|
+
reset,
|
|
78
|
+
resetNew,
|
|
79
|
+
resetLaneNew,
|
|
80
|
+
resetHard,
|
|
81
|
+
resetScope,
|
|
82
|
+
standalone,
|
|
83
|
+
skipInteractive,
|
|
84
|
+
externalPackageManager
|
|
85
|
+
} = flags;
|
|
86
|
+
|
|
87
|
+
// Check if we should run interactive mode
|
|
88
|
+
if (reset || resetNew || resetLaneNew || resetHard || resetScope || standalone || skipInteractive || externalPackageManager || !(await _hostInitializerMain().HostInitializerMain.hasGitDirectory(projectPath)) || (await _hostInitializerMain().HostInitializerMain.hasWorkspaceInitialized(projectPath))) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
this.logger.off();
|
|
92
|
+
this.logger.console(_chalk().default.cyan('š§ Interactive setup for existing Git repository\n'));
|
|
93
|
+
try {
|
|
94
|
+
const interactiveConfig = await _hostInitializerMain().HostInitializerMain.runInteractiveMode(projectPath);
|
|
95
|
+
|
|
96
|
+
// Set up MCP server if user selected an editor
|
|
97
|
+
if (interactiveConfig.mcpEditor) {
|
|
98
|
+
this.logger.console(_chalk().default.cyan(`\nš§ Setting up MCP server for ${interactiveConfig.mcpEditor}...`));
|
|
99
|
+
await _hostInitializerMain().HostInitializerMain.setupMcpServer(interactiveConfig.mcpEditor, projectPath);
|
|
100
|
+
this.logger.console(_chalk().default.green(`ā
MCP server configured for ${interactiveConfig.mcpEditor}`));
|
|
101
|
+
}
|
|
102
|
+
return interactiveConfig;
|
|
103
|
+
} catch (error) {
|
|
104
|
+
this.logger.consoleWarning(`Warning: Interactive setup failed: ${error.message}`);
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
73
107
|
}
|
|
74
108
|
async report([path], flags) {
|
|
75
109
|
const {
|
|
@@ -100,21 +134,18 @@ class InitCmd {
|
|
|
100
134
|
if (reset && resetHard) {
|
|
101
135
|
throw new (_bitError().BitError)('cannot use both --reset and --reset-hard, please use only one of them');
|
|
102
136
|
}
|
|
137
|
+
const projectPath = path || process.cwd();
|
|
138
|
+
const interactiveConfig = await this.handleInteractiveMode(projectPath, flags);
|
|
103
139
|
const workspaceExtensionProps = {
|
|
104
|
-
defaultDirectory: defaultDirectory
|
|
105
|
-
defaultScope: defaultScope
|
|
140
|
+
defaultDirectory: interactiveConfig?.defaultDirectory || (externalPackageManager ? 'bit-components/{scope}/{name}' : defaultDirectory) || (0, _configStore().getConfig)(_legacy2().CFG_INIT_DEFAULT_DIRECTORY),
|
|
141
|
+
defaultScope: defaultScope || (0, _configStore().getConfig)(_legacy2().CFG_INIT_DEFAULT_SCOPE),
|
|
106
142
|
name,
|
|
107
|
-
externalPackageManager
|
|
143
|
+
externalPackageManager: interactiveConfig?.externalPackageManager || externalPackageManager
|
|
108
144
|
};
|
|
109
145
|
const {
|
|
110
146
|
created
|
|
111
|
-
} = await _hostInitializerMain().HostInitializerMain.init(path, standalone, noPackageJson, reset, resetNew, resetLaneNew, resetHard, resetScope, force, workspaceExtensionProps, generator);
|
|
112
|
-
|
|
113
|
-
if (!created) initMessage = `${_chalk().default.grey('successfully re-initialized a bit workspace.')}`;
|
|
114
|
-
if (reset) initMessage = `${_chalk().default.grey('your bit workspace has been reset successfully.')}`;
|
|
115
|
-
if (resetHard) initMessage = `${_chalk().default.grey('your bit workspace has been hard-reset successfully.')}`;
|
|
116
|
-
if (resetScope) initMessage = `${_chalk().default.grey('your local scope has been reset successfully.')}`;
|
|
117
|
-
return initMessage;
|
|
147
|
+
} = await _hostInitializerMain().HostInitializerMain.init(path, standalone, noPackageJson, reset, resetNew, resetLaneNew, resetHard, resetScope, force, workspaceExtensionProps, interactiveConfig?.generator || generator);
|
|
148
|
+
return _hostInitializerMain().HostInitializerMain.generateInitMessage(created, reset, resetHard, resetScope, interactiveConfig);
|
|
118
149
|
}
|
|
119
150
|
}
|
|
120
151
|
exports.InitCmd = InitCmd;
|
package/dist/init-cmd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","pathlib","_interopRequireWildcard","_bitError","_configStore","_legacy","_legacy2","_hostInitializerMain","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","InitCmd","constructor","hostInitializer","report","path","flags","name","generator","bare","shared","standalone","noPackageJson","reset","resetNew","resetLaneNew","resetHard","resetScope","force","defaultDirectory","defaultScope","externalPackageManager","resolve","BitError","bareVal","initScope","chalk","green","workspaceExtensionProps","getConfig","CFG_INIT_DEFAULT_DIRECTORY","CFG_INIT_DEFAULT_SCOPE","created","HostInitializerMain","init","initMessage","grey","exports"],"sources":["init-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport * as pathlib from 'path';\nimport { BitError } from '@teambit/bit-error';\nimport { getConfig } from '@teambit/config-store';\nimport { initScope } from '@teambit/legacy.scope-api';\nimport { CFG_INIT_DEFAULT_SCOPE, CFG_INIT_DEFAULT_DIRECTORY } from '@teambit/legacy.constants';\nimport { WorkspaceExtensionProps } from '@teambit/config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { HostInitializerMain } from './host-initializer.main.runtime';\n\nexport class InitCmd implements Command {\n name = 'init [path]';\n skipWorkspace = true;\n description = 'create or reinitialize an empty workspace';\n helpUrl = 'reference/workspace/creating-workspaces/?new_existing_project=1';\n group = 'workspace-setup';\n extendedDescription =\n 'if the current directory is already a workspace, it validates that bit files are correct and rewrite them if needed.';\n alias = '';\n loadAspects = false;\n options = [\n ['n', 'name <workspace-name>', 'name of the workspace'],\n [\n '',\n 'generator <env-id>',\n 'for multiple, separate by a comma. add env-ids into the generators field in the workspace config for future \"bit create\" templates',\n ],\n [\n 'T',\n 'standalone',\n 'do not nest component store within .git directory and do not write config data inside package.json',\n ],\n ['', 'no-package-json', 'do not generate package.json'],\n ['r', 'reset', 'write missing or damaged Bit files'],\n ['', 'reset-new', 'reset .bitmap file as if the components were newly added and remove all model data (objects)'],\n [\n '',\n 'reset-lane-new',\n 'same as reset-new, but it only resets components belong to lanes. main components are left intact',\n ],\n [\n '',\n 'reset-hard',\n 'delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch',\n ],\n [\n '',\n 'reset-scope',\n 'removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact',\n ],\n [\n 'd',\n 'default-directory <default-directory>',\n 'set the default directory pattern to import/create components into',\n ],\n ['', 'default-scope <default-scope>', 'set the default scope for components in the workspace'],\n ['f', 'force', 'force workspace initialization without clearing local objects'],\n ['b', 'bare [name]', 'initialize an empty bit bare scope'],\n ['s', 'shared <groupname>', 'add group write permissions to a scope properly'],\n ['', 'external-package-manager', 'enable external package manager mode (npm/yarn/pnpm)'],\n ] as CommandOptions;\n\n constructor(private hostInitializer: HostInitializerMain) {}\n\n async report([path]: [string], flags: Record<string, any>) {\n const {\n name,\n generator,\n bare,\n shared,\n standalone,\n noPackageJson,\n reset,\n resetNew,\n resetLaneNew,\n resetHard,\n resetScope,\n force,\n defaultDirectory,\n defaultScope,\n externalPackageManager,\n } = flags;\n if (path) path = pathlib.resolve(path);\n if (bare) {\n if (reset || resetHard) throw new BitError('--reset and --reset-hard flags are not available for bare scope');\n // Handle both cases init --bare and init --bare [scopeName]\n const bareVal = bare === true ? '' : bare;\n await initScope(path, bareVal, shared);\n return `${chalk.green('successfully initialized an empty bare bit scope.')}`;\n }\n if (reset && resetHard) {\n throw new BitError('cannot use both --reset and --reset-hard, please use only one of them');\n }\n\n const workspaceExtensionProps: WorkspaceExtensionProps & { externalPackageManager?: boolean } = {\n defaultDirectory: defaultDirectory ?? getConfig(CFG_INIT_DEFAULT_DIRECTORY),\n defaultScope: defaultScope ?? getConfig(CFG_INIT_DEFAULT_SCOPE),\n name,\n externalPackageManager,\n };\n\n const { created } = await HostInitializerMain.init(\n path,\n standalone,\n noPackageJson,\n reset,\n resetNew,\n resetLaneNew,\n resetHard,\n resetScope,\n force,\n workspaceExtensionProps,\n generator\n );\n\n let initMessage = `${chalk.green('successfully initialized a bit workspace.')}`;\n\n if (!created) initMessage = `${chalk.grey('successfully re-initialized a bit workspace.')}`;\n if (reset) initMessage = `${chalk.grey('your bit workspace has been reset successfully.')}`;\n if (resetHard) initMessage = `${chalk.grey('your bit workspace has been hard-reset successfully.')}`;\n if (resetScope) initMessage = `${chalk.grey('your local scope has been reset successfully.')}`;\n\n return initMessage;\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAI,uBAAA,CAAAF,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,UAAA;EAAA,MAAAL,IAAA,GAAAE,OAAA;EAAAG,SAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,aAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,YAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,SAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAS,qBAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,oBAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsE,SAAAI,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAV,uBAAAS,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAK,UAAA,GAAAL,CAAA,KAAAU,OAAA,EAAAV,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAG,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAiB,cAAA,CAAAjB,CAAA,MAAAH,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAG,CAAA,IAAAkB,KAAA,EAAApB,CAAA,EAAAqB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAxB,CAAA,CAAAG,CAAA,IAAAF,CAAA,EAAAD,CAAA;AAAA,SAAAoB,eAAAnB,CAAA,QAAAM,CAAA,GAAAkB,YAAA,CAAAxB,CAAA,uCAAAM,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAkB,aAAAxB,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAyB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAO,CAAA,GAAAP,CAAA,CAAAe,IAAA,CAAAd,CAAA,EAAAE,CAAA,uCAAAI,CAAA,SAAAA,CAAA,YAAAqB,SAAA,yEAAAzB,CAAA,GAAA0B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAE/D,MAAM8B,OAAO,CAAoB;EAoDtCC,WAAWA,CAASC,eAAoC,EAAE;IAAA,KAAtCA,eAAoC,GAApCA,eAAoC;IAAAd,eAAA,eAnDjD,aAAa;IAAAA,eAAA,wBACJ,IAAI;IAAAA,eAAA,sBACN,2CAA2C;IAAAA,eAAA,kBAC/C,iEAAiE;IAAAA,eAAA,gBACnE,iBAAiB;IAAAA,eAAA,8BAEvB,sHAAsH;IAAAA,eAAA,gBAChH,EAAE;IAAAA,eAAA,sBACI,KAAK;IAAAA,eAAA,kBACT,CACR,CAAC,GAAG,EAAE,uBAAuB,EAAE,uBAAuB,CAAC,EACvD,CACE,EAAE,EACF,oBAAoB,EACpB,oIAAoI,CACrI,EACD,CACE,GAAG,EACH,YAAY,EACZ,oGAAoG,CACrG,EACD,CAAC,EAAE,EAAE,iBAAiB,EAAE,8BAA8B,CAAC,EACvD,CAAC,GAAG,EAAE,OAAO,EAAE,oCAAoC,CAAC,EACpD,CAAC,EAAE,EAAE,WAAW,EAAE,8FAA8F,CAAC,EACjH,CACE,EAAE,EACF,gBAAgB,EAChB,mGAAmG,CACpG,EACD,CACE,EAAE,EACF,YAAY,EACZ,2IAA2I,CAC5I,EACD,CACE,EAAE,EACF,aAAa,EACb,uHAAuH,CACxH,EACD,CACE,GAAG,EACH,uCAAuC,EACvC,oEAAoE,CACrE,EACD,CAAC,EAAE,EAAE,+BAA+B,EAAE,uDAAuD,CAAC,EAC9F,CAAC,GAAG,EAAE,OAAO,EAAE,+DAA+D,CAAC,EAC/E,CAAC,GAAG,EAAE,aAAa,EAAE,oCAAoC,CAAC,EAC1D,CAAC,GAAG,EAAE,oBAAoB,EAAE,iDAAiD,CAAC,EAC9E,CAAC,EAAE,EAAE,0BAA0B,EAAE,sDAAsD,CAAC,CACzF;EAE0D;EAE3D,MAAMe,MAAMA,CAAC,CAACC,IAAI,CAAW,EAAEC,KAA0B,EAAE;IACzD,MAAM;MACJC,IAAI;MACJC,SAAS;MACTC,IAAI;MACJC,MAAM;MACNC,UAAU;MACVC,aAAa;MACbC,KAAK;MACLC,QAAQ;MACRC,YAAY;MACZC,SAAS;MACTC,UAAU;MACVC,KAAK;MACLC,gBAAgB;MAChBC,YAAY;MACZC;IACF,CAAC,GAAGf,KAAK;IACT,IAAID,IAAI,EAAEA,IAAI,GAAG1C,OAAO,CAAD,CAAC,CAAC2D,OAAO,CAACjB,IAAI,CAAC;IACtC,IAAII,IAAI,EAAE;MACR,IAAII,KAAK,IAAIG,SAAS,EAAE,MAAM,KAAIO,oBAAQ,EAAC,iEAAiE,CAAC;MAC7G;MACA,MAAMC,OAAO,GAAGf,IAAI,KAAK,IAAI,GAAG,EAAE,GAAGA,IAAI;MACzC,MAAM,IAAAgB,mBAAS,EAACpB,IAAI,EAAEmB,OAAO,EAAEd,MAAM,CAAC;MACtC,OAAO,GAAGgB,gBAAK,CAACC,KAAK,CAAC,mDAAmD,CAAC,EAAE;IAC9E;IACA,IAAId,KAAK,IAAIG,SAAS,EAAE;MACtB,MAAM,KAAIO,oBAAQ,EAAC,uEAAuE,CAAC;IAC7F;IAEA,MAAMK,uBAAuF,GAAG;MAC9FT,gBAAgB,EAAEA,gBAAgB,IAAI,IAAAU,wBAAS,EAACC,qCAA0B,CAAC;MAC3EV,YAAY,EAAEA,YAAY,IAAI,IAAAS,wBAAS,EAACE,iCAAsB,CAAC;MAC/DxB,IAAI;MACJc;IACF,CAAC;IAED,MAAM;MAAEW;IAAQ,CAAC,GAAG,MAAMC,0CAAmB,CAACC,IAAI,CAChD7B,IAAI,EACJM,UAAU,EACVC,aAAa,EACbC,KAAK,EACLC,QAAQ,EACRC,YAAY,EACZC,SAAS,EACTC,UAAU,EACVC,KAAK,EACLU,uBAAuB,EACvBpB,SACF,CAAC;IAED,IAAI2B,WAAW,GAAG,GAAGT,gBAAK,CAACC,KAAK,CAAC,2CAA2C,CAAC,EAAE;IAE/E,IAAI,CAACK,OAAO,EAAEG,WAAW,GAAG,GAAGT,gBAAK,CAACU,IAAI,CAAC,8CAA8C,CAAC,EAAE;IAC3F,IAAIvB,KAAK,EAAEsB,WAAW,GAAG,GAAGT,gBAAK,CAACU,IAAI,CAAC,iDAAiD,CAAC,EAAE;IAC3F,IAAIpB,SAAS,EAAEmB,WAAW,GAAG,GAAGT,gBAAK,CAACU,IAAI,CAAC,sDAAsD,CAAC,EAAE;IACpG,IAAInB,UAAU,EAAEkB,WAAW,GAAG,GAAGT,gBAAK,CAACU,IAAI,CAAC,+CAA+C,CAAC,EAAE;IAE9F,OAAOD,WAAW;EACpB;AACF;AAACE,OAAA,CAAApC,OAAA,GAAAA,OAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","pathlib","_interopRequireWildcard","_bitError","_configStore","_legacy","_legacy2","_hostInitializerMain","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","InitCmd","constructor","hostInitializer","logger","handleInteractiveMode","projectPath","flags","reset","resetNew","resetLaneNew","resetHard","resetScope","standalone","skipInteractive","externalPackageManager","HostInitializerMain","hasGitDirectory","hasWorkspaceInitialized","off","console","chalk","cyan","interactiveConfig","runInteractiveMode","mcpEditor","setupMcpServer","green","error","consoleWarning","message","report","path","name","generator","bare","shared","noPackageJson","force","defaultDirectory","defaultScope","resolve","BitError","bareVal","initScope","process","cwd","workspaceExtensionProps","getConfig","CFG_INIT_DEFAULT_DIRECTORY","CFG_INIT_DEFAULT_SCOPE","created","init","generateInitMessage","exports"],"sources":["init-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport * as pathlib from 'path';\nimport { BitError } from '@teambit/bit-error';\nimport { getConfig } from '@teambit/config-store';\nimport { initScope } from '@teambit/legacy.scope-api';\nimport { CFG_INIT_DEFAULT_SCOPE, CFG_INIT_DEFAULT_DIRECTORY } from '@teambit/legacy.constants';\nimport { WorkspaceExtensionProps } from '@teambit/config';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { HostInitializerMain, InteractiveConfig } from './host-initializer.main.runtime';\nimport { Logger } from '@teambit/logger';\n\nexport class InitCmd implements Command {\n name = 'init [path]';\n skipWorkspace = true;\n description = 'create or reinitialize an empty workspace';\n helpUrl = 'reference/workspace/creating-workspaces/?new_existing_project=1';\n group = 'workspace-setup';\n extendedDescription =\n 'if the current directory is already a workspace, it validates that bit files are correct and rewrite them if needed.';\n alias = '';\n loadAspects = false;\n options = [\n ['n', 'name <workspace-name>', 'name of the workspace'],\n [\n '',\n 'generator <env-id>',\n 'for multiple, separate by a comma. add env-ids into the generators field in the workspace config for future \"bit create\" templates',\n ],\n [\n 'T',\n 'standalone',\n 'do not nest component store within .git directory and do not write config data inside package.json',\n ],\n ['', 'no-package-json', 'do not generate package.json'],\n ['r', 'reset', 'write missing or damaged Bit files'],\n ['', 'reset-new', 'reset .bitmap file as if the components were newly added and remove all model data (objects)'],\n [\n '',\n 'reset-lane-new',\n 'same as reset-new, but it only resets components belong to lanes. main components are left intact',\n ],\n [\n '',\n 'reset-hard',\n 'delete all Bit files and directories, including Bit configuration, tracking and model data. Useful for re-starting workspace from scratch',\n ],\n [\n '',\n 'reset-scope',\n 'removes local scope (.bit or .git/bit). tags/snaps that have not been exported will be lost. workspace is left intact',\n ],\n [\n 'd',\n 'default-directory <default-directory>',\n 'set the default directory pattern to import/create components into',\n ],\n ['', 'default-scope <default-scope>', 'set the default scope for components in the workspace'],\n ['f', 'force', 'force workspace initialization without clearing local objects'],\n ['b', 'bare [name]', 'initialize an empty bit bare scope'],\n ['s', 'shared <groupname>', 'add group write permissions to a scope properly'],\n ['', 'external-package-manager', 'enable external package manager mode (npm/yarn/pnpm)'],\n ['', 'skip-interactive', 'skip interactive mode for Git repositories'],\n ] as CommandOptions;\n\n constructor(\n private hostInitializer: HostInitializerMain,\n private logger: Logger\n ) {}\n\n private async handleInteractiveMode(\n projectPath: string,\n flags: Record<string, any>\n ): Promise<InteractiveConfig | null> {\n const {\n reset,\n resetNew,\n resetLaneNew,\n resetHard,\n resetScope,\n standalone,\n skipInteractive,\n externalPackageManager,\n } = flags;\n\n // Check if we should run interactive mode\n if (\n reset ||\n resetNew ||\n resetLaneNew ||\n resetHard ||\n resetScope ||\n standalone ||\n skipInteractive ||\n externalPackageManager ||\n !(await HostInitializerMain.hasGitDirectory(projectPath)) ||\n (await HostInitializerMain.hasWorkspaceInitialized(projectPath))\n ) {\n return null;\n }\n\n this.logger.off();\n this.logger.console(chalk.cyan('š§ Interactive setup for existing Git repository\\n'));\n\n try {\n const interactiveConfig = await HostInitializerMain.runInteractiveMode(projectPath);\n\n // Set up MCP server if user selected an editor\n if (interactiveConfig.mcpEditor) {\n this.logger.console(chalk.cyan(`\\nš§ Setting up MCP server for ${interactiveConfig.mcpEditor}...`));\n await HostInitializerMain.setupMcpServer(interactiveConfig.mcpEditor, projectPath);\n this.logger.console(chalk.green(`ā
MCP server configured for ${interactiveConfig.mcpEditor}`));\n }\n\n return interactiveConfig;\n } catch (error: any) {\n this.logger.consoleWarning(`Warning: Interactive setup failed: ${error.message}`);\n return null;\n }\n }\n\n async report([path]: [string], flags: Record<string, any>) {\n const {\n name,\n generator,\n bare,\n shared,\n standalone,\n noPackageJson,\n reset,\n resetNew,\n resetLaneNew,\n resetHard,\n resetScope,\n force,\n defaultDirectory,\n defaultScope,\n externalPackageManager,\n } = flags;\n\n if (path) path = pathlib.resolve(path);\n\n if (bare) {\n if (reset || resetHard) throw new BitError('--reset and --reset-hard flags are not available for bare scope');\n // Handle both cases init --bare and init --bare [scopeName]\n const bareVal = bare === true ? '' : bare;\n await initScope(path, bareVal, shared);\n return `${chalk.green('successfully initialized an empty bare bit scope.')}`;\n }\n\n if (reset && resetHard) {\n throw new BitError('cannot use both --reset and --reset-hard, please use only one of them');\n }\n\n const projectPath = path || process.cwd();\n const interactiveConfig = await this.handleInteractiveMode(projectPath, flags);\n\n const workspaceExtensionProps: WorkspaceExtensionProps & { externalPackageManager?: boolean } = {\n defaultDirectory:\n interactiveConfig?.defaultDirectory ||\n (externalPackageManager ? 'bit-components/{scope}/{name}' : defaultDirectory) ||\n getConfig(CFG_INIT_DEFAULT_DIRECTORY),\n defaultScope: defaultScope || getConfig(CFG_INIT_DEFAULT_SCOPE),\n name,\n externalPackageManager: interactiveConfig?.externalPackageManager || externalPackageManager,\n };\n\n const { created } = await HostInitializerMain.init(\n path,\n standalone,\n noPackageJson,\n reset,\n resetNew,\n resetLaneNew,\n resetHard,\n resetScope,\n force,\n workspaceExtensionProps,\n interactiveConfig?.generator || generator\n );\n\n return HostInitializerMain.generateInitMessage(created, reset, resetHard, resetScope, interactiveConfig);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,34 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/host-initializer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.369",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/harmony/host-initializer",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.harmony",
|
|
8
8
|
"name": "host-initializer",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.369"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
13
|
-
"fs-extra": "10.0.0",
|
|
14
13
|
"chalk": "4.1.2",
|
|
15
|
-
"
|
|
14
|
+
"enquirer": "2.4.1",
|
|
15
|
+
"fs-extra": "10.0.0",
|
|
16
16
|
"@teambit/toolbox.string.random": "0.0.5",
|
|
17
17
|
"@teambit/harmony": "0.4.7",
|
|
18
|
-
"@teambit/
|
|
18
|
+
"@teambit/mcp.mcp-config-writer": "0.0.1",
|
|
19
19
|
"@teambit/toolbox.fs.is-dir-empty": "0.0.5",
|
|
20
|
-
"@teambit/workspace.modules.workspace-locator": "0.0.13",
|
|
21
20
|
"@teambit/bit-error": "0.0.404",
|
|
22
|
-
"@teambit/
|
|
23
|
-
"@teambit/
|
|
24
|
-
"@teambit/
|
|
25
|
-
"@teambit/legacy.
|
|
26
|
-
"@teambit/legacy.
|
|
27
|
-
"@teambit/legacy.
|
|
28
|
-
"@teambit/cli": "0.0.
|
|
29
|
-
"@teambit/
|
|
30
|
-
"@teambit/
|
|
31
|
-
"@teambit/
|
|
21
|
+
"@teambit/component.sources": "0.0.109",
|
|
22
|
+
"@teambit/config": "0.0.1407",
|
|
23
|
+
"@teambit/legacy.bit-map": "0.0.114",
|
|
24
|
+
"@teambit/legacy.consumer": "0.0.57",
|
|
25
|
+
"@teambit/legacy.scope": "0.0.57",
|
|
26
|
+
"@teambit/legacy.utils": "0.0.22",
|
|
27
|
+
"@teambit/cli": "0.0.1233",
|
|
28
|
+
"@teambit/logger": "0.0.1326",
|
|
29
|
+
"@teambit/objects": "0.0.163",
|
|
30
|
+
"@teambit/scope.modules.find-scope-path": "0.0.14",
|
|
31
|
+
"@teambit/workspace.modules.workspace-locator": "0.0.14",
|
|
32
|
+
"@teambit/config-store": "0.0.113",
|
|
33
|
+
"@teambit/legacy.constants": "0.0.13",
|
|
34
|
+
"@teambit/legacy.scope-api": "0.0.112"
|
|
32
35
|
},
|
|
33
36
|
"devDependencies": {
|
|
34
37
|
"@types/lodash": "4.14.165",
|
|
File without changes
|