@teambit/builder 1.0.742 → 1.0.744

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/build.cmd.js CHANGED
@@ -102,7 +102,8 @@ to ignore multiple issues, separate them by a comma and wrap with quotes. to ign
102
102
  }
103
103
  this.logger.setStatusLine('build');
104
104
  const start = process.hrtime();
105
- const components = await this.workspace.getComponentsByUserInput(unmodified, pattern, true);
105
+ // If pattern is provided, don't pass the unmodified flag as "all" - the pattern should take precedence
106
+ const components = await this.workspace.getComponentsByUserInput(pattern ? false : unmodified, pattern, true);
106
107
  if (!components.length) {
107
108
  return _chalk().default.bold(`no components found to build. use "--unmodified" flag to build all components or specify the ids to build, otherwise, only new and modified components will be built`);
108
109
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_workspace","_legacy","_chalk","_componentIssues","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BuilderCmd","constructor","builder","workspace","logger","name","description","COMPONENT_PATTERN_HELP","cmd","keys","IssuesClasses","join","report","pattern","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","rewrite","reinstall","tasks","listTasks","skipTests","skipTasks","failFast","includeSnap","includeTag","ignoreIssues","loose","Error","OutsideWorkspaceError","getListTasks","setStatusLine","start","process","hrtime","components","getComponentsByUserInput","length","chalk","bold","skipTasksParsed","split","map","trim","undefined","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","installPackages","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","task","exitOnFirstFailedTask","console","capsuleRootDir","duration","prettyTime","succeedOrFailed","hasErrors","msg","consoleFailure","throwErrorsIfExist","green","componentIdStr","compId","resolveComponentId","component","get","results","id","toString","envId","buildTasks","tagTasks","snapTasks","exports"],"sources":["build.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { Logger } from '@teambit/logger';\nimport prettyTime from 'pretty-time';\nimport type { Workspace } from '@teambit/workspace';\nimport { OutsideWorkspaceError } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport chalk from 'chalk';\nimport type { BuilderMain } from './builder.main.runtime';\nimport { IssuesClasses } from '@teambit/component-issues';\n\ntype BuildOpts = {\n unmodified?: boolean;\n dev: boolean;\n rebuild: boolean;\n install: boolean;\n cachePackagesOnCapsulesRoot: boolean;\n reuseCapsules: boolean;\n rewrite?: boolean; //relevant only when reuseCapsules is set\n reinstall?: boolean; //relevant only when reuseCapsules is set\n tasks: string;\n listTasks?: string;\n skipTests?: boolean;\n skipTasks?: string;\n failFast?: boolean;\n includeSnap?: boolean;\n includeTag?: boolean;\n ignoreIssues?: string;\n loose?: boolean;\n};\n\nexport class BuilderCmd implements Command {\n name = 'build [component-pattern]';\n description = 'run set of tasks for build.';\n extendedDescription = `by default, only new and modified components are built.\nthe build takes place in an isolated directories on the filesystem (called \"capsules\"). the component files are copied to these directories\nand the package-manager installs the dependencies in the capsules root. once done, the build pipeline is running.\nbecause this process can take a while on a large workspace, some flags are available to shorten the process. See the example section for more info.\n `;\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n examples = [\n {\n cmd: 'build --reuse-capsules --tasks \"custom-task\"',\n description: 'helps to debug this \"custom-task\" without recreating the capsules from scratch',\n },\n {\n cmd: 'build --reuse-capsules --rewrite --tasks \"BabelCompile,MochaTest\"',\n description: `helpful when for example the tests are failing and code changes are needed to debug it.\nthe \"--rewrite\" flag ensures the component files are fresh, and the \"--tasks\" ensures to re-compile them and then run the tests`,\n },\n ];\n helpUrl = 'reference/build-pipeline/builder-overview';\n alias = '';\n group = 'component-development';\n options = [\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are built)'],\n ['d', 'dev', 'run the pipeline in dev mode'],\n ['', 'install', 'install core aspects in capsules'],\n ['', 'reuse-capsules', 'avoid deleting the capsules root-dir before starting the build'],\n ['', 'rewrite', 'use only with --reuse-capsules. rewrite the component files'],\n ['', 'reinstall', 'use only with --reuse-capsules. rerun the installation'],\n [\n '',\n 'tasks <string>',\n `build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n ['', 'cache-packages-on-capsule-root', 'set the package-manager cache on the capsule root'],\n [\n '',\n 'list-tasks <string>',\n 'list tasks of an env or a component-id for each one of the pipelines: build, tag and snap',\n ],\n ['', 'skip-tests', 'skip running component tests during build process'],\n ['', 'loose', 'allow build to succeed even if tasks like tests or lint fail'],\n [\n '',\n 'skip-tasks <string>',\n `skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes.\n specify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n ['', 'include-snap', 'include snap pipeline tasks. Warning: this may deploy/publish if you have such tasks'],\n ['', 'include-tag', 'include tag pipeline tasks. Warning: this may deploy/publish if you have such tasks'],\n [\n 'i',\n 'ignore-issues <issues>',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ] as CommandOptions;\n\n constructor(\n private builder: BuilderMain,\n private workspace: Workspace,\n private logger: Logger\n ) {}\n\n async report(\n [pattern]: [string],\n {\n unmodified = false,\n dev = false,\n install = false,\n cachePackagesOnCapsulesRoot = false,\n reuseCapsules = false,\n rewrite = false,\n reinstall = false,\n tasks,\n listTasks,\n skipTests,\n skipTasks,\n failFast,\n includeSnap,\n includeTag,\n ignoreIssues,\n loose = false,\n }: BuildOpts\n ): Promise<string> {\n if (rewrite && !reuseCapsules) throw new Error('cannot use --rewrite without --reuse-capsules');\n if (reinstall && !reuseCapsules) throw new Error('cannot use --reinstall without --reuse-capsules');\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (listTasks) {\n return this.getListTasks(listTasks);\n }\n\n this.logger.setStatusLine('build');\n const start = process.hrtime();\n const components = await this.workspace.getComponentsByUserInput(unmodified, pattern, true);\n if (!components.length) {\n return chalk.bold(\n `no components found to build. use \"--unmodified\" flag to build all components or specify the ids to build, otherwise, only new and modified components will be built`\n );\n }\n\n const skipTasksParsed = skipTasks ? skipTasks.split(',').map((t) => t.trim()) : undefined;\n\n const envsExecutionResults = await this.builder.build(\n components,\n {\n installOptions: {\n installTeambitBit: install,\n packageManagerConfigRootDir: this.workspace.path,\n installPackages: rewrite && !reinstall ? false : true,\n },\n linkingOptions: { linkTeambitBit: !install },\n emptyRootDir: !reuseCapsules,\n getExistingAsIs: reuseCapsules && !rewrite && !reinstall,\n cachePackagesOnCapsulesRoot,\n },\n {\n dev,\n tasks: tasks ? tasks.split(',').map((task) => task.trim()) : [],\n skipTests,\n skipTasks: skipTasksParsed,\n exitOnFirstFailedTask: failFast,\n },\n {\n includeSnap,\n includeTag,\n ignoreIssues,\n }\n );\n this.logger.console(`build output can be found in path: ${envsExecutionResults.capsuleRootDir}`);\n const duration = prettyTime(process.hrtime(start));\n const succeedOrFailed = envsExecutionResults.hasErrors(loose) ? 'failed' : 'succeeded';\n const msg = `build ${succeedOrFailed}. completed in ${duration}.`;\n if (envsExecutionResults.hasErrors(loose)) {\n this.logger.consoleFailure(msg);\n }\n envsExecutionResults.throwErrorsIfExist(loose);\n return chalk.green(msg);\n }\n\n private async getListTasks(componentIdStr: string): Promise<string> {\n const compId = await this.workspace.resolveComponentId(componentIdStr);\n const component = await this.workspace.get(compId);\n const results = this.builder.listTasks(component);\n return `${chalk.green('Task List')}\nid: ${results.id.toString()}\nenvId: ${results.envId}\n\n${chalk.bold('Build Pipeline Tasks:')}\n${results.buildTasks.join('\\n')}\n\n${chalk.bold('Tag Pipeline Tasks:')}\n${results.tagTasks.join('\\n')}\n\n${chalk.bold('Snap Pipeline Tasks:')}\n${results.snapTasks.join('\\n') || '<N/A>'}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_prettyTime","data","_interopRequireDefault","require","_workspace","_legacy","_chalk","_componentIssues","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","BuilderCmd","constructor","builder","workspace","logger","name","description","COMPONENT_PATTERN_HELP","cmd","keys","IssuesClasses","join","report","pattern","unmodified","dev","install","cachePackagesOnCapsulesRoot","reuseCapsules","rewrite","reinstall","tasks","listTasks","skipTests","skipTasks","failFast","includeSnap","includeTag","ignoreIssues","loose","Error","OutsideWorkspaceError","getListTasks","setStatusLine","start","process","hrtime","components","getComponentsByUserInput","length","chalk","bold","skipTasksParsed","split","map","trim","undefined","envsExecutionResults","build","installOptions","installTeambitBit","packageManagerConfigRootDir","path","installPackages","linkingOptions","linkTeambitBit","emptyRootDir","getExistingAsIs","task","exitOnFirstFailedTask","console","capsuleRootDir","duration","prettyTime","succeedOrFailed","hasErrors","msg","consoleFailure","throwErrorsIfExist","green","componentIdStr","compId","resolveComponentId","component","get","results","id","toString","envId","buildTasks","tagTasks","snapTasks","exports"],"sources":["build.cmd.ts"],"sourcesContent":["import type { Command, CommandOptions } from '@teambit/cli';\nimport type { Logger } from '@teambit/logger';\nimport prettyTime from 'pretty-time';\nimport type { Workspace } from '@teambit/workspace';\nimport { OutsideWorkspaceError } from '@teambit/workspace';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy.constants';\nimport chalk from 'chalk';\nimport type { BuilderMain } from './builder.main.runtime';\nimport { IssuesClasses } from '@teambit/component-issues';\n\ntype BuildOpts = {\n unmodified?: boolean;\n dev: boolean;\n rebuild: boolean;\n install: boolean;\n cachePackagesOnCapsulesRoot: boolean;\n reuseCapsules: boolean;\n rewrite?: boolean; //relevant only when reuseCapsules is set\n reinstall?: boolean; //relevant only when reuseCapsules is set\n tasks: string;\n listTasks?: string;\n skipTests?: boolean;\n skipTasks?: string;\n failFast?: boolean;\n includeSnap?: boolean;\n includeTag?: boolean;\n ignoreIssues?: string;\n loose?: boolean;\n};\n\nexport class BuilderCmd implements Command {\n name = 'build [component-pattern]';\n description = 'run set of tasks for build.';\n extendedDescription = `by default, only new and modified components are built.\nthe build takes place in an isolated directories on the filesystem (called \"capsules\"). the component files are copied to these directories\nand the package-manager installs the dependencies in the capsules root. once done, the build pipeline is running.\nbecause this process can take a while on a large workspace, some flags are available to shorten the process. See the example section for more info.\n `;\n arguments = [{ name: 'component-pattern', description: COMPONENT_PATTERN_HELP }];\n examples = [\n {\n cmd: 'build --reuse-capsules --tasks \"custom-task\"',\n description: 'helps to debug this \"custom-task\" without recreating the capsules from scratch',\n },\n {\n cmd: 'build --reuse-capsules --rewrite --tasks \"BabelCompile,MochaTest\"',\n description: `helpful when for example the tests are failing and code changes are needed to debug it.\nthe \"--rewrite\" flag ensures the component files are fresh, and the \"--tasks\" ensures to re-compile them and then run the tests`,\n },\n ];\n helpUrl = 'reference/build-pipeline/builder-overview';\n alias = '';\n group = 'component-development';\n options = [\n ['u', 'unmodified', 'include unmodified components (by default, only new and modified components are built)'],\n ['d', 'dev', 'run the pipeline in dev mode'],\n ['', 'install', 'install core aspects in capsules'],\n ['', 'reuse-capsules', 'avoid deleting the capsules root-dir before starting the build'],\n ['', 'rewrite', 'use only with --reuse-capsules. rewrite the component files'],\n ['', 'reinstall', 'use only with --reuse-capsules. rerun the installation'],\n [\n '',\n 'tasks <string>',\n `build the specified task(s) only. for multiple tasks, separate by a comma and wrap with quotes.\nspecify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n ['', 'cache-packages-on-capsule-root', 'set the package-manager cache on the capsule root'],\n [\n '',\n 'list-tasks <string>',\n 'list tasks of an env or a component-id for each one of the pipelines: build, tag and snap',\n ],\n ['', 'skip-tests', 'skip running component tests during build process'],\n ['', 'loose', 'allow build to succeed even if tasks like tests or lint fail'],\n [\n '',\n 'skip-tasks <string>',\n `skip the given tasks. for multiple tasks, separate by a comma and wrap with quotes.\n specify the task-name (e.g. \"TypescriptCompiler\") or the task-aspect-id (e.g. teambit.compilation/compiler)`,\n ],\n [\n '',\n 'fail-fast',\n 'stop pipeline execution on the first failed task (by default a task is skipped only when its dependency failed)',\n ],\n ['', 'include-snap', 'include snap pipeline tasks. Warning: this may deploy/publish if you have such tasks'],\n ['', 'include-tag', 'include tag pipeline tasks. Warning: this may deploy/publish if you have such tasks'],\n [\n 'i',\n 'ignore-issues <issues>',\n `ignore component issues (shown in \"bit status\" as \"issues found\"), issues to ignore:\n[${Object.keys(IssuesClasses).join(', ')}]\nto ignore multiple issues, separate them by a comma and wrap with quotes. to ignore all issues, specify \"*\".`,\n ],\n ] as CommandOptions;\n\n constructor(\n private builder: BuilderMain,\n private workspace: Workspace,\n private logger: Logger\n ) {}\n\n async report(\n [pattern]: [string],\n {\n unmodified = false,\n dev = false,\n install = false,\n cachePackagesOnCapsulesRoot = false,\n reuseCapsules = false,\n rewrite = false,\n reinstall = false,\n tasks,\n listTasks,\n skipTests,\n skipTasks,\n failFast,\n includeSnap,\n includeTag,\n ignoreIssues,\n loose = false,\n }: BuildOpts\n ): Promise<string> {\n if (rewrite && !reuseCapsules) throw new Error('cannot use --rewrite without --reuse-capsules');\n if (reinstall && !reuseCapsules) throw new Error('cannot use --reinstall without --reuse-capsules');\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (listTasks) {\n return this.getListTasks(listTasks);\n }\n\n this.logger.setStatusLine('build');\n const start = process.hrtime();\n // If pattern is provided, don't pass the unmodified flag as \"all\" - the pattern should take precedence\n const components = await this.workspace.getComponentsByUserInput(pattern ? false : unmodified, pattern, true);\n if (!components.length) {\n return chalk.bold(\n `no components found to build. use \"--unmodified\" flag to build all components or specify the ids to build, otherwise, only new and modified components will be built`\n );\n }\n\n const skipTasksParsed = skipTasks ? skipTasks.split(',').map((t) => t.trim()) : undefined;\n\n const envsExecutionResults = await this.builder.build(\n components,\n {\n installOptions: {\n installTeambitBit: install,\n packageManagerConfigRootDir: this.workspace.path,\n installPackages: rewrite && !reinstall ? false : true,\n },\n linkingOptions: { linkTeambitBit: !install },\n emptyRootDir: !reuseCapsules,\n getExistingAsIs: reuseCapsules && !rewrite && !reinstall,\n cachePackagesOnCapsulesRoot,\n },\n {\n dev,\n tasks: tasks ? tasks.split(',').map((task) => task.trim()) : [],\n skipTests,\n skipTasks: skipTasksParsed,\n exitOnFirstFailedTask: failFast,\n },\n {\n includeSnap,\n includeTag,\n ignoreIssues,\n }\n );\n this.logger.console(`build output can be found in path: ${envsExecutionResults.capsuleRootDir}`);\n const duration = prettyTime(process.hrtime(start));\n const succeedOrFailed = envsExecutionResults.hasErrors(loose) ? 'failed' : 'succeeded';\n const msg = `build ${succeedOrFailed}. completed in ${duration}.`;\n if (envsExecutionResults.hasErrors(loose)) {\n this.logger.consoleFailure(msg);\n }\n envsExecutionResults.throwErrorsIfExist(loose);\n return chalk.green(msg);\n }\n\n private async getListTasks(componentIdStr: string): Promise<string> {\n const compId = await this.workspace.resolveComponentId(componentIdStr);\n const component = await this.workspace.get(compId);\n const results = this.builder.listTasks(component);\n return `${chalk.green('Task List')}\nid: ${results.id.toString()}\nenvId: ${results.envId}\n\n${chalk.bold('Build Pipeline Tasks:')}\n${results.buildTasks.join('\\n')}\n\n${chalk.bold('Tag Pipeline Tasks:')}\n${results.tagTasks.join('\\n')}\n\n${chalk.bold('Snap Pipeline Tasks:')}\n${results.snapTasks.join('\\n') || '<N/A>'}`;\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pipelines_builder@1.0.742/dist/builder.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pipelines_builder@1.0.742/dist/builder.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pipelines_builder@1.0.744/dist/builder.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.pipelines_builder@1.0.744/dist/builder.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/builder",
3
- "version": "1.0.742",
3
+ "version": "1.0.744",
4
4
  "homepage": "https://bit.cloud/teambit/pipelines/builder",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.pipelines",
8
8
  "name": "builder",
9
- "version": "1.0.742"
9
+ "version": "1.0.744"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "4.1.2",
@@ -40,16 +40,16 @@
40
40
  "@teambit/component-id": "1.2.4",
41
41
  "@teambit/legacy.utils": "0.0.26",
42
42
  "@teambit/legacy.scope": "0.0.72",
43
- "@teambit/component": "1.0.742",
44
- "@teambit/envs": "1.0.742",
45
- "@teambit/isolator": "1.0.742",
46
- "@teambit/workspace": "1.0.742",
47
- "@teambit/aspect-loader": "1.0.742",
48
- "@teambit/generator": "1.0.743",
49
- "@teambit/graphql": "1.0.742",
50
- "@teambit/issues": "1.0.742",
51
- "@teambit/scope": "1.0.742",
52
- "@teambit/ui": "1.0.742"
43
+ "@teambit/component": "1.0.744",
44
+ "@teambit/envs": "1.0.744",
45
+ "@teambit/isolator": "1.0.744",
46
+ "@teambit/workspace": "1.0.744",
47
+ "@teambit/aspect-loader": "1.0.744",
48
+ "@teambit/generator": "1.0.745",
49
+ "@teambit/graphql": "1.0.744",
50
+ "@teambit/issues": "1.0.744",
51
+ "@teambit/scope": "1.0.744",
52
+ "@teambit/ui": "1.0.744"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@types/pretty-time": "^1.1.5",