@teambit/install 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/__snapshots__/pick-outdated-pkgs.spec.ts.snap +171 -0
  2. package/dist/__snapshots__/pick-outdated-pkgs.spec.js.snap +171 -0
  3. package/dist/__snapshots__/pick-outdated-pkgs.spec.ts.snap +171 -0
  4. package/dist/exceptions/dependency-type-not-supported-in-policy.d.ts +4 -0
  5. package/dist/exceptions/dependency-type-not-supported-in-policy.js +27 -0
  6. package/dist/exceptions/dependency-type-not-supported-in-policy.js.map +1 -0
  7. package/dist/exceptions/index.d.ts +1 -0
  8. package/dist/exceptions/index.js +23 -0
  9. package/dist/exceptions/index.js.map +1 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.js +28 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/install.aspect.d.ts +2 -0
  14. package/dist/install.aspect.js +24 -0
  15. package/dist/install.aspect.js.map +1 -0
  16. package/dist/install.cmd.d.ts +46 -0
  17. package/dist/install.cmd.js +86 -0
  18. package/dist/install.cmd.js.map +1 -0
  19. package/dist/install.main.runtime.d.ts +76 -0
  20. package/dist/install.main.runtime.js +580 -0
  21. package/dist/install.main.runtime.js.map +1 -0
  22. package/dist/link/component-list-links.d.ts +7 -0
  23. package/dist/link/component-list-links.js +98 -0
  24. package/dist/link/component-list-links.js.map +1 -0
  25. package/dist/link/core-aspects-links.d.ts +7 -0
  26. package/dist/link/core-aspects-links.js +95 -0
  27. package/dist/link/core-aspects-links.js.map +1 -0
  28. package/dist/link/get-package-name-from-target.d.ts +1 -0
  29. package/dist/link/get-package-name-from-target.js +16 -0
  30. package/dist/link/get-package-name-from-target.js.map +1 -0
  31. package/dist/link/index.d.ts +1 -0
  32. package/dist/link/index.js +23 -0
  33. package/dist/link/index.js.map +1 -0
  34. package/dist/link/link-row.d.ts +12 -0
  35. package/dist/link/link-row.js +38 -0
  36. package/dist/link/link-row.js.map +1 -0
  37. package/dist/link/link-to-dir.d.ts +2 -0
  38. package/dist/link/link-to-dir.js +45 -0
  39. package/dist/link/link-to-dir.js.map +1 -0
  40. package/dist/link/link.cmd.d.ts +46 -0
  41. package/dist/link/link.cmd.js +177 -0
  42. package/dist/link/link.cmd.js.map +1 -0
  43. package/dist/link/nested-deps-in-nm-links.d.ts +7 -0
  44. package/dist/link/nested-deps-in-nm-links.js +74 -0
  45. package/dist/link/nested-deps-in-nm-links.js.map +1 -0
  46. package/dist/link/rewire-row.d.ts +6 -0
  47. package/dist/link/rewire-row.js +31 -0
  48. package/dist/link/rewire-row.js.map +1 -0
  49. package/dist/pick-outdated-pkgs.d.ts +16 -0
  50. package/dist/pick-outdated-pkgs.js +308 -0
  51. package/dist/pick-outdated-pkgs.js.map +1 -0
  52. package/dist/pick-outdated-pkgs.spec.d.ts +1 -0
  53. package/dist/pick-outdated-pkgs.spec.js +121 -0
  54. package/dist/pick-outdated-pkgs.spec.js.map +1 -0
  55. package/dist/uninstall.cmd.d.ts +12 -0
  56. package/dist/uninstall.cmd.js +43 -0
  57. package/dist/uninstall.cmd.js.map +1 -0
  58. package/dist/update.cmd.d.ts +16 -0
  59. package/dist/update.cmd.js +43 -0
  60. package/dist/update.cmd.js.map +1 -0
  61. package/exceptions/dependency-type-not-supported-in-policy.ts +7 -0
  62. package/exceptions/index.ts +1 -0
  63. package/install.cmd.tsx +74 -0
  64. package/link/component-list-links.ts +50 -0
  65. package/link/core-aspects-links.ts +50 -0
  66. package/link/get-package-name-from-target.ts +5 -0
  67. package/link/index.ts +1 -0
  68. package/link/link-row.ts +20 -0
  69. package/link/link-to-dir.ts +13 -0
  70. package/link/link.cmd.ts +102 -0
  71. package/link/nested-deps-in-nm-links.ts +47 -0
  72. package/link/rewire-row.ts +17 -0
  73. package/package-tar/teambit-install-0.0.1.tgz +0 -0
  74. package/package.json +59 -0
  75. package/preview-1662608124038.js +5 -0
  76. package/tsconfig.json +40 -0
  77. package/types/asset.d.ts +29 -0
  78. package/types/style.d.ts +42 -0
  79. package/uninstall.cmd.tsx +18 -0
  80. package/update.cmd.tsx +24 -0
