@teambit/stash 1.0.173 → 1.0.175

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,8 +1,7 @@
1
1
  import { ComponentID, ComponentIdObj } from '@teambit/component-id';
2
- import { Ref } from '@teambit/legacy/dist/scope/objects';
3
2
  export type StashCompData = {
4
3
  id: ComponentID;
5
- hash: Ref;
4
+ hash: string;
6
5
  };
7
6
  export type StashCompDataWithIdObj = {
8
7
  id: ComponentIdObj;
@@ -11,13 +11,6 @@ function _componentId() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _objects() {
15
- const data = require("@teambit/legacy/dist/scope/objects");
16
- _objects = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
14
  class StashData {
22
15
  constructor(metadata, stashCompsData) {
23
16
  this.metadata = metadata;
@@ -30,9 +23,8 @@ class StashData {
30
23
  id,
31
24
  hash
32
25
  }) => ({
33
- // id: { scope: id.scope, name: id.fullName },
34
26
  id: id.changeVersion(undefined).toObject(),
35
- hash: hash.toString()
27
+ hash
36
28
  }))
37
29
  };
38
30
  }
@@ -41,7 +33,7 @@ class StashData {
41
33
  const id = _componentId().ComponentID.fromObject(compData.id);
42
34
  return {
43
35
  id,
44
- hash: _objects().Ref.from(compData.hash)
36
+ hash: compData.hash
45
37
  };
46
38
  }));
47
39
  return new StashData(obj.metadata, stashCompsData);
@@ -1 +1 @@
1
- {"version":3,"names":["_componentId","data","require","_objects","StashData","constructor","metadata","stashCompsData","toObject","map","id","hash","changeVersion","undefined","toString","fromObject","obj","Promise","all","compData","ComponentID","Ref","from","exports"],"sources":["stash-data.ts"],"sourcesContent":["import { ComponentID, ComponentIdObj } from '@teambit/component-id';\nimport { Ref } from '@teambit/legacy/dist/scope/objects';\n\nexport type StashCompData = { id: ComponentID; hash: Ref };\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(readonly metadata: StashMetadata, readonly stashCompsData: StashCompData[]) {}\n\n toObject(): StashDataObj {\n return {\n metadata: this.metadata,\n stashCompsData: this.stashCompsData.map(({ id, hash }) => ({\n // id: { scope: id.scope, name: id.fullName },\n id: id.changeVersion(undefined).toObject(),\n hash: hash.toString(),\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: Ref.from(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;AACA,SAAAE,SAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUO,MAAMG,SAAS,CAAC;EACrBC,WAAWA,CAAUC,QAAuB,EAAWC,cAA+B,EAAE;IAAA,KAAnED,QAAuB,GAAvBA,QAAuB;IAAA,KAAWC,cAA+B,GAA/BA,cAA+B;EAAG;EAEzFC,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;QACzD;QACAD,EAAE,EAAEA,EAAE,CAACE,aAAa,CAACC,SAAS,CAAC,CAACL,QAAQ,CAAC,CAAC;QAC1CG,IAAI,EAAEA,IAAI,CAACG,QAAQ,CAAC;MACtB,CAAC,CAAC;IACJ,CAAC;EACH;EAEA,aAAaC,UAAUA,CAACC,GAAwB,EAAsB;IACpE,MAAMT,cAAc,GAAG,MAAMU,OAAO,CAACC,GAAG,CACtCF,GAAG,CAACT,cAAc,CAACE,GAAG,CAAC,MAAOU,QAAQ,IAAK;MACzC,MAAMT,EAAE,GAAGU,0BAAW,CAACL,UAAU,CAACI,QAAQ,CAACT,EAAE,CAAC;MAC9C,OAAO;QACLA,EAAE;QACFC,IAAI,EAAEU,cAAG,CAACC,IAAI,CAACH,QAAQ,CAACR,IAAI;MAC9B,CAAC;IACH,CAAC,CACH,CAAC;IACD,OAAO,IAAIP,SAAS,CAACY,GAAG,CAACV,QAAQ,EAAEC,cAAc,CAAC;EACpD;AACF;AAACgB,OAAA,CAAAnB,SAAA,GAAAA,SAAA"}
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(readonly metadata: StashMetadata, readonly stashCompsData: StashCompData[]) {}\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,CAAUC,QAAuB,EAAWC,cAA+B,EAAE;IAAA,KAAnED,QAAuB,GAAvBA,QAAuB;IAAA,KAAWC,cAA+B,GAA/BA,cAA+B;EAAG;EAEzFC,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"}
@@ -1,8 +1,10 @@
1
+ import { MergeStrategy } from '@teambit/legacy/dist/consumer/versions-ops/merge-version';
1
2
  import { Command, CommandOptions } from '@teambit/cli';
2
3
  import { StashMain } from './stash.main.runtime';
3
4
  export declare class StashSaveCmd implements Command {
4
5
  private stash;
5
6
  name: string;
7
+ alias: string;
6
8
  description: string;
7
9
  group: string;
8
10
  options: CommandOptions;
@@ -13,7 +15,7 @@ export declare class StashSaveCmd implements Command {
13
15
  message?: string;
14
16
  }): Promise<string>;
15
17
  }
