@teambit/stash 1.0.447 → 1.0.449

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.
@@ -1,12 +1,15 @@
1
1
  import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
- export type StashCompData = {
3
- id: ComponentID;
2
+ type StashCompBase = {
4
3
  hash: string;
4
+ isNew: boolean;
5
+ bitmapEntry: Record<string, any>;
5
6
  };
7
+ export type StashCompData = {
8
+ id: ComponentID;
9
+ } & StashCompBase;
6
10
  export type StashCompDataWithIdObj = {
7
11
  id: ComponentIdObj;
8
- hash: string;
9
- };
12
+ } & StashCompBase;
10
13
  export type StashMetadata = {
11
14
  message?: string;
12
15
  };
@@ -21,3 +24,4 @@ export declare class StashData {
21
24
  toObject(): StashDataObj;
22
25
  static fromObject(obj: Record<string, any>): Promise<StashData>;
23
26
  }
27
+ export {};
@@ -21,10 +21,14 @@ class StashData {
21
21
  metadata: this.metadata,
22
22
  stashCompsData: this.stashCompsData.map(({
23
23
  id,
24
- hash
24
+ hash,
25
+ bitmapEntry,
26
+ isNew
25
27
  }) => ({
26
28
  id: id.changeVersion(undefined).toObject(),
27
- hash
29
+ hash,
30
+ bitmapEntry,
31
+ isNew
28
32
  }))
29
33
  };
30
34
  }
@@ -33,7 +37,9 @@ class StashData {
33
37
  const id = _componentId().ComponentID.fromObject(compData.id);
34
38
  return {
35
39
  id,
36
- hash: compData.hash
40
+ hash: compData.hash,
41
+ bitmapEntry: compData.bitmapEntry,
42
+ isNew: compData.isNew
37
43
  };
38
44
  }));
39
45
  return new StashData(obj.metadata, stashCompsData);
