@teambit/host-initializer 0.0.651 → 0.0.653
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.
|
@@ -408,29 +408,29 @@ node_modules
|
|
|
408
408
|
* Generate the final initialization message
|
|
409
409
|
*/
|
|
410
410
|
static generateInitMessage(created, reset, resetHard, resetScope, interactiveConfig) {
|
|
411
|
-
let initMessage =
|
|
412
|
-
if (!created) initMessage =
|
|
413
|
-
if (reset) initMessage =
|
|
414
|
-
if (resetHard) initMessage =
|
|
415
|
-
if (resetScope) initMessage =
|
|
411
|
+
let initMessage = (0, _cli().formatSuccessSummary)('initialized a bit workspace.');
|
|
412
|
+
if (!created) initMessage = (0, _cli().formatHint)('successfully re-initialized a bit workspace.');
|
|
413
|
+
if (reset) initMessage = (0, _cli().formatHint)('your bit workspace has been reset successfully.');
|
|
414
|
+
if (resetHard) initMessage = (0, _cli().formatHint)('your bit workspace has been hard-reset successfully.');
|
|
415
|
+
if (resetScope) initMessage = (0, _cli().formatHint)('your local scope has been reset successfully.');
|
|
416
416
|
|
|
417
417
|
// Add additional information for interactive mode
|
|
418
418
|
if (interactiveConfig) {
|
|
419
|
-
initMessage += `\n\n${
|
|
419
|
+
initMessage += `\n\n${(0, _cli().formatTitle)('Additional Information')}`;
|
|
420
420
|
const defaultDirectory = interactiveConfig?.defaultDirectory || 'bit-components/{scope}/{name}';
|
|
421
|
-
initMessage += `\n
|
|
422
|
-
initMessage += `\n
|
|
421
|
+
initMessage += `\n Components will be created in: ${_chalk().default.cyan(defaultDirectory)}`;
|
|
422
|
+
initMessage += `\n For CI/CD setup, visit: https://bit.dev/docs/getting-started/collaborate/exporting-components#custom-ci/cd-setup`;
|
|
423
423
|
if (interactiveConfig.generator) {
|
|
424
|
-
initMessage += `\n
|
|
424
|
+
initMessage += `\n Environment: ${_chalk().default.cyan(interactiveConfig.generator)}`;
|
|
425
425
|
}
|
|
426
426
|
if (interactiveConfig.mcpEditor) {
|
|
427
|
-
initMessage += `\n
|
|
427
|
+
initMessage += `\n MCP server configured for: ${_chalk().default.cyan(interactiveConfig.mcpEditor)}`;
|
|
428
428
|
}
|
|
429
429
|
if (interactiveConfig.externalPackageManager) {
|
|
430
|
-
initMessage += `\n
|
|
431
|
-
initMessage += `\n
|
|
430
|
+
initMessage += `\n External package manager mode enabled`;
|
|
431
|
+
initMessage += (0, _cli().formatHint)(`\n Run ${_chalk().default.cyan('pnpm install')} (or ${_chalk().default.cyan('yarn install')}/${_chalk().default.cyan('npm install')}) to install dependencies`);
|
|
432
432
|
} else if (interactiveConfig.generator) {
|
|
433
|
-
initMessage += `\n
|
|
433
|
+
initMessage += (0, _cli().formatHint)(`\n Run ${_chalk().default.cyan('bit install')} to install dependencies`);
|
|
434
434
|
}
|
|
435
435
|
}
|
|
436
436
|
return initMessage;
|
|
@@ -1 +1 @@
|
|
|
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","enabled","disabled","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 type { 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 type { WorkspaceExtensionProps } from '@teambit/config';\nimport { WorkspaceConfig } from '@teambit/config';\nimport type { SetupOptions, RulesOptions } from '@teambit/mcp.mcp-config-writer';\nimport { McpConfigWriter } from '@teambit/mcp.mcp-config-writer';\nimport type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, 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 type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } 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: 'toggle',\n name: 'useExternalPackageManager',\n message: 'Would you like to use your own package manager (npm/yarn/pnpm) instead of Bit?',\n enabled: 'Yes',\n disabled: 'No',\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: 'toggle',\n name: 'setupMcp',\n message: 'Would you like to set up the MCP server for AI-powered development?',\n enabled: 'Yes',\n disabled: 'No',\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":[]}
|
|
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","enabled","disabled","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","formatSuccessSummary","formatHint","formatTitle","chalk","cyan","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 type { 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 type { WorkspaceExtensionProps } from '@teambit/config';\nimport { WorkspaceConfig } from '@teambit/config';\nimport type { SetupOptions, RulesOptions } from '@teambit/mcp.mcp-config-writer';\nimport { McpConfigWriter } from '@teambit/mcp.mcp-config-writer';\nimport type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime, formatSuccessSummary, formatHint, formatTitle } 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 type { LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } 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: 'toggle',\n name: 'useExternalPackageManager',\n message: 'Would you like to use your own package manager (npm/yarn/pnpm) instead of Bit?',\n enabled: 'Yes',\n disabled: 'No',\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: 'toggle',\n name: 'setupMcp',\n message: 'Would you like to set up the MCP server for AI-powered development?',\n enabled: 'Yes',\n disabled: 'No',\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 = formatSuccessSummary('initialized a bit workspace.');\n\n if (!created) initMessage = formatHint('successfully re-initialized a bit workspace.');\n if (reset) initMessage = formatHint('your bit workspace has been reset successfully.');\n if (resetHard) initMessage = formatHint('your bit workspace has been hard-reset successfully.');\n if (resetScope) initMessage = formatHint('your local scope has been reset successfully.');\n\n // Add additional information for interactive mode\n if (interactiveConfig) {\n initMessage += `\\n\\n${formatTitle('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: 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 += formatHint(\n `\\n Run ${chalk.cyan('pnpm install')} (or ${chalk.cyan('yarn install')}/${chalk.cyan('npm install')}) to install dependencies`\n );\n } else if (interactiveConfig.generator) {\n initMessage += formatHint(`\\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.js
CHANGED
|
@@ -46,6 +46,13 @@ function _legacy2() {
|
|
|
46
46
|
};
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
|
+
function _cli() {
|
|
50
|
+
const data = require("@teambit/cli");
|
|
51
|
+
_cli = function () {
|
|
52
|
+
return data;
|
|
53
|
+
};
|
|
54
|
+
return data;
|
|
55
|
+
}
|
|
49
56
|
function _hostInitializerMain() {
|
|
50
57
|
const data = require("./host-initializer.main.runtime");
|
|
51
58
|
_hostInitializerMain = function () {
|
|
@@ -131,7 +138,7 @@ supports various reset options to recover from corrupted state or restart from s
|
|
|
131
138
|
// Handle both cases init --bare and init --bare [scopeName]
|
|
132
139
|
const bareVal = bare === true ? '' : bare;
|
|
133
140
|
await (0, _legacy().initScope)(path, bareVal, shared);
|
|
134
|
-
return
|
|
141
|
+
return (0, _cli().formatSuccessSummary)('initialized an empty bare bit scope.');
|
|
135
142
|
}
|
|
136
143
|
if (reset && resetHard) {
|
|
137
144
|
throw new (_bitError().BitError)('cannot use both --reset and --reset-hard, please use only one of them');
|
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","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 type { WorkspaceExtensionProps } from '@teambit/config';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport type { InteractiveConfig } from './host-initializer.main.runtime';\nimport { HostInitializerMain } from './host-initializer.main.runtime';\nimport type { Logger } from '@teambit/logger';\n\nexport class InitCmd implements Command {\n name = 'init [path]';\n skipWorkspace = true;\n description = 'initialize a Bit workspace in an existing project';\n helpUrl = 'reference/workspace/creating-workspaces/?new_existing_project=1';\n group = 'workspace-setup';\n extendedDescription = `creates Bit configuration files in an existing project directory to start tracking components.\nif already a workspace, validates and repairs Bit files as needed.\nsupports various reset options to recover from corrupted state or restart from scratch.`;\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":[]}
|
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","pathlib","_interopRequireWildcard","_bitError","_configStore","_legacy","_legacy2","_cli","_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","formatSuccessSummary","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 type { WorkspaceExtensionProps } from '@teambit/config';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport { formatSuccessSummary } from '@teambit/cli';\nimport type { InteractiveConfig } from './host-initializer.main.runtime';\nimport { HostInitializerMain } from './host-initializer.main.runtime';\nimport type { Logger } from '@teambit/logger';\n\nexport class InitCmd implements Command {\n name = 'init [path]';\n skipWorkspace = true;\n description = 'initialize a Bit workspace in an existing project';\n helpUrl = 'reference/workspace/creating-workspaces/?new_existing_project=1';\n group = 'workspace-setup';\n extendedDescription = `creates Bit configuration files in an existing project directory to start tracking components.\nif already a workspace, validates and repairs Bit files as needed.\nsupports various reset options to recover from corrupted state or restart from scratch.`;\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 formatSuccessSummary('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,37 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/host-initializer",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.653",
|
|
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.653"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
13
13
|
"chalk": "4.1.2",
|
|
14
14
|
"enquirer": "2.4.1",
|
|
15
15
|
"fs-extra": "10.0.0",
|
|
16
|
-
"@teambit/legacy.utils": "0.0.34",
|
|
17
|
-
"@teambit/toolbox.string.random": "0.0.13",
|
|
18
|
-
"@teambit/harmony": "0.4.7",
|
|
19
|
-
"@teambit/mcp.mcp-config-writer": "0.0.8",
|
|
20
|
-
"@teambit/toolbox.fs.is-dir-empty": "0.0.13",
|
|
21
|
-
"@teambit/bit-error": "0.0.404",
|
|
22
16
|
"@teambit/component.sources": "0.0.159",
|
|
23
|
-
"@teambit/config": "0.0.1489",
|
|
24
17
|
"@teambit/legacy.bit-map": "0.0.164",
|
|
25
18
|
"@teambit/legacy.consumer": "0.0.107",
|
|
26
19
|
"@teambit/legacy.scope": "0.0.107",
|
|
27
|
-
"@teambit/
|
|
28
|
-
"@teambit/
|
|
29
|
-
"@teambit/
|
|
20
|
+
"@teambit/legacy.utils": "0.0.34",
|
|
21
|
+
"@teambit/toolbox.string.random": "0.0.13",
|
|
22
|
+
"@teambit/harmony": "0.4.7",
|
|
23
|
+
"@teambit/mcp.mcp-config-writer": "0.0.8",
|
|
30
24
|
"@teambit/scope.modules.find-scope-path": "0.0.27",
|
|
25
|
+
"@teambit/toolbox.fs.is-dir-empty": "0.0.13",
|
|
31
26
|
"@teambit/workspace.modules.workspace-locator": "0.0.27",
|
|
32
|
-
"@teambit/
|
|
27
|
+
"@teambit/bit-error": "0.0.404",
|
|
33
28
|
"@teambit/legacy.constants": "0.0.26",
|
|
34
|
-
"@teambit/legacy.scope-api": "0.0.162"
|
|
29
|
+
"@teambit/legacy.scope-api": "0.0.162",
|
|
30
|
+
"@teambit/config": "0.0.1490",
|
|
31
|
+
"@teambit/cli": "0.0.1315",
|
|
32
|
+
"@teambit/logger": "0.0.1408",
|
|
33
|
+
"@teambit/objects": "0.0.447",
|
|
34
|
+
"@teambit/config-store": "0.0.195"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/lodash": "4.14.165",
|
|
File without changes
|