16
- export declare class StashLoadCmd implements Command {
18
+ export declare class StashListCmd implements Command {
17
19
  private stash;
18
20
  name: string;
19
21
  description: string;
@@ -23,18 +25,32 @@ export declare class StashLoadCmd implements Command {
23
25
  constructor(stash: StashMain);
24
26
  report(): Promise<string>;
25
27
  }
28
+ type StashLoadOpts = {
29
+ autoMergeResolve?: MergeStrategy;
30
+ manual?: boolean;
31
+ forceOurs?: boolean;
32
+ forceTheirs?: boolean;
33
+ };
34
+ export declare class StashLoadCmd implements Command {
35
+ private stash;
36
+ name: string;
37
+ alias: string;
38
+ description: string;
39
+ group: string;
40
+ options: CommandOptions;
41
+ loader: boolean;
42
+ constructor(stash: StashMain);
43
+ report([stashId]: [string], { autoMergeResolve, forceOurs, forceTheirs, manual }: StashLoadOpts): Promise<string>;
44
+ }
26
45
  export declare class StashCmd implements Command {
27
46
  private stash;
28
47
  name: string;
29
48
  description: string;
30
49
  group: string;
31
- private: boolean;
32
50
  options: CommandOptions;
33
51
  loader: boolean;
34
52
  commands: Command[];
35
53
  constructor(stash: StashMain);
36
- report(_arg: any, { pattern, message, }: {
37
- pattern?: string;
38
- message?: string;
39
- }): Promise<string>;
54
+ report([unrecognizedSubcommand]: [string]): Promise<string>;
40
55
  }
56
+ export {};
package/dist/stash.cmd.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.StashSaveCmd = exports.StashLoadCmd = exports.StashCmd = void 0;
6
+ exports.StashSaveCmd = exports.StashLoadCmd = exports.StashListCmd = exports.StashCmd = void 0;
7
7
  function _chalk() {
8
8
  const data = _interopRequireDefault(require("chalk"));
9
9
  _chalk = function () {
@@ -18,6 +18,13 @@ function _constants() {
18
18
  };
19
19
  return data;
20
20
  }
21
+ function _bitError() {
22
+ const data = require("@teambit/bit-error");
23
+ _bitError = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
21
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
29
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
30
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
@@ -26,6 +33,7 @@ class StashSaveCmd {
26
33
  constructor(stash) {
27
34
  this.stash = stash;
28
35
  _defineProperty(this, "name", 'save');
36
+ _defineProperty(this, "alias", 's');
29
37
  _defineProperty(this, "description", 'stash modified components');
30
38
  _defineProperty(this, "group", 'development');
31
39
  _defineProperty(this, "options", [['p', 'pattern', _constants().COMPONENT_PATTERN_HELP], ['m', 'message <string>', 'message to be attached to the stashed components']]);
@@ -43,17 +51,50 @@ class StashSaveCmd {
43
51
  }
44
52
  }
45
53
  exports.StashSaveCmd = StashSaveCmd;
46
- class StashLoadCmd {
54
+ class StashListCmd {
47
55
  constructor(stash) {
48
56
  this.stash = stash;
49
- _defineProperty(this, "name", 'load');
50
- _defineProperty(this, "description", 'load latest stash, checkout components and delete stash');
57
+ _defineProperty(this, "name", 'list');
58
+ _defineProperty(this, "description", 'list stash');
51
59
  _defineProperty(this, "group", 'development');
52
60
  _defineProperty(this, "options", []);
53
61
  _defineProperty(this, "loader", true);
54
62
  }
55
63
  async report() {
56
- const compIds = await this.stash.loadLatest();
64
+ const list = await this.stash.list();
65
+ return list.map(listItem => `${listItem.id} (${listItem.components.length} components) ${listItem.message || ''}`).join('\n');
66
+ }
67
+ }
68
+ exports.StashListCmd = StashListCmd;
69
+ class StashLoadCmd {
70
+ constructor(stash) {
71
+ this.stash = stash;
72
+ _defineProperty(this, "name", 'load [stash-id]');
73
+ _defineProperty(this, "alias", 'pop');
74
+ _defineProperty(this, "description", 'apply the changes according to the stash. if no stash-id provided, it loads the latest stash');
75
+ _defineProperty(this, "group", 'development');
76
+ _defineProperty(this, "options", [['', 'auto-merge-resolve <merge-strategy>', 'in case of merge conflict, resolve according to the provided strategy: [ours, theirs, manual]'], ['', 'manual', 'same as "--auto-merge-resolve manual". in case of merge conflict, write the files with the conflict markers'], ['', 'force-ours', 'do not merge, preserve local files as is'], ['', 'force-theirs', 'do not merge, just overwrite with incoming files']]);
77
+ _defineProperty(this, "loader", true);
78
+ }
79
+ async report([stashId], {
80
+ autoMergeResolve,
81
+ forceOurs,
82
+ forceTheirs,
83
+ manual
84
+ }) {
85
+ if (forceOurs && forceTheirs) {
86
+ throw new (_bitError().BitError)('please use either --force-ours or --force-theirs, not both');
87
+ }
88
+ if (autoMergeResolve && autoMergeResolve !== 'ours' && autoMergeResolve !== 'theirs' && autoMergeResolve !== 'manual') {
89
+ throw new (_bitError().BitError)('--auto-merge-resolve must be one of the following: [ours, theirs, manual]');
90
+ }
91
+ if (manual) autoMergeResolve = 'manual';
92
+ const checkoutProps = {
93
+ mergeStrategy: autoMergeResolve,
94
+ forceOurs,
95
+ forceTheirs
96
+ };
97
+ const compIds = await this.stash.loadLatest(checkoutProps, stashId);
57
98
  return _chalk().default.green(`checked out ${compIds.length} components according to the latest stash`);
58
99
  }
59
100
  }
@@ -61,23 +102,15 @@ exports.StashLoadCmd = StashLoadCmd;
61
102
  class StashCmd {
62
103
  constructor(stash) {
63
104
  this.stash = stash;
64
- _defineProperty(this, "name", 'stash [sub-command]');
65
- _defineProperty(this, "description", 'EXPERIMENTAL (more like a POC). stash modified components');
105
+ _defineProperty(this, "name", 'stash <sub-command>');
106
+ _defineProperty(this, "description", 'EXPERIMENTAL. stash modified components');
66
107
  _defineProperty(this, "group", 'development');
67
- _defineProperty(this, "private", true);
68
- // too early to make it public. it's still in a POC mode.
69
108
  _defineProperty(this, "options", [['p', 'pattern', _constants().COMPONENT_PATTERN_HELP], ['m', 'message <string>', 'message to be attached to the stashed components']]);
70
109
  _defineProperty(this, "loader", true);
71
110
  _defineProperty(this, "commands", []);
72
111
  }
73
- async report(_arg, {
74
- pattern,
75
- message
76
- }) {
77
- return new StashSaveCmd(this.stash).report(undefined, {
78
- pattern,
79
- message
80
- });
112
+ async report([unrecognizedSubcommand]) {
113
+ return _chalk().default.red(`"${unrecognizedSubcommand}" is not a subcommand of "stash", please run "bit stash --help" to list the subcommands`);
81
114
  }
82
115
  }
83
116
  exports.StashCmd = StashCmd;
@@ -1 +1 @@
1
- {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","StashSaveCmd","constructor","stash","COMPONENT_PATTERN_HELP","report","_arg","pattern","message","compIds","save","chalk","green","length","exports","StashLoadCmd","loadLatest","StashCmd","undefined"],"sources":["stash.cmd.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { COMPONENT_PATTERN_HELP } from '@teambit/legacy/dist/constants';\nimport { StashMain } from './stash.main.runtime';\n\nexport class StashSaveCmd implements Command {\n name = 'save';\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 StashLoadCmd implements Command {\n name = 'load';\n description = 'load latest stash, checkout components and delete stash';\n group = 'development';\n options = [] as CommandOptions;\n loader = true;\n\n constructor(private stash: StashMain) {}\n\n async report() {\n const compIds = await this.stash.loadLatest();\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 = 'EXPERIMENTAL (more like a POC). stash modified components';\n group = 'development';\n private = true; // too early to make it public. it's still in a POC mode.\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(\n _arg: any,\n {\n pattern,\n message,\n }: {\n pattern?: string;\n message?: string;\n }\n ) {\n return new StashSaveCmd(this.stash).report(undefined, { pattern, message });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_chalk","data","_interopRequireDefault","require","_constants","_bitError","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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/legacy/dist/consumer/versions-ops/merge-version';\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 '',\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 = 'EXPERIMENTAL. 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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"}
@@ -2,7 +2,12 @@ import { Workspace } from '@teambit/workspace';
2
2
  import { SnappingMain } from '@teambit/snapping';
3
3
  import { ComponentID } from '@teambit/component';
4
4
  import { CLIMain } from '@teambit/cli';
5
- import { CheckoutMain } from '@teambit/checkout';
5
+ import { CheckoutMain, CheckoutProps } from '@teambit/checkout';
6
+ type ListResult = {
7
+ id: string;
8
+ message?: string;
9
+ components: string[];
10
+ };
6
11
  export declare class StashMain {
7
12
  private workspace;
8
13
  private checkout;
@@ -13,7 +18,8 @@ export declare class StashMain {
13
18
  message?: string;
14
19
  pattern?: string;
15
20
  }): Promise<ComponentID[]>;
16
- loadLatest(): Promise<ComponentID[]>;
21
+ list(): Promise<ListResult[]>;
22
+ loadLatest(checkoutProps?: CheckoutProps, stashId?: string): Promise<ComponentID[]>;
17
23
  private addComponentDataToRepo;
18
24
  static slots: never[];
19
25
  static dependencies: import("@teambit/harmony").Aspect[];
@@ -39,6 +39,13 @@ function _cli() {
39
39
  };
40
40
  return data;
41
41
  }
42
+ function _objects() {
43
+ const data = require("@teambit/legacy/dist/scope/objects");
44
+ _objects = function () {
45
+ return data;
46
+ };
47
+ return data;
48
+ }
42
49
  function _checkout() {
43
50
  const data = require("@teambit/checkout");
44
51
  _checkout = function () {
@@ -74,6 +81,8 @@ function _stashFiles() {
74
81
  };
75
82
  return data;
76
83
  }
84
+ 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
+ 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; }
77
86
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
78
87
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
79
88
  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); }
@@ -103,7 +112,7 @@ class StashMain {
103
112
  const versionObj = await this.addComponentDataToRepo(comp);
104
113
  return {
105
114
  id: comp.id,
106
- hash: versionObj.hash()
115
+ hash: versionObj.hash().toString()
107
116
  };
108
117
  }));
109
118
  await this.workspace.scope.legacyScope.objects.persist();
@@ -121,30 +130,51 @@ class StashMain {
121
130
  });
122
131
  return modifiedCompIds;
123
132
  }
124
- async loadLatest() {
125
- const stashFile = await this.stashFiles.getLatestStashFile();
133
+ async list() {
134
+ const stashFiles = await this.stashFiles.getStashFiles();
135
+ return Promise.all(stashFiles.map(async file => {
136
+ const stashData = await this.stashFiles.getStashData(file);
137
+ return {
138
+ id: file.replace('.json', ''),
139
+ message: stashData.metadata.message,
140
+ components: stashData.stashCompsData.map(c => c.id.toString())
141
+ };
142
+ }));
143
+ }
144
+ async loadLatest(checkoutProps = {}, stashId) {
145
+ const stashFile = stashId ? `${stashId}.json` : await this.stashFiles.getLatestStashFile();
126
146
  if (!stashFile) {
127
147
  throw new (_bitError().BitError)('no stashed components found');
128
148
  }
129
149
  const stashData = await this.stashFiles.getStashData(stashFile);
130
150
  const compIds = stashData.stashCompsData.map(c => c.id);
131
151
  const versionPerId = stashData.stashCompsData.map(c => c.id.changeVersion(c.hash.toString()));
132
- await this.checkout.checkout({
152
+ await this.checkout.checkout(_objectSpread(_objectSpread({}, checkoutProps), {}, {
133
153
  ids: compIds,
134
154
  skipNpmInstall: true,
135
155
  versionPerId,
136
- skipUpdatingBitmap: true
137
- });
156
+ skipUpdatingBitmap: true,
157
+ promptMergeOptions: true,
158
+ loadStash: true
159
+ }));
138
160
  await this.stashFiles.deleteStashFile(stashFile);
139
161
  return compIds;
140
162
  }
141
163
  async addComponentDataToRepo(component) {
164
+ const previousVersion = component.getSnapHash();
142
165
  const consumerComponent = component.state._consumer.clone();
143
166
  consumerComponent.setNewVersion();
144
167
  const {
145
168
  version,
146
169
  files
147
170
  } = await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(consumerComponent);
171
+ if (previousVersion) {
172
+ // set the parent, we need it for the "stash-load" to function as the "base" version for the three-way-merge.
173
+ const modelComponent = consumerComponent.modelComponent;
174
+ if (!modelComponent) throw new Error(`unable to find ModelComponent for ${consumerComponent.id.toString()}`);
175
+ const parent = _objects().Ref.from(previousVersion);
176
+ version.addAsOnlyParent(parent);
177
+ }
148
178
  const repo = this.workspace.scope.legacyScope.objects;
149
179
  repo.add(version);
150
180
  files.forEach(file => repo.add(file.file));
@@ -153,7 +183,7 @@ class StashMain {
153
183
  static async provider([cli, workspace, checkout, snapping]) {
154
184
  const stashMain = new StashMain(workspace, checkout, snapping);
155
185
  const stashCmd = new (_stash2().StashCmd)(stashMain);
156
- stashCmd.commands = [new (_stash2().StashSaveCmd)(stashMain), new (_stash2().StashLoadCmd)(stashMain)];
186
+ stashCmd.commands = [new (_stash2().StashSaveCmd)(stashMain), new (_stash2().StashLoadCmd)(stashMain), new (_stash2().StashListCmd)(stashMain)];
157
187
  cli.register(stashCmd);
158
188
  return stashMain;
159
189
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_workspace","data","require","_snapping","_bitError","_lodash","_cli","_checkout","_stash","_stash2","_stashData","_stashFiles","_defineProperty","obj","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","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","length","consumeComponents","state","_consumer","_addFlattenedDependenciesToComponents","hashPerId","versionObj","addComponentDataToRepo","id","hash","scope","legacyScope","objects","persist","stashData","StashData","message","saveStashData","modifiedCompIds","c","ids","skipNpmInstall","reset","loadLatest","stashFile","getLatestStashFile","BitError","getStashData","stashCompsData","versionPerId","changeVersion","toString","skipUpdatingBitmap","deleteStashFile","component","consumerComponent","clone","setNewVersion","version","files","sources","consumerComponentToVersion","repo","add","forEach","file","provider","cli","stashMain","stashCmd","StashCmd","commands","StashSaveCmd","StashLoadCmd","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 { CheckoutAspect, CheckoutMain } from '@teambit/checkout';\nimport { StashAspect } from './stash.aspect';\nimport { StashCmd, StashLoadCmd, StashSaveCmd } from './stash.cmd';\nimport { StashData } from './stash-data';\nimport { StashFiles } from './stash-files';\n\nexport class StashMain {\n private stashFiles: StashFiles;\n constructor(private workspace: Workspace, private checkout: CheckoutMain, private snapping: SnappingMain) {\n this.stashFiles = new StashFiles(workspace);\n }\n\n async save(options: { message?: string; pattern?: string }): Promise<ComponentID[]> {\n const compIds = options?.pattern\n ? await this.workspace.idsByPattern(options?.pattern)\n : await 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() };\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 loadLatest() {\n const stashFile = 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 ids: compIds,\n skipNpmInstall: true,\n versionPerId,\n skipUpdatingBitmap: true,\n });\n\n await this.stashFiles.deleteStashFile(stashFile);\n\n return compIds;\n }\n\n private async addComponentDataToRepo(component: Component) {\n const consumerComponent = component.state._consumer.clone() as ConsumerComponent;\n consumerComponent.setNewVersion();\n const { version, files } = await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(\n consumerComponent\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)];\n cli.register(stashCmd);\n return stashMain;\n }\n}\n\nStashAspect.addRuntime(StashMain);\n\nexport default StashMain;\n"],"mappings":"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"}
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","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","String","Symbol","toPrimitive","call","TypeError","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(private workspace: Workspace, private checkout: CheckoutMain, private snapping: SnappingMain) {\n this.stashFiles = new StashFiles(workspace);\n }\n\n async save(options: { message?: string; pattern?: string }): Promise<ComponentID[]> {\n const compIds = options?.pattern\n ? await this.workspace.idsByPattern(options?.pattern)\n : await 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 } = await this.workspace.scope.legacyScope.sources.consumerComponentToVersion(\n consumerComponent\n );\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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/stash",
3
- "version": "1.0.173",
3
+ "version": "1.0.175",
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.173"
9
+ "version": "1.0.175"
10
10
  },
11
11
  "dependencies": {
12
12
  "fs-extra": "10.0.0",
@@ -16,11 +16,11 @@
16
16
  "@teambit/component-id": "1.2.0",
17
17
  "@teambit/harmony": "0.4.6",
18
18
  "@teambit/bit-error": "0.0.404",
19
- "@teambit/workspace": "1.0.173",
19
+ "@teambit/workspace": "1.0.175",
20
+ "@teambit/checkout": "1.0.175",
20
21
  "@teambit/cli": "0.0.851",
21
- "@teambit/checkout": "1.0.173",
22
- "@teambit/component": "1.0.173",
23
- "@teambit/snapping": "1.0.173"
22
+ "@teambit/component": "1.0.175",
23
+ "@teambit/snapping": "1.0.175"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@types/fs-extra": "9.0.7",