@teambit/generator 0.0.881 → 0.0.883
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-generator.js +1 -61
- package/dist/component-generator.js.map +1 -1
- package/dist/create.cmd.js +0 -13
- package/dist/create.cmd.js.map +1 -1
- package/dist/generator.aspect.js +0 -5
- package/dist/generator.aspect.js.map +1 -1
- package/dist/generator.composition.js +0 -6
- package/dist/generator.composition.js.map +1 -1
- package/dist/generator.graphql.js +4 -13
- package/dist/generator.graphql.js.map +1 -1
- package/dist/generator.main.runtime.js +8 -119
- package/dist/generator.main.runtime.js.map +1 -1
- package/dist/index.js +0 -9
- package/dist/index.js.map +1 -1
- package/dist/new.cmd.js +0 -18
- package/dist/new.cmd.js.map +1 -1
- package/dist/starter.plugin.js +0 -11
- package/dist/starter.plugin.js.map +1 -1
- package/dist/templates/component-generator/files/aspect-file.js +0 -1
- package/dist/templates/component-generator/files/aspect-file.js.map +1 -1
- package/dist/templates/component-generator/files/docs-file.js +0 -1
- package/dist/templates/component-generator/files/docs-file.js.map +1 -1
- package/dist/templates/component-generator/files/index.js +0 -1
- package/dist/templates/component-generator/files/index.js.map +1 -1
- package/dist/templates/component-generator/files/main-runtime.js +0 -1
- package/dist/templates/component-generator/files/main-runtime.js.map +1 -1
- package/dist/templates/component-generator/index.js +0 -13
- package/dist/templates/component-generator/index.js.map +1 -1
- package/dist/templates/starter/files/docs-file.js +0 -1
- package/dist/templates/starter/files/docs-file.js.map +1 -1
- package/dist/templates/starter/files/git-ignore-tpl.js +0 -1
- package/dist/templates/starter/files/git-ignore-tpl.js.map +1 -1
- package/dist/templates/starter/files/index.js +0 -1
- package/dist/templates/starter/files/index.js.map +1 -1
- package/dist/templates/starter/files/readme-tpl.js +0 -1
- package/dist/templates/starter/files/readme-tpl.js.map +1 -1
- package/dist/templates/starter/files/starter.js +0 -1
- package/dist/templates/starter/files/starter.js.map +1 -1
- package/dist/templates/starter/files/workspace-config-tpl.js +0 -1
- package/dist/templates/starter/files/workspace-config-tpl.js.map +1 -1
- package/dist/templates/starter/index.js +0 -19
- package/dist/templates/starter/index.js.map +1 -1
- package/dist/templates/workspace-generator/index.js +0 -11
- package/dist/templates/workspace-generator/index.js.map +1 -1
- package/dist/templates.cmd.js +4 -22
- package/dist/templates.cmd.js.map +1 -1
- package/dist/workspace-generator.js +3 -74
- package/dist/workspace-generator.js.map +1 -1
- package/package-tar/teambit-generator-0.0.883.tgz +0 -0
- package/package.json +14 -14
- package/{preview-1666409808293.js → preview-1666582798766.js} +2 -2
- package/package-tar/teambit-generator-0.0.881.tgz +0 -0
package/dist/templates.cmd.js
CHANGED
|
@@ -1,46 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.symbol.description.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.promise.js");
|
|
8
|
-
|
|
9
6
|
Object.defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
12
9
|
exports.TemplatesCmd = void 0;
|
|
13
|
-
|
|
14
10
|
function _defineProperty2() {
|
|
15
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
12
|
_defineProperty2 = function () {
|
|
18
13
|
return data;
|
|
19
14
|
};
|
|
20
|
-
|
|
21
15
|
return data;
|
|
22
16
|
}
|
|
23
|
-
|
|
24
17
|
function _chalk() {
|
|
25
18
|
const data = _interopRequireDefault(require("chalk"));
|
|
26
|
-
|
|
27
19
|
_chalk = function () {
|
|
28
20
|
return data;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
22
|
return data;
|
|
32
23
|
}
|
|
33
|
-
|
|
34
24
|
function _lodash() {
|
|
35
25
|
const data = require("lodash");
|
|
36
|
-
|
|
37
26
|
_lodash = function () {
|
|
38
27
|
return data;
|
|
39
28
|
};
|
|
40
|
-
|
|
41
29
|
return data;
|
|
42
30
|
}
|
|
43
|
-
|
|
44
31
|
class TemplatesCmd {
|
|
45
32
|
constructor(generator) {
|
|
46
33
|
this.generator = generator;
|
|
@@ -51,35 +38,30 @@ class TemplatesCmd {
|
|
|
51
38
|
(0, _defineProperty2().default)(this, "loader", true);
|
|
52
39
|
(0, _defineProperty2().default)(this, "group", 'development');
|
|
53
40
|
(0, _defineProperty2().default)(this, "options", [['s', 'show-all', 'show hidden templates']]);
|
|
54
|
-
}
|
|
55
|
-
|
|
41
|
+
}
|
|
56
42
|
|
|
43
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
44
|
async report(args, templatesOptions) {
|
|
58
|
-
let results = await this.generator.listTemplates();
|
|
45
|
+
let results = await this.generator.listTemplates();
|
|
59
46
|
|
|
47
|
+
// Make sure that we don't list hidden templates
|
|
60
48
|
if (!templatesOptions.showAll) {
|
|
61
49
|
results = results.filter(template => !template.hidden);
|
|
62
50
|
}
|
|
63
|
-
|
|
64
51
|
const grouped = (0, _lodash().groupBy)(results, 'aspectId');
|
|
65
52
|
const titleStr = this.generator.isRunningInsideWorkspace() ? `The following template(s) are available with the command bit create: \nExample - bit create <template-name> <component-name>` : `The following template(s) are available with the command bit new: \nExample - bit new <template-name> <workspace-name>`;
|
|
66
|
-
|
|
67
53
|
const title = _chalk().default.green(`\n${titleStr}\n`);
|
|
68
|
-
|
|
69
54
|
const templateOutput = template => {
|
|
70
55
|
const desc = template.description ? ` (${template.description})` : '';
|
|
71
56
|
return ` ${template.name}${_chalk().default.dim(desc)}`;
|
|
72
57
|
};
|
|
73
|
-
|
|
74
58
|
const output = Object.keys(grouped).map(aspectId => {
|
|
75
59
|
const names = grouped[aspectId].map(templateOutput).join('\n');
|
|
76
60
|
return `${_chalk().default.blue.bold(aspectId)}\n${names}\n`;
|
|
77
61
|
}).join('\n');
|
|
78
62
|
return title + output;
|
|
79
63
|
}
|
|
80
|
-
|
|
81
64
|
}
|
|
82
|
-
|
|
83
65
|
exports.TemplatesCmd = TemplatesCmd;
|
|
84
66
|
|
|
85
67
|
//# sourceMappingURL=templates.cmd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TemplatesCmd","constructor","generator","report","args","templatesOptions","results","listTemplates","showAll","filter","template","hidden","grouped","groupBy","titleStr","isRunningInsideWorkspace","title","chalk","green","templateOutput","desc","description","name","dim","output","Object","keys","map","aspectId","names","join","blue","bold"],"sources":["templates.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { groupBy } from 'lodash';\nimport { GeneratorMain, TemplateDescriptor } from './generator.main.runtime';\n\nexport type TemplatesOptions = {\n showAll?: boolean;\n};\n\nexport class TemplatesCmd implements Command {\n name = 'templates';\n description = 'list templates for \"bit create\" and \"bit new\"';\n extendedDescription =\n 'list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)';\n alias = '';\n loader = true;\n group = 'development';\n options = [['s', 'show-all', 'show hidden templates']] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [], templatesOptions: TemplatesOptions) {\n let results = await this.generator.listTemplates();\n\n // Make sure that we don't list hidden templates\n if (!templatesOptions.showAll) {\n results = results.filter((template) => !template.hidden);\n }\n\n const grouped = groupBy(results, 'aspectId');\n const titleStr = this.generator.isRunningInsideWorkspace()\n ? `The following template(s) are available with the command bit create: \\nExample - bit create <template-name> <component-name>`\n : `The following template(s) are available with the command bit new: \\nExample - bit new <template-name> <workspace-name>`;\n const title = chalk.green(`\\n${titleStr}\\n`);\n const templateOutput = (template: TemplateDescriptor) => {\n const desc = template.description ? ` (${template.description})` : '';\n return ` ${template.name}${chalk.dim(desc)}`;\n };\n const output = Object.keys(grouped)\n .map((aspectId) => {\n const names = grouped[aspectId].map(templateOutput).join('\\n');\n return `${chalk.blue.bold(aspectId)}\\n${names}\\n`;\n })\n .join('\\n');\n return title + output;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["TemplatesCmd","constructor","generator","report","args","templatesOptions","results","listTemplates","showAll","filter","template","hidden","grouped","groupBy","titleStr","isRunningInsideWorkspace","title","chalk","green","templateOutput","desc","description","name","dim","output","Object","keys","map","aspectId","names","join","blue","bold"],"sources":["templates.cmd.ts"],"sourcesContent":["import { Command, CommandOptions } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { groupBy } from 'lodash';\nimport { GeneratorMain, TemplateDescriptor } from './generator.main.runtime';\n\nexport type TemplatesOptions = {\n showAll?: boolean;\n};\n\nexport class TemplatesCmd implements Command {\n name = 'templates';\n description = 'list templates for \"bit create\" and \"bit new\"';\n extendedDescription =\n 'list components templates when inside bit-workspace (for bit-create), otherwise, list workspace templates (for bit-new)';\n alias = '';\n loader = true;\n group = 'development';\n options = [['s', 'show-all', 'show hidden templates']] as CommandOptions;\n\n constructor(private generator: GeneratorMain) {}\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n async report(args: [], templatesOptions: TemplatesOptions) {\n let results = await this.generator.listTemplates();\n\n // Make sure that we don't list hidden templates\n if (!templatesOptions.showAll) {\n results = results.filter((template) => !template.hidden);\n }\n\n const grouped = groupBy(results, 'aspectId');\n const titleStr = this.generator.isRunningInsideWorkspace()\n ? `The following template(s) are available with the command bit create: \\nExample - bit create <template-name> <component-name>`\n : `The following template(s) are available with the command bit new: \\nExample - bit new <template-name> <workspace-name>`;\n const title = chalk.green(`\\n${titleStr}\\n`);\n const templateOutput = (template: TemplateDescriptor) => {\n const desc = template.description ? ` (${template.description})` : '';\n return ` ${template.name}${chalk.dim(desc)}`;\n };\n const output = Object.keys(grouped)\n .map((aspectId) => {\n const names = grouped[aspectId].map(templateOutput).join('\\n');\n return `${chalk.blue.bold(aspectId)}\\n${names}\\n`;\n })\n .join('\\n');\n return title + output;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AACA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAOO,MAAMA,YAAY,CAAoB;EAU3CC,WAAW,CAASC,SAAwB,EAAE;IAAA,KAA1BA,SAAwB,GAAxBA,SAAwB;IAAA,8CATrC,WAAW;IAAA,qDACJ,+CAA+C;IAAA,6DAE3D,yHAAyH;IAAA,+CACnH,EAAE;IAAA,gDACD,IAAI;IAAA,+CACL,aAAa;IAAA,iDACX,CAAC,CAAC,GAAG,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;EAEP;;EAE/C;EACA,MAAMC,MAAM,CAACC,IAAQ,EAAEC,gBAAkC,EAAE;IACzD,IAAIC,OAAO,GAAG,MAAM,IAAI,CAACJ,SAAS,CAACK,aAAa,EAAE;;IAElD;IACA,IAAI,CAACF,gBAAgB,CAACG,OAAO,EAAE;MAC7BF,OAAO,GAAGA,OAAO,CAACG,MAAM,CAAEC,QAAQ,IAAK,CAACA,QAAQ,CAACC,MAAM,CAAC;IAC1D;IAEA,MAAMC,OAAO,GAAG,IAAAC,iBAAO,EAACP,OAAO,EAAE,UAAU,CAAC;IAC5C,MAAMQ,QAAQ,GAAG,IAAI,CAACZ,SAAS,CAACa,wBAAwB,EAAE,GACrD,+HAA8H,GAC9H,wHAAuH;IAC5H,MAAMC,KAAK,GAAGC,gBAAK,CAACC,KAAK,CAAE,KAAIJ,QAAS,IAAG,CAAC;IAC5C,MAAMK,cAAc,GAAIT,QAA4B,IAAK;MACvD,MAAMU,IAAI,GAAGV,QAAQ,CAACW,WAAW,GAAI,KAAIX,QAAQ,CAACW,WAAY,GAAE,GAAG,EAAE;MACrE,OAAQ,OAAMX,QAAQ,CAACY,IAAK,GAAEL,gBAAK,CAACM,GAAG,CAACH,IAAI,CAAE,EAAC;IACjD,CAAC;IACD,MAAMI,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACd,OAAO,CAAC,CAChCe,GAAG,CAAEC,QAAQ,IAAK;MACjB,MAAMC,KAAK,GAAGjB,OAAO,CAACgB,QAAQ,CAAC,CAACD,GAAG,CAACR,cAAc,CAAC,CAACW,IAAI,CAAC,IAAI,CAAC;MAC9D,OAAQ,GAAEb,gBAAK,CAACc,IAAI,CAACC,IAAI,CAACJ,QAAQ,CAAE,KAAIC,KAAM,IAAG;IACnD,CAAC,CAAC,CACDC,IAAI,CAAC,IAAI,CAAC;IACb,OAAOd,KAAK,GAAGQ,MAAM;EACvB;AACF;AAAC"}
|
|
@@ -1,186 +1,131 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
require("core-js/modules/es.array.iterator.js");
|
|
6
|
-
|
|
7
5
|
require("core-js/modules/es.promise.js");
|
|
8
|
-
|
|
9
6
|
Object.defineProperty(exports, "__esModule", {
|
|
10
7
|
value: true
|
|
11
8
|
});
|
|
12
9
|
exports.WorkspaceGenerator = void 0;
|
|
13
|
-
|
|
14
10
|
function _defineProperty2() {
|
|
15
11
|
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
|
|
17
12
|
_defineProperty2 = function () {
|
|
18
13
|
return data;
|
|
19
14
|
};
|
|
20
|
-
|
|
21
15
|
return data;
|
|
22
16
|
}
|
|
23
|
-
|
|
24
17
|
function _fsExtra() {
|
|
25
18
|
const data = _interopRequireDefault(require("fs-extra"));
|
|
26
|
-
|
|
27
19
|
_fsExtra = function () {
|
|
28
20
|
return data;
|
|
29
21
|
};
|
|
30
|
-
|
|
31
22
|
return data;
|
|
32
23
|
}
|
|
33
|
-
|
|
34
24
|
function _bit() {
|
|
35
25
|
const data = require("@teambit/bit");
|
|
36
|
-
|
|
37
26
|
_bit = function () {
|
|
38
27
|
return data;
|
|
39
28
|
};
|
|
40
|
-
|
|
41
29
|
return data;
|
|
42
30
|
}
|
|
43
|
-
|
|
44
31
|
function _execa() {
|
|
45
32
|
const data = _interopRequireDefault(require("execa"));
|
|
46
|
-
|
|
47
33
|
_execa = function () {
|
|
48
34
|
return data;
|
|
49
35
|
};
|
|
50
|
-
|
|
51
36
|
return data;
|
|
52
37
|
}
|
|
53
|
-
|
|
54
38
|
function _pMapSeries() {
|
|
55
39
|
const data = _interopRequireDefault(require("p-map-series"));
|
|
56
|
-
|
|
57
40
|
_pMapSeries = function () {
|
|
58
41
|
return data;
|
|
59
42
|
};
|
|
60
|
-
|
|
61
43
|
return data;
|
|
62
44
|
}
|
|
63
|
-
|
|
64
45
|
function _ui() {
|
|
65
46
|
const data = _interopRequireDefault(require("@teambit/ui"));
|
|
66
|
-
|
|
67
47
|
_ui = function () {
|
|
68
48
|
return data;
|
|
69
49
|
};
|
|
70
|
-
|
|
71
50
|
return data;
|
|
72
51
|
}
|
|
73
|
-
|
|
74
52
|
function _logger() {
|
|
75
53
|
const data = require("@teambit/logger");
|
|
76
|
-
|
|
77
54
|
_logger = function () {
|
|
78
55
|
return data;
|
|
79
56
|
};
|
|
80
|
-
|
|
81
57
|
return data;
|
|
82
58
|
}
|
|
83
|
-
|
|
84
59
|
function _workspace() {
|
|
85
60
|
const data = require("@teambit/workspace");
|
|
86
|
-
|
|
87
61
|
_workspace = function () {
|
|
88
62
|
return data;
|
|
89
63
|
};
|
|
90
|
-
|
|
91
64
|
return data;
|
|
92
65
|
}
|
|
93
|
-
|
|
94
66
|
function _forking() {
|
|
95
67
|
const data = _interopRequireDefault(require("@teambit/forking"));
|
|
96
|
-
|
|
97
68
|
_forking = function () {
|
|
98
69
|
return data;
|
|
99
70
|
};
|
|
100
|
-
|
|
101
71
|
return data;
|
|
102
72
|
}
|
|
103
|
-
|
|
104
73
|
function _consumer() {
|
|
105
74
|
const data = require("@teambit/legacy/dist/api/consumer");
|
|
106
|
-
|
|
107
75
|
_consumer = function () {
|
|
108
76
|
return data;
|
|
109
77
|
};
|
|
110
|
-
|
|
111
78
|
return data;
|
|
112
79
|
}
|
|
113
|
-
|
|
114
80
|
function _importer() {
|
|
115
81
|
const data = _interopRequireDefault(require("@teambit/importer"));
|
|
116
|
-
|
|
117
82
|
_importer = function () {
|
|
118
83
|
return data;
|
|
119
84
|
};
|
|
120
|
-
|
|
121
85
|
return data;
|
|
122
86
|
}
|
|
123
|
-
|
|
124
87
|
function _compiler() {
|
|
125
88
|
const data = require("@teambit/compiler");
|
|
126
|
-
|
|
127
89
|
_compiler = function () {
|
|
128
90
|
return data;
|
|
129
91
|
};
|
|
130
|
-
|
|
131
92
|
return data;
|
|
132
93
|
}
|
|
133
|
-
|
|
134
94
|
function _gitExecutable() {
|
|
135
95
|
const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/git/git-executable"));
|
|
136
|
-
|
|
137
96
|
_gitExecutable = function () {
|
|
138
97
|
return data;
|
|
139
98
|
};
|
|
140
|
-
|
|
141
99
|
return data;
|
|
142
100
|
}
|
|
143
|
-
|
|
144
101
|
function _gitNotFound() {
|
|
145
102
|
const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/git/exceptions/git-not-found"));
|
|
146
|
-
|
|
147
103
|
_gitNotFound = function () {
|
|
148
104
|
return data;
|
|
149
105
|
};
|
|
150
|
-
|
|
151
106
|
return data;
|
|
152
107
|
}
|
|
153
|
-
|
|
154
108
|
function _path() {
|
|
155
109
|
const data = require("path");
|
|
156
|
-
|
|
157
110
|
_path = function () {
|
|
158
111
|
return data;
|
|
159
112
|
};
|
|
160
|
-
|
|
161
113
|
return data;
|
|
162
114
|
}
|
|
163
|
-
|
|
164
115
|
function _install() {
|
|
165
116
|
const data = require("@teambit/install");
|
|
166
|
-
|
|
167
117
|
_install = function () {
|
|
168
118
|
return data;
|
|
169
119
|
};
|
|
170
|
-
|
|
171
120
|
return data;
|
|
172
121
|
}
|
|
173
|
-
|
|
174
122
|
function _generator() {
|
|
175
123
|
const data = require("./generator.aspect");
|
|
176
|
-
|
|
177
124
|
_generator = function () {
|
|
178
125
|
return data;
|
|
179
126
|
};
|
|
180
|
-
|
|
181
127
|
return data;
|
|
182
128
|
}
|
|
183
|
-
|
|
184
129
|
class WorkspaceGenerator {
|
|
185
130
|
constructor(workspaceName, options, template, aspectComponent) {
|
|
186
131
|
this.workspaceName = workspaceName;
|
|
@@ -196,14 +141,11 @@ class WorkspaceGenerator {
|
|
|
196
141
|
(0, _defineProperty2().default)(this, "forking", void 0);
|
|
197
142
|
this.workspacePath = (0, _path().resolve)(this.workspaceName);
|
|
198
143
|
}
|
|
199
|
-
|
|
200
144
|
async generate() {
|
|
201
145
|
if (_fsExtra().default.existsSync(this.workspacePath)) {
|
|
202
146
|
throw new Error(`unable to create a workspace at "${this.workspaceName}", this path already exist`);
|
|
203
147
|
}
|
|
204
|
-
|
|
205
148
|
await _fsExtra().default.ensureDir(this.workspacePath);
|
|
206
|
-
|
|
207
149
|
try {
|
|
208
150
|
process.chdir(this.workspacePath);
|
|
209
151
|
await this.initGit();
|
|
@@ -218,40 +160,35 @@ class WorkspaceGenerator {
|
|
|
218
160
|
copyPeerToRuntimeOnRoot: true,
|
|
219
161
|
copyPeerToRuntimeOnComponents: false,
|
|
220
162
|
updateExisting: false
|
|
221
|
-
});
|
|
163
|
+
});
|
|
164
|
+
// await this.buildUI(); // disabled for now. it takes too long
|
|
222
165
|
} catch (err) {
|
|
223
166
|
await _fsExtra().default.remove(this.workspacePath);
|
|
224
167
|
throw err;
|
|
225
168
|
}
|
|
226
|
-
|
|
227
169
|
return this.workspacePath;
|
|
228
170
|
}
|
|
229
|
-
|
|
230
171
|
async initGit() {
|
|
231
172
|
if (this.options.skipGit) return;
|
|
232
173
|
const gitExecutablePath = (0, _gitExecutable().default)();
|
|
233
174
|
const params = ['init'];
|
|
234
|
-
|
|
235
175
|
try {
|
|
236
176
|
await (0, _execa().default)(gitExecutablePath, params);
|
|
237
177
|
} catch (err) {
|
|
238
178
|
if (err.exitCodeName === 'ENOENT') {
|
|
239
179
|
throw new (_gitNotFound().default)(gitExecutablePath, err);
|
|
240
180
|
}
|
|
241
|
-
|
|
242
181
|
throw err;
|
|
243
182
|
}
|
|
244
183
|
}
|
|
245
|
-
|
|
246
184
|
async buildUI() {
|
|
247
185
|
const uiMain = this.harmony.get(_ui().default.id);
|
|
248
186
|
await uiMain.createRuntime({});
|
|
249
187
|
}
|
|
188
|
+
|
|
250
189
|
/**
|
|
251
190
|
* writes the generated template files to the default directory set in the workspace config
|
|
252
191
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
192
|
async writeWorkspaceFiles() {
|
|
256
193
|
const workspaceContext = {
|
|
257
194
|
name: this.workspaceName,
|
|
@@ -265,7 +202,6 @@ class WorkspaceGenerator {
|
|
|
265
202
|
await _fsExtra().default.outputFile((0, _path().join)(this.workspacePath, templateFile.relativePath), templateFile.content);
|
|
266
203
|
}));
|
|
267
204
|
}
|
|
268
|
-
|
|
269
205
|
async reloadBitInWorkspaceDir() {
|
|
270
206
|
this.harmony = await (0, _bit().loadBit)(this.workspacePath);
|
|
271
207
|
this.workspace = this.harmony.get(_workspace().WorkspaceAspect.id);
|
|
@@ -275,10 +211,8 @@ class WorkspaceGenerator {
|
|
|
275
211
|
this.importer = this.harmony.get(_importer().default.id);
|
|
276
212
|
this.forking = this.harmony.get(_forking().default.id);
|
|
277
213
|
}
|
|
278
|
-
|
|
279
214
|
async forkComponentsFromRemote() {
|
|
280
215
|
var _this$template, _this$template$import, _this$template2, _this$template2$fork;
|
|
281
|
-
|
|
282
216
|
if (this.options.empty) return;
|
|
283
217
|
const componentsToFork = ((_this$template = this.template) === null || _this$template === void 0 ? void 0 : (_this$template$import = _this$template.importComponents) === null || _this$template$import === void 0 ? void 0 : _this$template$import.call(_this$template)) || ((_this$template2 = this.template) === null || _this$template2 === void 0 ? void 0 : (_this$template2$fork = _this$template2.fork) === null || _this$template2$fork === void 0 ? void 0 : _this$template2$fork.call(_this$template2)) || [];
|
|
284
218
|
if (!componentsToFork.length) return;
|
|
@@ -299,10 +233,8 @@ class WorkspaceGenerator {
|
|
|
299
233
|
this.workspace.clearCache();
|
|
300
234
|
await this.compileComponents();
|
|
301
235
|
}
|
|
302
|
-
|
|
303
236
|
async importComponentsFromRemote() {
|
|
304
237
|
var _this$template3, _this$template3$impor;
|
|
305
|
-
|
|
306
238
|
if (this.options.empty) return;
|
|
307
239
|
const componentsToImport = ((_this$template3 = this.template) === null || _this$template3 === void 0 ? void 0 : (_this$template3$impor = _this$template3.import) === null || _this$template3$impor === void 0 ? void 0 : _this$template3$impor.call(_this$template3)) || [];
|
|
308
240
|
if (!componentsToImport.length) return;
|
|
@@ -317,14 +249,11 @@ class WorkspaceGenerator {
|
|
|
317
249
|
this.workspace.clearCache();
|
|
318
250
|
await this.compileComponents();
|
|
319
251
|
}
|
|
320
|
-
|
|
321
252
|
async compileComponents() {
|
|
322
253
|
const compiler = this.harmony.get(_compiler().CompilerAspect.id);
|
|
323
254
|
await compiler.compileOnWorkspace();
|
|
324
255
|
}
|
|
325
|
-
|
|
326
256
|
}
|
|
327
|
-
|
|
328
257
|
exports.WorkspaceGenerator = WorkspaceGenerator;
|
|
329
258
|
|
|
330
259
|
//# sourceMappingURL=workspace-generator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext: WorkspaceContext = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["WorkspaceGenerator","constructor","workspaceName","options","template","aspectComponent","workspacePath","resolve","generate","fs","existsSync","Error","ensureDir","process","chdir","initGit","init","skipGit","writeWorkspaceFiles","reloadBitInWorkspaceDir","forkComponentsFromRemote","importComponentsFromRemote","install","undefined","dedupe","import","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","updateExisting","err","remove","gitExecutablePath","getGitExecutablePath","params","execa","exitCodeName","GitNotFound","buildUI","uiMain","harmony","get","UIAspect","id","createRuntime","workspaceContext","name","defaultScope","empty","templateFiles","generateFiles","Promise","all","map","templateFile","outputFile","join","relativePath","content","loadBit","workspace","WorkspaceAspect","InstallAspect","loggerMain","LoggerAspect","logger","createLogger","GeneratorAspect","importer","ImporterAspect","forking","ForkingAspect","componentsToFork","importComponents","fork","length","componentsToForkRestructured","targetName","path","sourceId","targetId","forkMultipleFromRemote","scope","refactor","clearCache","compileComponents","componentsToImport","pMapSeries","componentToImport","ids","installNpmPackages","writeToPath","bitMap","write","compiler","CompilerAspect","compileOnWorkspace"],"sources":["workspace-generator.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport { loadBit } from '@teambit/bit';\nimport { Harmony } from '@teambit/harmony';\nimport { Component } from '@teambit/component';\nimport execa from 'execa';\nimport pMapSeries from 'p-map-series';\nimport UIAspect, { UiMain } from '@teambit/ui';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { WorkspaceAspect, Workspace } from '@teambit/workspace';\nimport ForkingAspect, { ForkingMain } from '@teambit/forking';\nimport { init } from '@teambit/legacy/dist/api/consumer';\nimport ImporterAspect, { ImporterMain } from '@teambit/importer';\nimport { CompilerAspect, CompilerMain } from '@teambit/compiler';\nimport getGitExecutablePath from '@teambit/legacy/dist/utils/git/git-executable';\nimport GitNotFound from '@teambit/legacy/dist/utils/git/exceptions/git-not-found';\nimport { resolve, join } from 'path';\nimport { ComponentID } from '@teambit/component-id';\nimport { InstallAspect, InstallMain } from '@teambit/install';\nimport { WorkspaceTemplate, WorkspaceContext } from './workspace-template';\nimport { NewOptions } from './new.cmd';\nimport { GeneratorAspect } from './generator.aspect';\n\nexport type GenerateResult = { id: ComponentID; dir: string; files: string[]; envId: string };\n\nexport class WorkspaceGenerator {\n private workspacePath: string;\n private harmony: Harmony;\n private workspace: Workspace;\n private install: InstallMain;\n private importer: ImporterMain;\n private logger: Logger;\n private forking: ForkingMain;\n constructor(\n private workspaceName: string,\n private options: NewOptions,\n private template: WorkspaceTemplate,\n private aspectComponent?: Component\n ) {\n this.workspacePath = resolve(this.workspaceName);\n }\n\n async generate(): Promise<string> {\n if (fs.existsSync(this.workspacePath)) {\n throw new Error(`unable to create a workspace at \"${this.workspaceName}\", this path already exist`);\n }\n await fs.ensureDir(this.workspacePath);\n try {\n process.chdir(this.workspacePath);\n await this.initGit();\n await init(this.workspacePath, this.options.skipGit, false, false, false, false, false, {});\n await this.writeWorkspaceFiles();\n await this.reloadBitInWorkspaceDir();\n await this.forkComponentsFromRemote();\n await this.importComponentsFromRemote();\n await this.install.install(undefined, {\n dedupe: true,\n import: false,\n copyPeerToRuntimeOnRoot: true,\n copyPeerToRuntimeOnComponents: false,\n updateExisting: false,\n });\n // await this.buildUI(); // disabled for now. it takes too long\n } catch (err: any) {\n await fs.remove(this.workspacePath);\n throw err;\n }\n\n return this.workspacePath;\n }\n\n private async initGit() {\n if (this.options.skipGit) return;\n const gitExecutablePath = getGitExecutablePath();\n const params = ['init'];\n try {\n await execa(gitExecutablePath, params);\n } catch (err: any) {\n if (err.exitCodeName === 'ENOENT') {\n throw new GitNotFound(gitExecutablePath, err);\n }\n throw err;\n }\n }\n\n private async buildUI() {\n const uiMain = this.harmony.get<UiMain>(UIAspect.id);\n await uiMain.createRuntime({});\n }\n\n /**\n * writes the generated template files to the default directory set in the workspace config\n */\n private async writeWorkspaceFiles(): Promise<void> {\n const workspaceContext: WorkspaceContext = {\n name: this.workspaceName,\n defaultScope: this.options.defaultScope,\n empty: this.options.empty,\n aspectComponent: this.aspectComponent,\n template: this.template,\n };\n const templateFiles = await this.template.generateFiles(workspaceContext);\n await Promise.all(\n templateFiles.map(async (templateFile) => {\n await fs.outputFile(join(this.workspacePath, templateFile.relativePath), templateFile.content);\n })\n );\n }\n\n private async reloadBitInWorkspaceDir() {\n this.harmony = await loadBit(this.workspacePath);\n this.workspace = this.harmony.get<Workspace>(WorkspaceAspect.id);\n this.install = this.harmony.get<InstallMain>(InstallAspect.id);\n const loggerMain = this.harmony.get<LoggerMain>(LoggerAspect.id);\n this.logger = loggerMain.createLogger(GeneratorAspect.id);\n this.importer = this.harmony.get<ImporterMain>(ImporterAspect.id);\n this.forking = this.harmony.get<ForkingMain>(ForkingAspect.id);\n }\n\n private async forkComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToFork = this.template?.importComponents?.() || this.template?.fork?.() || [];\n if (!componentsToFork.length) return;\n const componentsToForkRestructured = componentsToFork.map(({ id, targetName, path }) => ({\n sourceId: id,\n targetId: targetName,\n path,\n }));\n await this.forking.forkMultipleFromRemote(componentsToForkRestructured, {\n scope: this.workspace.defaultScope,\n refactor: true,\n install: false,\n });\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async importComponentsFromRemote() {\n if (this.options.empty) return;\n const componentsToImport = this.template?.import?.() || [];\n\n if (!componentsToImport.length) return;\n\n await pMapSeries(componentsToImport, async (componentToImport) => {\n await this.importer.import(\n {\n ids: [componentToImport.id],\n installNpmPackages: false,\n writeToPath: componentToImport.path,\n },\n []\n );\n });\n\n await this.workspace.bitMap.write();\n this.workspace.clearCache();\n await this.compileComponents();\n }\n\n private async compileComponents() {\n const compiler = this.harmony.get<CompilerMain>(CompilerAspect.id);\n await compiler.compileOnWorkspace();\n }\n}\n"],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/generator",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.883",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/generator/generator",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.generator",
|
|
8
8
|
"name": "generator",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.883"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"camelcase": "6.2.0",
|
|
@@ -22,21 +22,21 @@
|
|
|
22
22
|
"@teambit/harmony": "0.3.3",
|
|
23
23
|
"@teambit/bit-error": "0.0.400",
|
|
24
24
|
"@teambit/component-id": "0.0.418",
|
|
25
|
-
"@teambit/envs": "0.0.
|
|
26
|
-
"@teambit/new-component-helper": "0.0.
|
|
27
|
-
"@teambit/workspace": "0.0.
|
|
25
|
+
"@teambit/envs": "0.0.883",
|
|
26
|
+
"@teambit/new-component-helper": "0.0.287",
|
|
27
|
+
"@teambit/workspace": "0.0.883",
|
|
28
28
|
"@teambit/cli": "0.0.591",
|
|
29
|
-
"@teambit/graphql": "0.0.
|
|
30
|
-
"@teambit/aspect-loader": "0.0.
|
|
31
|
-
"@teambit/bit": "0.0.
|
|
29
|
+
"@teambit/graphql": "0.0.883",
|
|
30
|
+
"@teambit/aspect-loader": "0.0.883",
|
|
31
|
+
"@teambit/bit": "0.0.885",
|
|
32
32
|
"@teambit/community": "0.0.139",
|
|
33
|
-
"@teambit/component": "0.0.
|
|
34
|
-
"@teambit/importer": "0.0.
|
|
35
|
-
"@teambit/compiler": "0.0.
|
|
36
|
-
"@teambit/forking": "0.0.
|
|
37
|
-
"@teambit/install": "0.0.
|
|
33
|
+
"@teambit/component": "0.0.883",
|
|
34
|
+
"@teambit/importer": "0.0.312",
|
|
35
|
+
"@teambit/compiler": "0.0.883",
|
|
36
|
+
"@teambit/forking": "0.0.287",
|
|
37
|
+
"@teambit/install": "0.0.29",
|
|
38
38
|
"@teambit/logger": "0.0.684",
|
|
39
|
-
"@teambit/ui": "0.0.
|
|
39
|
+
"@teambit/ui": "0.0.883"
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
42
|
"@types/fs-extra": "9.0.7",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.883/dist/generator.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.generator_generator@0.0.883/dist/generator.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|
|
Binary file
|