@@ -1 +1 @@
1
- {"version":3,"names":["_componentId","data","require","StashData","constructor","metadata","stashCompsData","toObject","map","id","hash","changeVersion","undefined","fromObject","obj","Promise","all","compData","ComponentID","exports"],"sources":["stash-data.ts"],"sourcesContent":["import { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\nexport type StashCompData = { id: ComponentID; hash: string };\nexport type StashCompDataWithIdObj = { id: ComponentIdObj; hash: string };\nexport type StashMetadata = { message?: string };\nexport type StashDataObj = {\n metadata: StashMetadata;\n stashCompsData: StashCompDataWithIdObj[];\n};\n\nexport class StashData {\n constructor(\n readonly metadata: StashMetadata,\n readonly stashCompsData: StashCompData[]\n ) {}\n\n toObject(): StashDataObj {\n return {\n metadata: this.metadata,\n stashCompsData: this.stashCompsData.map(({ id, hash }) => ({\n id: id.changeVersion(undefined).toObject(),\n hash,\n })),\n };\n }\n\n static async fromObject(obj: Record<string, any>): Promise<StashData> {\n const stashCompsData = await Promise.all(\n obj.stashCompsData.map(async (compData) => {\n const id = ComponentID.fromObject(compData.id);\n return {\n id,\n hash: compData.hash,\n };\n })\n );\n return new StashData(obj.metadata, stashCompsData);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUO,MAAME,SAAS,CAAC;EACrBC,WAAWA,CACAC,QAAuB,EACvBC,cAA+B,EACxC;IAAA,KAFSD,QAAuB,GAAvBA,QAAuB;IAAA,KACvBC,cAA+B,GAA/BA,cAA+B;EACvC;EAEHC,QAAQA,CAAA,EAAiB;IACvB,OAAO;MACLF,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,cAAc,EAAE,IAAI,CAACA,cAAc,CAACE,GAAG,CAAC,CAAC;QAAEC,EAAE;QAAEC;MAAK,CAAC,MAAM;QACzDD,EAAE,EAAEA,EAAE,CAACE,aAAa,CAACC,SAAS,CAAC,CAACL,QAAQ,CAAC,CAAC;QAC1CG;MACF,CAAC,CAAC;IACJ,CAAC;EACH;EAEA,aAAaG,UAAUA,CAACC,GAAwB,EAAsB;IACpE,MAAMR,cAAc,GAAG,MAAMS,OAAO,CAACC,GAAG,CACtCF,GAAG,CAACR,cAAc,CAACE,GAAG,CAAC,MAAOS,QAAQ,IAAK;MACzC,MAAMR,EAAE,GAAGS,0BAAW,CAACL,UAAU,CAACI,QAAQ,CAACR,EAAE,CAAC;MAC9C,OAAO;QACLA,EAAE;QACFC,IAAI,EAAEO,QAAQ,CAACP;MACjB,CAAC;IACH,CAAC,CACH,CAAC;IACD,OAAO,IAAIP,SAAS,CAACW,GAAG,CAACT,QAAQ,EAAEC,cAAc,CAAC;EACpD;AACF;AAACa,OAAA,CAAAhB,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_componentId","data","require","StashData","constructor","metadata","stashCompsData","toObject","map","id","hash","bitmapEntry","isNew","changeVersion","undefined","fromObject","obj","Promise","all","compData","ComponentID","exports"],"sources":["stash-data.ts"],"sourcesContent":["import { ComponentID, ComponentIdObj } from '@teambit/component-id';\n\ntype StashCompBase = { hash: string; isNew: boolean; bitmapEntry: Record<string, any> };\nexport type StashCompData = { id: ComponentID } & StashCompBase;\nexport type StashCompDataWithIdObj = { id: ComponentIdObj } & StashCompBase;\nexport type StashMetadata = { message?: string };\nexport type StashDataObj = {\n metadata: StashMetadata;\n stashCompsData: StashCompDataWithIdObj[];\n};\n\nexport class StashData {\n constructor(\n readonly metadata: StashMetadata,\n readonly stashCompsData: StashCompData[]\n ) {}\n\n toObject(): StashDataObj {\n return {\n metadata: this.metadata,\n stashCompsData: this.stashCompsData.map(({ id, hash, bitmapEntry, isNew }) => ({\n id: id.changeVersion(undefined).toObject(),\n hash,\n bitmapEntry,\n isNew,\n })),\n };\n }\n\n static async fromObject(obj: Record<string, any>): Promise<StashData> {\n const stashCompsData = await Promise.all(\n obj.stashCompsData.map(async (compData) => {\n const id = ComponentID.fromObject(compData.id);\n return {\n id,\n hash: compData.hash,\n bitmapEntry: compData.bitmapEntry,\n isNew: compData.isNew,\n };\n })\n );\n return new StashData(obj.metadata, stashCompsData);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,aAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,YAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAWO,MAAME,SAAS,CAAC;EACrBC,WAAWA,CACAC,QAAuB,EACvBC,cAA+B,EACxC;IAAA,KAFSD,QAAuB,GAAvBA,QAAuB;IAAA,KACvBC,cAA+B,GAA/BA,cAA+B;EACvC;EAEHC,QAAQA,CAAA,EAAiB;IACvB,OAAO;MACLF,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,cAAc,EAAE,IAAI,CAACA,cAAc,CAACE,GAAG,CAAC,CAAC;QAAEC,EAAE;QAAEC,IAAI;QAAEC,WAAW;QAAEC;MAAM,CAAC,MAAM;QAC7EH,EAAE,EAAEA,EAAE,CAACI,aAAa,CAACC,SAAS,CAAC,CAACP,QAAQ,CAAC,CAAC;QAC1CG,IAAI;QACJC,WAAW;QACXC;MACF,CAAC,CAAC;IACJ,CAAC;EACH;EAEA,aAAaG,UAAUA,CAACC,GAAwB,EAAsB;IACpE,MAAMV,cAAc,GAAG,MAAMW,OAAO,CAACC,GAAG,CACtCF,GAAG,CAACV,cAAc,CAACE,GAAG,CAAC,MAAOW,QAAQ,IAAK;MACzC,MAAMV,EAAE,GAAGW,0BAAW,CAACL,UAAU,CAACI,QAAQ,CAACV,EAAE,CAAC;MAC9C,OAAO;QACLA,EAAE;QACFC,IAAI,EAAES,QAAQ,CAACT,IAAI;QACnBC,WAAW,EAAEQ,QAAQ,CAACR,WAAW;QACjCC,KAAK,EAAEO,QAAQ,CAACP;MAClB,CAAC;IACH,CAAC,CACH,CAAC;IACD,OAAO,IAAIT,SAAS,CAACa,GAAG,CAACX,QAAQ,EAAEC,cAAc,CAAC;EACpD;AACF;AAACe,OAAA,CAAAlB,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -10,9 +10,10 @@ export declare class StashSaveCmd implements Command {
10
10
  options: CommandOptions;
11
11
  loader: boolean;
12
12
  constructor(stash: StashMain);
13
- report(_arg: any, { pattern, message, }: {
13
+ report(_arg: any, { pattern, message, includeNew, }: {
14
14
  pattern?: string;
15
15
  message?: string;
16
+ includeNew?: boolean;
16
17
  }): Promise<string>;
17
18
  }
18
19
  export declare class StashListCmd implements Command {
package/dist/stash.cmd.js CHANGED
@@ -36,16 +36,18 @@ class StashSaveCmd {
36
36
  _defineProperty(this, "alias", 's');
37
37
  _defineProperty(this, "description", 'stash modified components');
38
38
  _defineProperty(this, "group", 'development');
39
- _defineProperty(this, "options", [['p', 'pattern', _constants().COMPONENT_PATTERN_HELP], ['m', 'message <string>', 'message to be attached to the stashed components']]);
39
+ _defineProperty(this, "options", [['p', 'pattern', _constants().COMPONENT_PATTERN_HELP], ['', 'include-new', 'EXPERIMENTAL. by default, only modified components are stashed. use this flag to include new components'], ['m', 'message <string>', 'message to be attached to the stashed components']]);
40
40
  _defineProperty(this, "loader", true);
41
41
  }
42
42
  async report(_arg, {
43
43
  pattern,
44
- message
44
+ message,
45
+ includeNew
45
46
  }) {
46
47
  const compIds = await this.stash.save({
47
48
  pattern,
48
- message
49
+ message,
50
+ includeNew
49
51
  });
50
52
  return _chalk().default.green(`stashed ${compIds.length} components`);
51
53
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","StashSaveCmd","constructor","stash","COMPONENT_PATTERN_HELP","report","_arg","pattern","message","compIds","save","chalk","green","length","exports","StashListCmd","list","map","listItem","id","components","join","StashLoadCmd","stashId","autoMergeResolve","forceOurs","forceTheirs","manual","BitError","checkoutProps","mergeStrategy","loadLatest","StashCmd","unrecognizedSubcommand","red"],"sources":["stash.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport { MergeStrategy } from '@teambit/merging';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { CheckoutProps } from '@teambit/checkout';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { BitError } from '@teambit/bit-error';\nimport { StashMain } from './stash.main.runtime';\n\nexport class StashSaveCmd implements Command {\n name = 'save';\n alias = 's';\n description = 'stash modified components';\n group = 'development';\n options = [\n ['p', 'pattern', COMPONENT_PATTERN_HELP],\n ['m', 'message <string>', 'message to be attached to the stashed components'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report(\n _arg: any,\n {\n pattern,\n message,\n }: {\n pattern?: string;\n message?: string;\n }\n ) {\n const compIds = await this.stash.save({ pattern, message });\n return chalk.green(`stashed ${compIds.length} components`);\n }\n}\n\nexport class StashListCmd implements Command {\n name = 'list';\n description = 'list stash';\n group = 'development';\n options = [] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report() {\n const list = await this.stash.list();\n return list\n .map((listItem) => `${listItem.id} (${listItem.components.length} components) ${listItem.message || ''}`)\n .join('\\n');\n }\n}\n\ntype StashLoadOpts = {\n autoMergeResolve?: MergeStrategy;\n manual?: boolean;\n forceOurs?: boolean;\n forceTheirs?: boolean;\n};\n\nexport class StashLoadCmd implements Command {\n name = 'load [stash-id]';\n alias = 'pop';\n description = 'apply the changes according to the stash. if no stash-id provided, it loads the latest stash';\n group = 'development';\n options = [\n [\n 'r',\n 'auto-merge-resolve <merge-strategy>',\n 'in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual]',\n ],\n [\n '',\n 'manual',\n 'same as \"--auto-merge-resolve manual\". in case of merge conflict, write the files with the conflict markers',\n ],\n ['', 'force-ours', 'do not merge, preserve local files as is'],\n ['', 'force-theirs', 'do not merge, just overwrite with incoming files'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report([stashId]: [string], { autoMergeResolve, forceOurs, forceTheirs, manual }: StashLoadOpts) {\n if (forceOurs && forceTheirs) {\n throw new BitError('please use either --force-ours or --force-theirs, not both');\n }\n if (\n autoMergeResolve &&\n autoMergeResolve !== 'ours' &&\n autoMergeResolve !== 'theirs' &&\n autoMergeResolve !== 'manual'\n ) {\n throw new BitError('--auto-merge-resolve must be one of the following: [ours, theirs, manual]');\n }\n if (manual) autoMergeResolve = 'manual';\n\n const checkoutProps: CheckoutProps = {\n mergeStrategy: autoMergeResolve,\n forceOurs,\n forceTheirs,\n };\n const compIds = await this.stash.loadLatest(checkoutProps, stashId);\n return chalk.green(`checked out ${compIds.length} components according to the latest stash`);\n }\n}\n\nexport class StashCmd implements Command {\n name = 'stash <sub-command>';\n description = 'stash modified components';\n group = 'development';\n options = [\n ['p', 'pattern', COMPONENT_PATTERN_HELP],\n ['m', 'message <string>', 'message to be attached to the stashed components'],\n ] as CommandOptions;\n loader = true;\n commands: Command[] = [];\n\n constructor(private stash: StashMain) {}\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"stash\", please run \"bit stash --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_bitError","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","StashSaveCmd","constructor","stash","COMPONENT_PATTERN_HELP","report","_arg","pattern","message","includeNew","compIds","save","chalk","green","length","exports","StashListCmd","list","map","listItem","id","components","join","StashLoadCmd","stashId","autoMergeResolve","forceOurs","forceTheirs","manual","BitError","checkoutProps","mergeStrategy","loadLatest","StashCmd","unrecognizedSubcommand","red"],"sources":["stash.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport { MergeStrategy } from '@teambit/merging';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { CheckoutProps } from '@teambit/checkout';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { BitError } from '@teambit/bit-error';\nimport { StashMain } from './stash.main.runtime';\n\nexport class StashSaveCmd implements Command {\n name = 'save';\n alias = 's';\n description = 'stash modified components';\n group = 'development';\n options = [\n ['p', 'pattern', COMPONENT_PATTERN_HELP],\n [\n '',\n 'include-new',\n 'EXPERIMENTAL. by default, only modified components are stashed. use this flag to include new components',\n ],\n ['m', 'message <string>', 'message to be attached to the stashed components'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report(\n _arg: any,\n {\n pattern,\n message,\n includeNew,\n }: {\n pattern?: string;\n message?: string;\n includeNew?: boolean;\n }\n ) {\n const compIds = await this.stash.save({ pattern, message, includeNew });\n return chalk.green(`stashed ${compIds.length} components`);\n }\n}\n\nexport class StashListCmd implements Command {\n name = 'list';\n description = 'list stash';\n group = 'development';\n options = [] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report() {\n const list = await this.stash.list();\n return list\n .map((listItem) => `${listItem.id} (${listItem.components.length} components) ${listItem.message || ''}`)\n .join('\\n');\n }\n}\n\ntype StashLoadOpts = {\n autoMergeResolve?: MergeStrategy;\n manual?: boolean;\n forceOurs?: boolean;\n forceTheirs?: boolean;\n};\n\nexport class StashLoadCmd implements Command {\n name = 'load [stash-id]';\n alias = 'pop';\n description = 'apply the changes according to the stash. if no stash-id provided, it loads the latest stash';\n group = 'development';\n options = [\n [\n 'r',\n 'auto-merge-resolve <merge-strategy>',\n 'in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual]',\n ],\n [\n '',\n 'manual',\n 'same as \"--auto-merge-resolve manual\". in case of merge conflict, write the files with the conflict markers',\n ],\n ['', 'force-ours', 'do not merge, preserve local files as is'],\n ['', 'force-theirs', 'do not merge, just overwrite with incoming files'],\n ] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report([stashId]: [string], { autoMergeResolve, forceOurs, forceTheirs, manual }: StashLoadOpts) {\n if (forceOurs && forceTheirs) {\n throw new BitError('please use either --force-ours or --force-theirs, not both');\n }\n if (\n autoMergeResolve &&\n autoMergeResolve !== 'ours' &&\n autoMergeResolve !== 'theirs' &&\n autoMergeResolve !== 'manual'\n ) {\n throw new BitError('--auto-merge-resolve must be one of the following: [ours, theirs, manual]');\n }\n if (manual) autoMergeResolve = 'manual';\n\n const checkoutProps: CheckoutProps = {\n mergeStrategy: autoMergeResolve,\n forceOurs,\n forceTheirs,\n };\n const compIds = await this.stash.loadLatest(checkoutProps, stashId);\n return chalk.green(`checked out ${compIds.length} components according to the latest stash`);\n }\n}\n\nexport class StashCmd implements Command {\n name = 'stash <sub-command>';\n description = 'stash modified components';\n group = 'development';\n options = [\n ['p', 'pattern', COMPONENT_PATTERN_HELP],\n ['m', 'message <string>', 'message to be attached to the stashed components'],\n ] as CommandOptions;\n loader = true;\n commands: Command[] = [];\n\n constructor(private stash: StashMain) {}\n\n async report([unrecognizedSubcommand]: [string]) {\n return chalk.red(\n `\"${unrecognizedSubcommand}\" is not a subcommand of \"stash\", please run \"bit stash --help\" to list the subcommands`\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import { SnappingMain } from '@teambit/snapping';
3
3
  import { ComponentID } from '@teambit/component';
4
4
  import { CLIMain } from '@teambit/cli';
5
5
  import { CheckoutMain, CheckoutProps } from '@teambit/checkout';
6
+ import { RemoveMain } from '@teambit/remove';
6
7
  type ListResult = {
7
8
  id: string;
8
9
  message?: string;
@@ -12,11 +13,13 @@ export declare class StashMain {
12
13
  private workspace;
13
14
  private checkout;
14
15
  private snapping;
16
+ private remove;
15
17
  private stashFiles;
16
- constructor(workspace: Workspace, checkout: CheckoutMain, snapping: SnappingMain);
18
+ constructor(workspace: Workspace, checkout: CheckoutMain, snapping: SnappingMain, remove: RemoveMain);
17
19
  save(options: {
18
20
  message?: string;
19
21
  pattern?: string;
22
+ includeNew?: boolean;
20
23
  }): Promise<ComponentID[]>;
21
24
  list(): Promise<ListResult[]>;
22
25
  loadLatest(checkoutProps?: CheckoutProps, stashId?: string): Promise<ComponentID[]>;
@@ -24,6 +27,12 @@ export declare class StashMain {
24
27
  static slots: never[];
25
28
  static dependencies: import("@teambit/harmony").Aspect[];
26
29
  static runtime: import("@teambit/harmony").RuntimeDefinition;
27
- static provider([cli, workspace, checkout, snapping]: [CLIMain, Workspace, CheckoutMain, SnappingMain]): Promise<StashMain>;
30
+ static provider([cli, workspace, checkout, snapping, remove]: [
31
+ CLIMain,
32
+ Workspace,
33
+ CheckoutMain,
34
+ SnappingMain,
35
+ RemoveMain
36
+ ]): Promise<StashMain>;
28
37
  }
29
38
  export default StashMain;
@@ -81,38 +81,61 @@ function _stashFiles() {
81
81
  };
82
82
  return data;
83
83
  }
84
+ function _harmonyModules() {
85
+ const data = require("@teambit/harmony.modules.get-basic-log");
86
+ _harmonyModules = function () {
87
+ return data;
88
+ };
89
+ return data;
90
+ }
91
+ function _remove() {
92
+ const data = require("@teambit/remove");
93
+ _remove = function () {
94
+ return data;
95
+ };
96
+ return data;
97
+ }
84
98
  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; }
85
99
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
86
100
  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; }
87
101
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
88
102
  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); }
89
103
  class StashMain {
90
- constructor(workspace, checkout, snapping) {
104
+ constructor(workspace, checkout, snapping, remove) {
91
105
  this.workspace = workspace;
92
106
  this.checkout = checkout;
93
107
  this.snapping = snapping;
108
+ this.remove = remove;
94
109
  _defineProperty(this, "stashFiles", void 0);
95
110
  this.stashFiles = new (_stashFiles().StashFiles)(workspace);
96
111
  }
97
112
  async save(options) {
98
113
  const compIds = options?.pattern ? await this.workspace.idsByPattern(options?.pattern) : this.workspace.listIds();
99
114
  const comps = await this.workspace.getMany(compIds);
115
+ const newComps = [];
100
116
  const modifiedComps = (0, _lodash().compact)(await Promise.all(comps.map(async comp => {
101
- if (!comp.head) return undefined; // it's new
117
+ if (!comp.head) {
118
+ // it's a new component
119
+ if (options.includeNew) newComps.push(comp);
120
+ return undefined;
121
+ }
102
122
  const isModified = await this.workspace.isModified(comp);
103
123
  if (isModified) return comp;
104
124
  return undefined;
105
125
  })));
106
- if (!modifiedComps.length) return [];
126
+ const allComps = [...modifiedComps, ...newComps];
127
+ if (!allComps.length) return [];
107
128
 
108
129
  // per comp: create Version object, save it in the local scope and return the hash. don't save anything in the .bitmap
109
- const consumeComponents = modifiedComps.map(comp => comp.state._consumer);
130
+ const consumeComponents = allComps.map(comp => comp.state._consumer);
110
131
  await this.snapping._addFlattenedDependenciesToComponents(consumeComponents);
111
- const hashPerId = await Promise.all(modifiedComps.map(async comp => {
132
+ const hashPerId = await Promise.all(allComps.map(async comp => {
112
133
  const versionObj = await this.addComponentDataToRepo(comp);
113
134
  return {
114
135
  id: comp.id,
115
- hash: versionObj.hash().toString()
136
+ hash: versionObj.hash().toString(),
137
+ bitmapEntry: this.workspace.bitMap.getBitmapEntry(comp.id).toPlainObject(),
138
+ isNew: !comp.id.hasVersion()
116
139
  };
117
140
  }));
118
141
  await this.workspace.scope.legacyScope.objects.persist();
@@ -128,7 +151,12 @@ class StashMain {
128
151
  skipNpmInstall: true,
129
152
  reset: true
130
153
  });
131
- return modifiedCompIds;
154
+ // remove new components from the workspace
155
+ const newCompIds = newComps.map(c => c.id);
156
+ if (newComps.length) {
157
+ await this.remove.removeLocallyByIds(newCompIds);
158
+ }
159
+ return [...modifiedCompIds, ...newCompIds];
132
160
  }
133
161
  async list() {
134
162
  const stashFiles = await this.stashFiles.getStashFiles();
@@ -147,23 +175,32 @@ class StashMain {
147
175
  throw new (_bitError().BitError)('no stashed components found');
148
176
  }
149
177
  const stashData = await this.stashFiles.getStashData(stashFile);
150
- const compIds = stashData.stashCompsData.map(c => c.id);
151
- const versionPerId = stashData.stashCompsData.map(c => c.id.changeVersion(c.hash.toString()));
178
+ const stashModifiedCompsData = stashData.stashCompsData.filter(c => !c.isNew);
179
+ const stashNewCompsData = stashData.stashCompsData.filter(c => c.isNew);
180
+ const compIds = stashModifiedCompsData.map(c => c.id);
181
+ const versionPerId = stashModifiedCompsData.map(c => c.id.changeVersion(c.hash.toString()));
182
+ const stashedBitmapEntries = stashNewCompsData.map(s => _objectSpread(_objectSpread({}, s.bitmapEntry), {}, {
183
+ id: s.id.changeVersion(s.hash.toString())
184
+ }));
152
185
  await this.checkout.checkout(_objectSpread(_objectSpread({}, checkoutProps), {}, {
153
186
  ids: compIds,
154
187
  skipNpmInstall: true,
155
188
  versionPerId,
156
189
  skipUpdatingBitmap: true,
157
190
  promptMergeOptions: true,
158
- loadStash: true
191
+ loadStash: true,
192
+ stashedBitmapEntries
159
193
  }));
160
194
  await this.stashFiles.deleteStashFile(stashFile);
161
- return compIds;
195
+ return [...compIds, ...stashNewCompsData.map(c => c.id)];
162
196
  }
163
197
  async addComponentDataToRepo(component) {
164
198
  const previousVersion = component.getSnapHash();
165
199
  const consumerComponent = component.state._consumer.clone();
166
200
  consumerComponent.setNewVersion();
201
+ if (!consumerComponent.log) {
202
+ consumerComponent.log = await (0, _harmonyModules().getBasicLog)();
203
+ }
167
204
  const {
168
205
  version,
169
206
  files
@@ -180,8 +217,8 @@ class StashMain {
180
217
  files.forEach(file => repo.add(file.file));
181
218
  return version;
182
219
  }
183
- static async provider([cli, workspace, checkout, snapping]) {
184
- const stashMain = new StashMain(workspace, checkout, snapping);
220
+ static async provider([cli, workspace, checkout, snapping, remove]) {
221
+ const stashMain = new StashMain(workspace, checkout, snapping, remove);
185
222
  const stashCmd = new (_stash2().StashCmd)(stashMain);
186
223
  stashCmd.commands = [new (_stash2().StashSaveCmd)(stashMain), new (_stash2().StashLoadCmd)(stashMain), new (_stash2().StashListCmd)(stashMain)];
187
224
  cli.register(stashCmd);
@@ -190,7 +227,7 @@ class StashMain {
190
227
  }
191
228
  exports.StashMain = StashMain;
192
229
  _defineProperty(StashMain, "slots", []);
193
- _defineProperty(StashMain, "dependencies", [_cli().CLIAspect, _workspace().WorkspaceAspect, _checkout().CheckoutAspect, _snapping().SnappingAspect]);
230
+ _defineProperty(StashMain, "dependencies", [_cli().CLIAspect, _workspace().WorkspaceAspect, _checkout().CheckoutAspect, _snapping().SnappingAspect, _remove().RemoveAspect]);
194
231
  _defineProperty(StashMain, "runtime", _cli().MainRuntime);
195
232
  _stash().StashAspect.addRuntime(StashMain);
196
233
  var _default = exports.default = StashMain;
@@ -1 +1 @@
1
- {"version":3,"names":["_workspace","data","require","_snapping","_bitError","_lodash","_cli","_objects","_checkout","_stash","_stash2","_stashData","_stashFiles","ownKeys","e","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","StashMain","constructor","workspace","checkout","snapping","stashFiles","StashFiles","save","options","compIds","pattern","idsByPattern","listIds","comps","getMany","modifiedComps","compact","Promise","all","map","comp","head","undefined","isModified","consumeComponents","state","_consumer","_addFlattenedDependenciesToComponents","hashPerId","versionObj","addComponentDataToRepo","id","hash","toString","scope","legacyScope","objects","persist","stashData","StashData","message","saveStashData","modifiedCompIds","c","ids","skipNpmInstall","reset","list","getStashFiles","file","getStashData","replace","metadata","components","stashCompsData","loadLatest","checkoutProps","stashId","stashFile","getLatestStashFile","BitError","versionPerId","changeVersion","skipUpdatingBitmap","promptMergeOptions","loadStash","deleteStashFile","component","previousVersion","getSnapHash","consumerComponent","clone","setNewVersion","version","files","sources","consumerComponentToVersion","modelComponent","Error","parent","Ref","from","addAsOnlyParent","repo","add","provider","cli","stashMain","stashCmd","StashCmd","commands","StashSaveCmd","StashLoadCmd","StashListCmd","register","exports","CLIAspect","WorkspaceAspect","CheckoutAspect","SnappingAspect","MainRuntime","StashAspect","addRuntime","_default","default"],"sources":["stash.main.runtime.ts"],"sourcesContent":["import { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { Component, ComponentID } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { compact } from 'lodash';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { CheckoutAspect, CheckoutMain, CheckoutProps } from '@teambit/checkout';\nimport { StashAspect } from './stash.aspect';\nimport { StashCmd, StashListCmd, StashLoadCmd, StashSaveCmd } from './stash.cmd';\nimport { StashData } from './stash-data';\nimport { StashFiles } from './stash-files';\n\ntype ListResult = {\n id: string;\n message?: string;\n components: string[];\n};\n\nexport class StashMain {\n private stashFiles: StashFiles;\n constructor(\n private workspace: Workspace,\n private checkout: CheckoutMain,\n private snapping: SnappingMain\n ) {\n this.stashFiles = new StashFiles(workspace);\n }\n\n async save(options: { message?: string; pattern?: string }): Promise<ComponentID[]> {\n const compIds = options?.pattern ? await this.workspace.idsByPattern(options?.pattern) : this.workspace.listIds();\n const comps = await this.workspace.getMany(compIds);\n const modifiedComps = compact(\n await Promise.all(\n comps.map(async (comp) => {\n if (!comp.head) return undefined; // it's new\n const isModified = await this.workspace.isModified(comp);\n if (isModified) return comp;\n return undefined;\n })\n )\n );\n if (!modifiedComps.length) return [];\n\n // per comp: create Version object, save it in the local scope and return the hash. don't save anything in the .bitmap\n const consumeComponents = modifiedComps.map((comp) => comp.state._consumer);\n await this.snapping._addFlattenedDependenciesToComponents(consumeComponents);\n const hashPerId = await Promise.all(\n modifiedComps.map(async (comp) => {\n const versionObj = await this.addComponentDataToRepo(comp);\n return { id: comp.id, hash: versionObj.hash().toString() };\n })\n );\n await this.workspace.scope.legacyScope.objects.persist();\n const stashData = new StashData({ message: options?.message }, hashPerId);\n await this.stashFiles.saveStashData(stashData);\n\n // reset all modified components\n const modifiedCompIds = modifiedComps.map((c) => c.id);\n await this.checkout.checkout({\n ids: modifiedCompIds,\n skipNpmInstall: true,\n reset: true,\n });\n\n return modifiedCompIds;\n }\n\n async list(): Promise<ListResult[]> {\n const stashFiles = await this.stashFiles.getStashFiles();\n return Promise.all(\n stashFiles.map(async (file) => {\n const stashData = await this.stashFiles.getStashData(file);\n return {\n id: file.replace('.json', ''),\n message: stashData.metadata.message,\n components: stashData.stashCompsData.map((c) => c.id.toString()),\n };\n })\n );\n }\n\n async loadLatest(checkoutProps: CheckoutProps = {}, stashId?: string) {\n const stashFile = stashId ? `${stashId}.json` : await this.stashFiles.getLatestStashFile();\n if (!stashFile) {\n throw new BitError('no stashed components found');\n }\n const stashData = await this.stashFiles.getStashData(stashFile);\n const compIds = stashData.stashCompsData.map((c) => c.id);\n const versionPerId = stashData.stashCompsData.map((c) => c.id.changeVersion(c.hash.toString()));\n\n await this.checkout.checkout({\n ...checkoutProps,\n ids: compIds,\n skipNpmInstall: true,\n versionPerId,\n skipUpdatingBitmap: true,\n promptMergeOptions: true,\n loadStash: true,\n });\n\n await this.stashFiles.deleteStashFile(stashFile);\n\n return compIds;\n }\n\n private async addComponentDataToRepo(component: Component) {\n const previousVersion = component.getSnapHash();\n const consumerComponent = component.state._consumer.clone() as ConsumerComponent;\n consumerComponent.setNewVersion();\n const { version, files } =\n await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(consumerComponent);\n if (previousVersion) {\n // set the parent, we need it for the \"stash-load\" to function as the \"base\" version for the three-way-merge.\n const modelComponent = consumerComponent.modelComponent;\n if (!modelComponent) throw new Error(`unable to find ModelComponent for ${consumerComponent.id.toString()}`);\n const parent = Ref.from(previousVersion);\n version.addAsOnlyParent(parent);\n }\n\n const repo = this.workspace.scope.legacyScope.objects;\n repo.add(version);\n files.forEach((file) => repo.add(file.file));\n return version;\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, CheckoutAspect, SnappingAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, checkout, snapping]: [CLIMain, Workspace, CheckoutMain, SnappingMain]) {\n const stashMain = new StashMain(workspace, checkout, snapping);\n const stashCmd = new StashCmd(stashMain);\n stashCmd.commands = [new StashSaveCmd(stashMain), new StashLoadCmd(stashMain), new StashListCmd(stashMain)];\n cli.register(stashCmd);\n return stashMain;\n }\n}\n\nStashAspect.addRuntime(StashMain);\n\nexport default StashMain;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_workspace","data","require","_snapping","_bitError","_lodash","_cli","_objects","_checkout","_stash","_stash2","_stashData","_stashFiles","_harmonyModules","_remove","ownKeys","e","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","StashMain","constructor","workspace","checkout","snapping","remove","stashFiles","StashFiles","save","options","compIds","pattern","idsByPattern","listIds","comps","getMany","newComps","modifiedComps","compact","Promise","all","map","comp","head","includeNew","undefined","isModified","allComps","consumeComponents","state","_consumer","_addFlattenedDependenciesToComponents","hashPerId","versionObj","addComponentDataToRepo","id","hash","toString","bitmapEntry","bitMap","getBitmapEntry","toPlainObject","isNew","hasVersion","scope","legacyScope","objects","persist","stashData","StashData","message","saveStashData","modifiedCompIds","c","ids","skipNpmInstall","reset","newCompIds","removeLocallyByIds","list","getStashFiles","file","getStashData","replace","metadata","components","stashCompsData","loadLatest","checkoutProps","stashId","stashFile","getLatestStashFile","BitError","stashModifiedCompsData","stashNewCompsData","versionPerId","changeVersion","stashedBitmapEntries","s","skipUpdatingBitmap","promptMergeOptions","loadStash","deleteStashFile","component","previousVersion","getSnapHash","consumerComponent","clone","setNewVersion","log","getBasicLog","version","files","sources","consumerComponentToVersion","modelComponent","Error","parent","Ref","from","addAsOnlyParent","repo","add","provider","cli","stashMain","stashCmd","StashCmd","commands","StashSaveCmd","StashLoadCmd","StashListCmd","register","exports","CLIAspect","WorkspaceAspect","CheckoutAspect","SnappingAspect","RemoveAspect","MainRuntime","StashAspect","addRuntime","_default","default"],"sources":["stash.main.runtime.ts"],"sourcesContent":["import { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport { SnappingAspect, SnappingMain } from '@teambit/snapping';\nimport { Component, ComponentID } from '@teambit/component';\nimport { BitError } from '@teambit/bit-error';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport { compact } from 'lodash';\nimport { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\nimport { CheckoutAspect, CheckoutMain, CheckoutProps } from '@teambit/checkout';\nimport { StashAspect } from './stash.aspect';\nimport { StashCmd, StashListCmd, StashLoadCmd, StashSaveCmd } from './stash.cmd';\nimport { StashData } from './stash-data';\nimport { StashFiles } from './stash-files';\nimport { getBasicLog } from '@teambit/harmony.modules.get-basic-log';\nimport { RemoveAspect, RemoveMain } from '@teambit/remove';\n\ntype ListResult = {\n id: string;\n message?: string;\n components: string[];\n};\n\nexport class StashMain {\n private stashFiles: StashFiles;\n constructor(\n private workspace: Workspace,\n private checkout: CheckoutMain,\n private snapping: SnappingMain,\n private remove: RemoveMain\n ) {\n this.stashFiles = new StashFiles(workspace);\n }\n\n async save(options: { message?: string; pattern?: string; includeNew?: boolean }): Promise<ComponentID[]> {\n const compIds = options?.pattern ? await this.workspace.idsByPattern(options?.pattern) : this.workspace.listIds();\n const comps = await this.workspace.getMany(compIds);\n const newComps: Component[] = [];\n const modifiedComps = compact(\n await Promise.all(\n comps.map(async (comp) => {\n if (!comp.head) {\n // it's a new component\n if (options.includeNew) newComps.push(comp);\n return undefined;\n }\n const isModified = await this.workspace.isModified(comp);\n if (isModified) return comp;\n return undefined;\n })\n )\n );\n const allComps = [...modifiedComps, ...newComps];\n if (!allComps.length) return [];\n\n // per comp: create Version object, save it in the local scope and return the hash. don't save anything in the .bitmap\n const consumeComponents = allComps.map((comp) => comp.state._consumer);\n await this.snapping._addFlattenedDependenciesToComponents(consumeComponents);\n const hashPerId = await Promise.all(\n allComps.map(async (comp) => {\n const versionObj = await this.addComponentDataToRepo(comp);\n return {\n id: comp.id,\n hash: versionObj.hash().toString(),\n bitmapEntry: this.workspace.bitMap.getBitmapEntry(comp.id).toPlainObject(),\n isNew: !comp.id.hasVersion(),\n };\n })\n );\n await this.workspace.scope.legacyScope.objects.persist();\n const stashData = new StashData({ message: options?.message }, hashPerId);\n await this.stashFiles.saveStashData(stashData);\n\n // reset all modified components\n const modifiedCompIds = modifiedComps.map((c) => c.id);\n await this.checkout.checkout({\n ids: modifiedCompIds,\n skipNpmInstall: true,\n reset: true,\n });\n // remove new components from the workspace\n const newCompIds = newComps.map((c) => c.id);\n if (newComps.length) {\n await this.remove.removeLocallyByIds(newCompIds);\n }\n\n return [...modifiedCompIds, ...newCompIds];\n }\n\n async list(): Promise<ListResult[]> {\n const stashFiles = await this.stashFiles.getStashFiles();\n return Promise.all(\n stashFiles.map(async (file) => {\n const stashData = await this.stashFiles.getStashData(file);\n return {\n id: file.replace('.json', ''),\n message: stashData.metadata.message,\n components: stashData.stashCompsData.map((c) => c.id.toString()),\n };\n })\n );\n }\n\n async loadLatest(checkoutProps: CheckoutProps = {}, stashId?: string) {\n const stashFile = stashId ? `${stashId}.json` : await this.stashFiles.getLatestStashFile();\n if (!stashFile) {\n throw new BitError('no stashed components found');\n }\n const stashData = await this.stashFiles.getStashData(stashFile);\n const stashModifiedCompsData = stashData.stashCompsData.filter((c) => !c.isNew);\n const stashNewCompsData = stashData.stashCompsData.filter((c) => c.isNew);\n const compIds = stashModifiedCompsData.map((c) => c.id);\n const versionPerId = stashModifiedCompsData.map((c) => c.id.changeVersion(c.hash.toString()));\n const stashedBitmapEntries = stashNewCompsData.map((s) => ({\n ...s.bitmapEntry,\n id: s.id.changeVersion(s.hash.toString()),\n }));\n\n await this.checkout.checkout({\n ...checkoutProps,\n ids: compIds,\n skipNpmInstall: true,\n versionPerId,\n skipUpdatingBitmap: true,\n promptMergeOptions: true,\n loadStash: true,\n stashedBitmapEntries,\n });\n\n await this.stashFiles.deleteStashFile(stashFile);\n\n return [...compIds, ...stashNewCompsData.map((c) => c.id)];\n }\n\n private async addComponentDataToRepo(component: Component) {\n const previousVersion = component.getSnapHash();\n const consumerComponent = component.state._consumer.clone() as ConsumerComponent;\n consumerComponent.setNewVersion();\n if (!consumerComponent.log) {\n consumerComponent.log = await getBasicLog();\n }\n const { version, files } =\n await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(consumerComponent);\n if (previousVersion) {\n // set the parent, we need it for the \"stash-load\" to function as the \"base\" version for the three-way-merge.\n const modelComponent = consumerComponent.modelComponent;\n if (!modelComponent) throw new Error(`unable to find ModelComponent for ${consumerComponent.id.toString()}`);\n const parent = Ref.from(previousVersion);\n version.addAsOnlyParent(parent);\n }\n\n const repo = this.workspace.scope.legacyScope.objects;\n repo.add(version);\n files.forEach((file) => repo.add(file.file));\n return version;\n }\n\n static slots = [];\n static dependencies = [CLIAspect, WorkspaceAspect, CheckoutAspect, SnappingAspect, RemoveAspect];\n static runtime = MainRuntime;\n static async provider([cli, workspace, checkout, snapping, remove]: [\n CLIMain,\n Workspace,\n CheckoutMain,\n SnappingMain,\n RemoveMain,\n ]) {\n const stashMain = new StashMain(workspace, checkout, snapping, remove);\n const stashCmd = new StashCmd(stashMain);\n stashCmd.commands = [new StashSaveCmd(stashMain), new StashLoadCmd(stashMain), new StashListCmd(stashMain)];\n cli.register(stashCmd);\n return stashMain;\n }\n}\n\nStashAspect.addRuntime(StashMain);\n\nexport default StashMain;\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/stash",
3
- "version": "1.0.447",
3
+ "version": "1.0.449",
4
4
  "homepage": "https://bit.cloud/teambit/component/stash",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.component",
8
8
  "name": "stash",
9
- "version": "1.0.447"
9
+ "version": "1.0.449"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -16,12 +16,14 @@
16
16
  "@teambit/component-id": "1.2.2",
17
17
  "@teambit/harmony": "0.4.6",
18
18
  "@teambit/bit-error": "0.0.404",
19
- "@teambit/workspace": "1.0.447",
20
- "@teambit/checkout": "1.0.447",
21
- "@teambit/cli": "0.0.1024",
22
- "@teambit/merging": "1.0.447",
23
- "@teambit/component": "1.0.447",
24
- "@teambit/snapping": "1.0.447"
19
+ "@teambit/workspace": "1.0.449",
20
+ "@teambit/checkout": "1.0.449",
21
+ "@teambit/cli": "0.0.1026",
22
+ "@teambit/merging": "1.0.449",
23
+ "@teambit/component": "1.0.449",
24
+ "@teambit/harmony.modules.get-basic-log": "0.0.1",
25
+ "@teambit/remove": "1.0.449",
26
+ "@teambit/snapping": "1.0.449"
25
27
  },
26
28
  "devDependencies": {
27
29
  "@types/fs-extra": "9.0.7",