@@ -0,0 +1,46 @@
1
+ import { Command, CommandOptions } from '@teambit/cli';
2
+ import { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';
3
+ import { Logger } from '@teambit/logger';
4
+ import { Workspace } from '@teambit/workspace';
5
+ import { InstallMain } from './install.main.runtime';
6
+ declare type InstallCmdOptions = {
7
+ variants: string;
8
+ type: WorkspaceDependencyLifecycleType;
9
+ skipDedupe: boolean;
10
+ skipImport: boolean;
11
+ updateExisting: boolean;
12
+ savePrefix: string;
13
+ addMissingPeers: boolean;
14
+ };
15
+ export default class InstallCmd implements Command {
16
+ private install;
17
+ /**
18
+ * workspace extension.
19
+ */
20
+ private workspace;
21
+ /**
22
+ * logger extension.
23
+ */
24
+ private logger;
25
+ name: string;
26
+ description: string;
27
+ extendedDescription: string;
28
+ arguments: {
29
+ name: string;
30
+ description: string;
31
+ }[];
32
+ alias: string;
33
+ group: string;
34
+ options: CommandOptions;
35
+ constructor(install: InstallMain,
36
+ /**
37
+ * workspace extension.
38
+ */
39
+ workspace: Workspace,
40
+ /**
41
+ * logger extension.
42
+ */
43
+ logger: Logger);
44
+ report([packages]: [string[]], options: InstallCmdOptions): Promise<string>;
45
+ }
46
+ export {};
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ require("core-js/modules/es.array.iterator.js");
6
+
7
+ require("core-js/modules/es.promise.js");
8
+
9
+ Object.defineProperty(exports, "__esModule", {
10
+ value: true
11
+ });
12
+ exports.default = void 0;
13
+
14
+ function _defineProperty2() {
15
+ const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+
17
+ _defineProperty2 = function () {
18
+ return data;
19
+ };
20
+
21
+ return data;
22
+ }
23
+
24
+ function _chalk() {
25
+ const data = _interopRequireDefault(require("chalk"));
26
+
27
+ _chalk = function () {
28
+ return data;
29
+ };
30
+
31
+ return data;
32
+ }
33
+
34
+ class InstallCmd {
35
+ constructor(install,
36
+ /**
37
+ * workspace extension.
38
+ */
39
+ workspace,
40
+ /**
41
+ * logger extension.
42
+ */
43
+ logger) {
44
+ this.install = install;
45
+ this.workspace = workspace;
46
+ this.logger = logger;
47
+ (0, _defineProperty2().default)(this, "name", 'install [packages...]');
48
+ (0, _defineProperty2().default)(this, "description", 'installs workspace dependencies');
49
+ (0, _defineProperty2().default)(this, "extendedDescription", 'when no package is specified, all workspace dependencies are installed and all workspace components are imported.');
50
+ (0, _defineProperty2().default)(this, "arguments", [{
51
+ name: 'packages...',
52
+ description: 'a list of packages to install (separated by spaces)'
53
+ }]);
54
+ (0, _defineProperty2().default)(this, "alias", 'in');
55
+ (0, _defineProperty2().default)(this, "group", 'development');
56
+ (0, _defineProperty2().default)(this, "options", [['v', 'variants <variants>', 'add packages to specific variants'], ['t', 'type [lifecycleType]', '"runtime" (default) or "peer" (dev is not a valid option)'], ['u', 'update-existing [updateExisting]', 'update existing dependencies version and types'], ['', 'save-prefix [savePrefix]', 'set the prefix to use when adding dependency to workspace.jsonc'], ['', 'skip-dedupe [skipDedupe]', 'do not dedupe dependencies on installation'], ['', 'skip-import [skipImport]', 'do not import bit objects post installation'], ['', 'add-missing-peers [addMissingPeers]', 'install all missing peer dependencies']]);
57
+ }
58
+
59
+ async report([packages = []], options) {
60
+ const startTime = Date.now();
61
+ this.logger.console(`Resolving component dependencies for workspace: '${_chalk().default.cyan(this.workspace.name)}'`);
62
+ const installOpts = {
63
+ variants: options.variants,
64
+ lifecycleType: options.addMissingPeers ? 'peer' : options.type,
65
+ dedupe: !options.skipDedupe,
66
+ import: !options.skipImport,
67
+ updateExisting: options.updateExisting,
68
+ savePrefix: options.savePrefix,
69
+ addMissingPeers: options.addMissingPeers
70
+ };
71
+ const components = await this.install.install(packages, installOpts);
72
+ const endTime = Date.now();
73
+ const executionTime = calculateTime(startTime, endTime);
74
+ return `Successfully resolved dependencies for ${_chalk().default.cyan(components.toArray().length.toString())} component(s) in ${_chalk().default.cyan(executionTime.toString())} seconds`;
75
+ }
76
+
77
+ }
78
+
79
+ exports.default = InstallCmd;
80
+
81
+ function calculateTime(startTime, endTime) {
82
+ const diff = endTime - startTime;
83
+ return diff / 1000;
84
+ }
85
+
86
+ //# sourceMappingURL=install.cmd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InstallCmd","constructor","install","workspace","logger","name","description","report","packages","options","startTime","Date","now","console","chalk","cyan","installOpts","variants","lifecycleType","addMissingPeers","type","dedupe","skipDedupe","import","skipImport","updateExisting","savePrefix","components","endTime","executionTime","calculateTime","toArray","length","toString","diff"],"sources":["install.cmd.tsx"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport chalk from 'chalk';\n\nimport { Workspace } from '@teambit/workspace';\nimport { InstallMain, WorkspaceInstallOptions } from './install.main.runtime';\n\ntype InstallCmdOptions = {\n variants: string;\n type: WorkspaceDependencyLifecycleType;\n skipDedupe: boolean;\n skipImport: boolean;\n updateExisting: boolean;\n savePrefix: string;\n addMissingPeers: boolean;\n};\n\nexport default class InstallCmd implements Command {\n name = 'install [packages...]';\n description = 'installs workspace dependencies';\n extendedDescription =\n 'when no package is specified, all workspace dependencies are installed and all workspace components are imported.';\n arguments = [{ name: 'packages...', description: 'a list of packages to install (separated by spaces)' }];\n alias = 'in';\n group = 'development';\n options = [\n ['v', 'variants <variants>', 'add packages to specific variants'],\n ['t', 'type [lifecycleType]', '\"runtime\" (default) or \"peer\" (dev is not a valid option)'],\n ['u', 'update-existing [updateExisting]', 'update existing dependencies version and types'],\n ['', 'save-prefix [savePrefix]', 'set the prefix to use when adding dependency to workspace.jsonc'],\n ['', 'skip-dedupe [skipDedupe]', 'do not dedupe dependencies on installation'],\n ['', 'skip-import [skipImport]', 'do not import bit objects post installation'],\n ['', 'add-missing-peers [addMissingPeers]', 'install all missing peer dependencies'],\n ] as CommandOptions;\n\n constructor(\n private install: InstallMain,\n /**\n * workspace extension.\n */\n private workspace: Workspace,\n\n /**\n * logger extension.\n */\n private logger: Logger\n ) {}\n\n async report([packages = []]: [string[]], options: InstallCmdOptions) {\n const startTime = Date.now();\n this.logger.console(`Resolving component dependencies for workspace: '${chalk.cyan(this.workspace.name)}'`);\n const installOpts: WorkspaceInstallOptions = {\n variants: options.variants,\n lifecycleType: options.addMissingPeers ? 'peer' : options.type,\n dedupe: !options.skipDedupe,\n import: !options.skipImport,\n updateExisting: options.updateExisting,\n savePrefix: options.savePrefix,\n addMissingPeers: options.addMissingPeers,\n };\n const components = await this.install.install(packages, installOpts);\n const endTime = Date.now();\n const executionTime = calculateTime(startTime, endTime);\n return `Successfully resolved dependencies for ${chalk.cyan(\n components.toArray().length.toString()\n )} component(s) in ${chalk.cyan(executionTime.toString())} seconds`;\n }\n}\n\nfunction calculateTime(startTime: number, endTime: number) {\n const diff = endTime - startTime;\n return diff / 1000;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAGA;EAAA;;EAAA;IAAA;EAAA;;EAAA;AAAA;;AAee,MAAMA,UAAN,CAAoC;EAkBjDC,WAAW,CACDC,OADC;EAET;AACJ;AACA;EACYC,SALC;EAOT;AACJ;AACA;EACYC,MAVC,EAWT;IAAA,KAVQF,OAUR,GAVQA,OAUR;IAAA,KANQC,SAMR,GANQA,SAMR;IAAA,KADQC,MACR,GADQA,MACR;IAAA,8CA5BK,uBA4BL;IAAA,qDA3BY,iCA2BZ;IAAA,6DAzBA,mHAyBA;IAAA,mDAxBU,CAAC;MAAEC,IAAI,EAAE,aAAR;MAAuBC,WAAW,EAAE;IAApC,CAAD,CAwBV;IAAA,+CAvBM,IAuBN;IAAA,+CAtBM,aAsBN;IAAA,iDArBQ,CACR,CAAC,GAAD,EAAM,qBAAN,EAA6B,mCAA7B,CADQ,EAER,CAAC,GAAD,EAAM,sBAAN,EAA8B,2DAA9B,CAFQ,EAGR,CAAC,GAAD,EAAM,kCAAN,EAA0C,gDAA1C,CAHQ,EAIR,CAAC,EAAD,EAAK,0BAAL,EAAiC,iEAAjC,CAJQ,EAKR,CAAC,EAAD,EAAK,0BAAL,EAAiC,4CAAjC,CALQ,EAMR,CAAC,EAAD,EAAK,0BAAL,EAAiC,6CAAjC,CANQ,EAOR,CAAC,EAAD,EAAK,qCAAL,EAA4C,uCAA5C,CAPQ,CAqBR;EAAE;;EAEQ,MAANC,MAAM,CAAC,CAACC,QAAQ,GAAG,EAAZ,CAAD,EAA8BC,OAA9B,EAA0D;IACpE,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAL,EAAlB;IACA,KAAKR,MAAL,CAAYS,OAAZ,CAAqB,oDAAmDC,gBAAA,CAAMC,IAAN,CAAW,KAAKZ,SAAL,CAAeE,IAA1B,CAAgC,GAAxG;IACA,MAAMW,WAAoC,GAAG;MAC3CC,QAAQ,EAAER,OAAO,CAACQ,QADyB;MAE3CC,aAAa,EAAET,OAAO,CAACU,eAAR,GAA0B,MAA1B,GAAmCV,OAAO,CAACW,IAFf;MAG3CC,MAAM,EAAE,CAACZ,OAAO,CAACa,UAH0B;MAI3CC,MAAM,EAAE,CAACd,OAAO,CAACe,UAJ0B;MAK3CC,cAAc,EAAEhB,OAAO,CAACgB,cALmB;MAM3CC,UAAU,EAAEjB,OAAO,CAACiB,UANuB;MAO3CP,eAAe,EAAEV,OAAO,CAACU;IAPkB,CAA7C;IASA,MAAMQ,UAAU,GAAG,MAAM,KAAKzB,OAAL,CAAaA,OAAb,CAAqBM,QAArB,EAA+BQ,WAA/B,CAAzB;IACA,MAAMY,OAAO,GAAGjB,IAAI,CAACC,GAAL,EAAhB;IACA,MAAMiB,aAAa,GAAGC,aAAa,CAACpB,SAAD,EAAYkB,OAAZ,CAAnC;IACA,OAAQ,0CAAyCd,gBAAA,CAAMC,IAAN,CAC/CY,UAAU,CAACI,OAAX,GAAqBC,MAArB,CAA4BC,QAA5B,EAD+C,CAE/C,oBAAmBnB,gBAAA,CAAMC,IAAN,CAAWc,aAAa,CAACI,QAAd,EAAX,CAAqC,UAF1D;EAGD;;AAjDgD;;;;AAoDnD,SAASH,aAAT,CAAuBpB,SAAvB,EAA0CkB,OAA1C,EAA2D;EACzD,MAAMM,IAAI,GAAGN,OAAO,GAAGlB,SAAvB;EACA,OAAOwB,IAAI,GAAG,IAAd;AACD"}
@@ -0,0 +1,76 @@
1
+ import { CommunityMain } from '@teambit/community';
2
+ import { CLIMain } from '@teambit/cli';
3
+ import { Workspace } from '@teambit/workspace';
4
+ import { VariantsMain } from '@teambit/variants';
5
+ import { ComponentMap } from '@teambit/component';
6
+ import { WorkspaceDependencyLifecycleType, DependencyResolverMain, LinkingOptions, LinkResults } from '@teambit/dependency-resolver';
7
+ import { Logger, LoggerMain } from '@teambit/logger';
8
+ export declare type WorkspaceLinkOptions = LinkingOptions;
9
+ export declare type WorkspaceInstallOptions = {
10
+ addMissingPeers?: boolean;
11
+ variants?: string;
12
+ lifecycleType?: WorkspaceDependencyLifecycleType;
13
+ dedupe: boolean;
14
+ import: boolean;
15
+ copyPeerToRuntimeOnRoot?: boolean;
16
+ copyPeerToRuntimeOnComponents?: boolean;
17
+ updateExisting: boolean;
18
+ savePrefix?: string;
19
+ };
20
+ export declare type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
21
+ export declare class InstallMain {
22
+ private dependencyResolver;
23
+ private logger;
24
+ private workspace;
25
+ private variants;
26
+ constructor(dependencyResolver: DependencyResolverMain, logger: Logger, workspace: Workspace, variants: VariantsMain);
27
+ /**
28
+ * Install dependencies for all components in the workspace
29
+ *
30
+ * @returns
31
+ * @memberof Workspace
32
+ */
33
+ install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>>;
34
+ private _addPackages;
35
+ private _installModules;
36
+ /**
37
+ * Updates out-of-date dependencies in the workspace.
38
+ *
39
+ * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.
40
+ */
41
+ updateDependencies(options: {
42
+ all: boolean;
43
+ }): Promise<ComponentMap<string>>;
44
+ private _getComponentsWithDependencyPolicies;
45
+ private _variantPatternsToDepPolicesDict;
46
+ private _updateVariantsPolicies;
47
+ private _saveManyComponentConfigFiles;
48
+ /**
49
+ * Uninstall the specified packages from dependencies.
50
+ *
51
+ * @param {string[]} the list of packages that should be removed from dependencies.
52
+ */
53
+ uninstallDependencies(packages: string[]): Promise<ComponentMap<string>>;
54
+ link(options?: WorkspaceLinkOptions): Promise<LinkResults>;
55
+ private importObjects;
56
+ /**
57
+ * Generate a filter to pass to the installer
58
+ * This will filter deps which are come from remotes which defined in scope.json
59
+ * those components comes from local remotes, usually doesn't have a package in a registry
60
+ * so no reason to try to install them (it will fail)
61
+ */
62
+ private generateFilterFnForDepsFromLocalRemote;
63
+ private getComponentsDirectory;
64
+ static slots: never[];
65
+ static dependencies: import("@teambit/harmony").Aspect[];
66
+ static runtime: import("@teambit/harmony").RuntimeDefinition;
67
+ static provider([dependencyResolver, workspace, loggerExt, variants, cli, community]: [
68
+ DependencyResolverMain,
69
+ Workspace,
70
+ LoggerMain,
71
+ VariantsMain,
72
+ CLIMain,
73
+ CommunityMain
74
+ ]): Promise<InstallMain>;
75
+ }
76
+ export default InstallMain;