generator-easy-ui5 3.6.3 → 3.8.0
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/README.md +1 -1
- package/generators/app/index.js +209 -129
- package/package.json +14 -18
- package/plugins/generator-ui5-project.zip +0 -0
- package/CHANGELOG.md +0 -170
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ The purpose of the `project` subgenerator is to guide you on your first steps wi
|
|
|
20
20
|
|
|
21
21
|
## Requirements
|
|
22
22
|
|
|
23
|
-
- Get [Node.js](https://nodejs.org/en/download/) (:warning: **version
|
|
23
|
+
- Get [Node.js](https://nodejs.org/en/download/) (:warning: **version 18 or higher**)
|
|
24
24
|
|
|
25
25
|
## Download and Installation
|
|
26
26
|
|
package/generators/app/index.js
CHANGED
|
@@ -134,6 +134,10 @@ const generatorOptions = {
|
|
|
134
134
|
type: Boolean,
|
|
135
135
|
description: "Preview the next mode to consume subgenerators from bestofui5.org",
|
|
136
136
|
},
|
|
137
|
+
skipNested: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
description: "Skips the nested generators and runs only the first subgenerator",
|
|
140
|
+
},
|
|
137
141
|
};
|
|
138
142
|
|
|
139
143
|
const generatorArgs = {
|
|
@@ -149,6 +153,7 @@ const generatorArgs = {
|
|
|
149
153
|
},
|
|
150
154
|
};
|
|
151
155
|
|
|
156
|
+
// The Easy UI5 Generator!
|
|
152
157
|
export default class extends Generator {
|
|
153
158
|
constructor(args, opts) {
|
|
154
159
|
super(args, opts, {
|
|
@@ -239,6 +244,102 @@ export default class extends Generator {
|
|
|
239
244
|
return "Easy UI5";
|
|
240
245
|
}
|
|
241
246
|
|
|
247
|
+
async _getGeneratorMetadata({ env, generatorPath }) {
|
|
248
|
+
// filter the hidden subgenerators already
|
|
249
|
+
// -> subgenerators must be found in env as they are returned by lookup!
|
|
250
|
+
const lookupGeneratorMeta = await env.lookup({ localOnly: true, packagePaths: generatorPath });
|
|
251
|
+
const subGenerators = lookupGeneratorMeta.filter((sub) => {
|
|
252
|
+
const subGenerator = env.get(sub.namespace);
|
|
253
|
+
return !subGenerator.hidden;
|
|
254
|
+
});
|
|
255
|
+
return subGenerators;
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
async _installGenerator({ octokit, generator, generatorPath }) {
|
|
259
|
+
// lookup the default path of the generator if not set
|
|
260
|
+
if (!generator.branch) {
|
|
261
|
+
try {
|
|
262
|
+
const repoInfo = await octokit.repos.get({
|
|
263
|
+
owner: generator.org,
|
|
264
|
+
repo: generator.name,
|
|
265
|
+
});
|
|
266
|
+
generator.branch = repoInfo.data.default_branch;
|
|
267
|
+
} catch (e) {
|
|
268
|
+
console.error(`Generator "${owner}/${repo}!${dir}${branch ? "#" + branch : ""}" not found! Run with --verbose for details!`);
|
|
269
|
+
if (this.options.verbose) {
|
|
270
|
+
console.error(e);
|
|
271
|
+
}
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
// fetch the branch to retrieve the latest commit SHA
|
|
276
|
+
let commitSHA;
|
|
277
|
+
try {
|
|
278
|
+
// determine the commitSHA
|
|
279
|
+
const reqBranch = await octokit.repos.getBranch({
|
|
280
|
+
owner: generator.org,
|
|
281
|
+
repo: generator.name,
|
|
282
|
+
branch: generator.branch,
|
|
283
|
+
});
|
|
284
|
+
commitSHA = reqBranch.data.commit.sha;
|
|
285
|
+
} catch (ex) {
|
|
286
|
+
console.error(chalk.red(`Failed to retrieve the branch "${generator.branch}" for repository "${generator.name}" for "${generator.org}" organization! Run with --verbose for details!`));
|
|
287
|
+
if (this.options.verbose) {
|
|
288
|
+
console.error(chalk.red(ex.message));
|
|
289
|
+
}
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
if (this.options.verbose) {
|
|
294
|
+
this.log(`Using commit ${commitSHA} from @${generator.org}/${generator.name}#${generator.branch}!`);
|
|
295
|
+
}
|
|
296
|
+
const shaMarker = path.join(generatorPath, `.${commitSHA}`);
|
|
297
|
+
|
|
298
|
+
if (fs.existsSync(generatorPath) && !this.options.skipUpdate) {
|
|
299
|
+
// check if the SHA marker exists to know whether the generator is up-to-date or not
|
|
300
|
+
if (this.options.forceUpdate || !fs.existsSync(shaMarker)) {
|
|
301
|
+
if (this.options.verbose) {
|
|
302
|
+
this.log(`Generator ${chalk.yellow(generator.name)} in "${generatorPath}" is outdated!`);
|
|
303
|
+
}
|
|
304
|
+
// remove if the SHA marker doesn't exist => outdated!
|
|
305
|
+
this._showBusy(` Deleting subgenerator ${chalk.yellow(generator.name)}...`);
|
|
306
|
+
fs.rmSync(generatorPath, { recursive: true });
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
// re-fetch the generator and extract into local plugin folder
|
|
311
|
+
if (!fs.existsSync(generatorPath)) {
|
|
312
|
+
// unzip the archive
|
|
313
|
+
if (this.options.verbose) {
|
|
314
|
+
this.log(`Extracting ZIP to "${generatorPath}"...`);
|
|
315
|
+
}
|
|
316
|
+
this._showBusy(` Downloading subgenerator ${chalk.yellow(generator.name)}...`);
|
|
317
|
+
const reqZIPArchive = await octokit.repos.downloadZipballArchive({
|
|
318
|
+
owner: generator.org,
|
|
319
|
+
repo: generator.name,
|
|
320
|
+
ref: commitSHA,
|
|
321
|
+
});
|
|
322
|
+
|
|
323
|
+
this._showBusy(` Extracting subgenerator ${chalk.yellow(generator.name)}...`);
|
|
324
|
+
const buffer = Buffer.from(new Uint8Array(reqZIPArchive.data));
|
|
325
|
+
this._unzip(buffer, generatorPath, generator.dir);
|
|
326
|
+
|
|
327
|
+
// write the sha marker
|
|
328
|
+
fs.writeFileSync(shaMarker, commitSHA);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// run npm install when not embedding the generator (always for self-healing!)
|
|
332
|
+
if (!this.options.embed) {
|
|
333
|
+
if (this.options.verbose) {
|
|
334
|
+
this.log("Installing the subgenerator dependencies...");
|
|
335
|
+
}
|
|
336
|
+
this._showBusy(` Preparing ${chalk.yellow(generator.name)}...`);
|
|
337
|
+
await this._npmInstall(generatorPath, this.options.pluginsWithDevDeps);
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
this._clearBusy(true);
|
|
341
|
+
}
|
|
342
|
+
|
|
242
343
|
async prompting() {
|
|
243
344
|
const home = path.join(__dirname, "..", "..");
|
|
244
345
|
const pkgJson = JSON.parse(fs.readFileSync(path.join(home, "package.json"), "utf8"));
|
|
@@ -369,31 +470,28 @@ export default class extends Generator {
|
|
|
369
470
|
// determine the generator to be used
|
|
370
471
|
let generator;
|
|
371
472
|
|
|
372
|
-
//
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
if (this.options.verbose) {
|
|
395
|
-
this.log(`Using generator ${chalk.green(`${owner}/${repo}!${dir}${branch ? "#" + branch : ""}`)}`);
|
|
396
|
-
}
|
|
473
|
+
// determine generator by ${owner}/${repo}(!${dir})? syntax, e.g.:
|
|
474
|
+
// > yo easy-ui5 SAP-samples/ui5-typescript-tutorial
|
|
475
|
+
// > yo easy-ui5 SAP-samples/ui5-typescript-tutorial#1.0
|
|
476
|
+
// > yo easy-ui5 SAP-samples/ui5-typescript-tutorial\!/generator
|
|
477
|
+
// > yo easy-ui5 SAP-samples/ui5-typescript-tutorial\!/generator#1.0
|
|
478
|
+
const reGenerator = /([^\/]+)\/([^\!\#]+)(?:\!([^\#]+))?(?:\#(.+))?/;
|
|
479
|
+
const matchGenerator = reGenerator.exec(this.options.generator);
|
|
480
|
+
if (matchGenerator) {
|
|
481
|
+
// derive and path the generator information from command line
|
|
482
|
+
const [owner, repo, dir = "/generator", branch] = matchGenerator.slice(1);
|
|
483
|
+
// the plugin path is derived from the owner, repo, dir and branch
|
|
484
|
+
const pluginPath = `_/${owner}/${repo}${dir.replace(/[\/\\]/g, "_")}${branch ? `#${branch.replace(/[\/\\]/g, "_")}` : ""}`;
|
|
485
|
+
generator = {
|
|
486
|
+
org: owner,
|
|
487
|
+
name: repo,
|
|
488
|
+
branch,
|
|
489
|
+
dir,
|
|
490
|
+
pluginPath,
|
|
491
|
+
};
|
|
492
|
+
// log which generator is being used!
|
|
493
|
+
if (this.options.verbose) {
|
|
494
|
+
this.log(`Using generator ${chalk.green(`${owner}/${repo}!${dir}${branch ? "#" + branch : ""}`)}`);
|
|
397
495
|
}
|
|
398
496
|
}
|
|
399
497
|
|
|
@@ -527,85 +625,10 @@ export default class extends Generator {
|
|
|
527
625
|
}
|
|
528
626
|
}
|
|
529
627
|
|
|
530
|
-
|
|
628
|
+
// install the generator if not running in offline mode
|
|
629
|
+
const generatorPath = path.join(pluginsHome, generator.pluginPath || generator.name);
|
|
531
630
|
if (!this.options.offline) {
|
|
532
|
-
|
|
533
|
-
if (!generator.branch) {
|
|
534
|
-
try {
|
|
535
|
-
const repoInfo = await octokit.repos.get({
|
|
536
|
-
owner: generator.org,
|
|
537
|
-
repo: generator.name,
|
|
538
|
-
});
|
|
539
|
-
generator.branch = repoInfo.data.default_branch;
|
|
540
|
-
} catch (e) {
|
|
541
|
-
console.error(`Generator "${owner}/${repo}!${dir}${branch ? "#" + branch : ""}" not found! Run with --verbose for details!`);
|
|
542
|
-
if (this.options.verbose) {
|
|
543
|
-
console.error(e);
|
|
544
|
-
}
|
|
545
|
-
return;
|
|
546
|
-
}
|
|
547
|
-
}
|
|
548
|
-
// fetch the branch to retrieve the latest commit SHA
|
|
549
|
-
let commitSHA;
|
|
550
|
-
try {
|
|
551
|
-
// determine the commitSHA
|
|
552
|
-
const reqBranch = await octokit.repos.getBranch({
|
|
553
|
-
owner: generator.org,
|
|
554
|
-
repo: generator.name,
|
|
555
|
-
branch: generator.branch,
|
|
556
|
-
});
|
|
557
|
-
commitSHA = reqBranch.data.commit.sha;
|
|
558
|
-
} catch (ex) {
|
|
559
|
-
console.error(chalk.red(`Failed to retrieve the branch "${generator.branch}" for repository "${generator.name}" for "${generator.org}" organization! Run with --verbose for details!`));
|
|
560
|
-
if (this.options.verbose) {
|
|
561
|
-
console.error(chalk.red(ex.message));
|
|
562
|
-
}
|
|
563
|
-
return;
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
if (this.options.verbose) {
|
|
567
|
-
this.log(`Using commit ${commitSHA} from @${generator.org}/${generator.name}#${generator.branch}!`);
|
|
568
|
-
}
|
|
569
|
-
const shaMarker = path.join(generatorPath, `.${commitSHA}`);
|
|
570
|
-
|
|
571
|
-
if (fs.existsSync(generatorPath) && !this.options.skipUpdate) {
|
|
572
|
-
// check if the SHA marker exists to know whether the generator is up-to-date or not
|
|
573
|
-
if (this.options.forceUpdate || !fs.existsSync(shaMarker)) {
|
|
574
|
-
if (this.options.verbose) {
|
|
575
|
-
this.log(`Generator ${chalk.yellow(generator.name)} in "${generatorPath}" is outdated!`);
|
|
576
|
-
}
|
|
577
|
-
// remove if the SHA marker doesn't exist => outdated!
|
|
578
|
-
this._showBusy(` Deleting subgenerator ${chalk.yellow(generator.name)}...`);
|
|
579
|
-
fs.rmSync(generatorPath, { recursive: true });
|
|
580
|
-
}
|
|
581
|
-
}
|
|
582
|
-
|
|
583
|
-
// re-fetch the generator and extract into local plugin folder
|
|
584
|
-
if (!fs.existsSync(generatorPath)) {
|
|
585
|
-
// unzip the archive
|
|
586
|
-
if (this.options.verbose) {
|
|
587
|
-
this.log(`Extracting ZIP to "${generatorPath}"...`);
|
|
588
|
-
}
|
|
589
|
-
this._showBusy(` Downloading subgenerator ${chalk.yellow(generator.name)}...`);
|
|
590
|
-
const reqZIPArchive = await octokit.repos.downloadZipballArchive({
|
|
591
|
-
owner: generator.org,
|
|
592
|
-
repo: generator.name,
|
|
593
|
-
ref: commitSHA,
|
|
594
|
-
});
|
|
595
|
-
|
|
596
|
-
this._showBusy(` Extracting subgenerator ${chalk.yellow(generator.name)}...`);
|
|
597
|
-
const buffer = Buffer.from(new Uint8Array(reqZIPArchive.data));
|
|
598
|
-
this._unzip(buffer, generatorPath, generator.dir);
|
|
599
|
-
|
|
600
|
-
// write the sha marker
|
|
601
|
-
fs.writeFileSync(shaMarker, commitSHA);
|
|
602
|
-
}
|
|
603
|
-
|
|
604
|
-
// only when embedding we clear the busy state as otherwise
|
|
605
|
-
// the npm install will immediately again show the busy state
|
|
606
|
-
if (this.options.embed) {
|
|
607
|
-
this._clearBusy(true);
|
|
608
|
-
}
|
|
631
|
+
await this._installGenerator({ octokit, generator, generatorPath });
|
|
609
632
|
}
|
|
610
633
|
|
|
611
634
|
// do not execute the plugin generator during the setup/embed mode
|
|
@@ -613,14 +636,6 @@ export default class extends Generator {
|
|
|
613
636
|
// filter the local options and the help command
|
|
614
637
|
const opts = Object.keys(this._options).filter((optionName) => !(generatorOptions.hasOwnProperty(optionName) || optionName === "help"));
|
|
615
638
|
|
|
616
|
-
// run npm install (always for self-healing!)
|
|
617
|
-
if (this.options.verbose) {
|
|
618
|
-
this.log("Installing the subgenerator dependencies...");
|
|
619
|
-
}
|
|
620
|
-
this._showBusy(` Preparing ${chalk.yellow(generator.name)}...`);
|
|
621
|
-
await this._npmInstall(generatorPath, this.options.pluginsWithDevDeps);
|
|
622
|
-
this._clearBusy(true);
|
|
623
|
-
|
|
624
639
|
// create the env for the plugin generator
|
|
625
640
|
let env = this.env; // in case of Yeoman UI the env is injected!
|
|
626
641
|
if (!env) {
|
|
@@ -628,18 +643,20 @@ export default class extends Generator {
|
|
|
628
643
|
env = yeoman.createEnv(this.args, opts);
|
|
629
644
|
}
|
|
630
645
|
|
|
631
|
-
//
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
646
|
+
// read the generator metadata
|
|
647
|
+
let subGenerators = await this._getGeneratorMetadata({ env, generatorPath });
|
|
648
|
+
|
|
649
|
+
// helper to derive the generator from the namespace
|
|
650
|
+
function deriveGenerator(namespace, defaultValue) {
|
|
651
|
+
const match = namespace.match(/([^:]+):.+/);
|
|
652
|
+
return match ? match[1] : defaultValue === undefined ? namespace : defaultValue;
|
|
635
653
|
}
|
|
636
654
|
|
|
637
|
-
//
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
});
|
|
655
|
+
// helper to derive the subcommand from the namespace
|
|
656
|
+
function deriveSubcommand(namespace, defaultValue) {
|
|
657
|
+
const match = namespace.match(/^[^:]+:(.+)$/);
|
|
658
|
+
return match ? match[1] : defaultValue === undefined ? namespace : defaultValue;
|
|
659
|
+
}
|
|
643
660
|
|
|
644
661
|
// list the available subgenerators in the console (as help)
|
|
645
662
|
if (this.options.list) {
|
|
@@ -725,16 +742,79 @@ export default class extends Generator {
|
|
|
725
742
|
).subGenerator;
|
|
726
743
|
}
|
|
727
744
|
|
|
728
|
-
|
|
729
|
-
|
|
745
|
+
// determine the list of subgenerators to be executed
|
|
746
|
+
const subGensToRun = [subGenerator];
|
|
747
|
+
|
|
748
|
+
// method to resolve nested generators (only once!)
|
|
749
|
+
const resolved = [];
|
|
750
|
+
const resolveNestedGenerator = async (generatorToResolve) => {
|
|
751
|
+
const constructor = await env.get(generatorToResolve);
|
|
752
|
+
await Promise.all(
|
|
753
|
+
constructor.nestedGenerators?.map(async (nestedGenerator) => {
|
|
754
|
+
const theNestedGenerator = deriveGenerator(nestedGenerator);
|
|
755
|
+
if (resolved.indexOf(theNestedGenerator) === -1) {
|
|
756
|
+
resolved.push(theNestedGenerator);
|
|
757
|
+
const nestedGeneratorInfo = availGenerators.find((repo) => repo.subGeneratorName === theNestedGenerator);
|
|
758
|
+
const nestedGeneratorPath = path.join(pluginsHome, nestedGeneratorInfo.pluginPath || nestedGeneratorInfo.name);
|
|
759
|
+
await this._installGenerator({ octokit, generator: nestedGeneratorInfo, generatorPath: nestedGeneratorPath });
|
|
760
|
+
const nestedGens = await this._getGeneratorMetadata({ env, generatorPath: nestedGeneratorPath });
|
|
761
|
+
const subcommand = deriveSubcommand(nestedGenerator, "");
|
|
762
|
+
const theNestedGen = nestedGens.filter((nested) => {
|
|
763
|
+
const nestedSubcommand = deriveSubcommand(nested.namespace, "");
|
|
764
|
+
return subcommand ? nestedSubcommand === subcommand : !nestedSubcommand;
|
|
765
|
+
})?.[0];
|
|
766
|
+
if (theNestedGen) {
|
|
767
|
+
subGensToRun.push(theNestedGen.namespace);
|
|
768
|
+
await resolveNestedGenerator(theNestedGen.namespace);
|
|
769
|
+
} else {
|
|
770
|
+
this.log(`The nested generator "${nestedGeneratorInfo.org}/${nestedGeneratorInfo.name}" has no subgenerator "${subcommand || "default"}"! Ignoring execution...`);
|
|
771
|
+
}
|
|
772
|
+
}
|
|
773
|
+
}) || []
|
|
774
|
+
);
|
|
775
|
+
};
|
|
776
|
+
|
|
777
|
+
// only resolve nested generators when they should not be skipped
|
|
778
|
+
if (!this.options.skipNested) {
|
|
779
|
+
await resolveNestedGenerator(subGenerator);
|
|
730
780
|
}
|
|
731
781
|
|
|
732
|
-
//
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
782
|
+
// intercept the environments runGenerator method to determine
|
|
783
|
+
// and forward the destinationRoot between the generator executions
|
|
784
|
+
const runGenerator = env.runGenerator;
|
|
785
|
+
let cwd;
|
|
786
|
+
env.runGenerator = async function (gen) {
|
|
787
|
+
if (cwd) {
|
|
788
|
+
// apply the cwd to the next gen
|
|
789
|
+
gen.destinationRoot(cwd);
|
|
790
|
+
}
|
|
791
|
+
return runGenerator.apply(this, arguments).then((retval) => {
|
|
792
|
+
// store the cwd from the current gen
|
|
793
|
+
cwd = gen.destinationRoot();
|
|
794
|
+
return retval;
|
|
795
|
+
});
|
|
796
|
+
};
|
|
797
|
+
|
|
798
|
+
// chain the execution of the generators
|
|
799
|
+
let chain = Promise.resolve();
|
|
800
|
+
for (const subGen of subGensToRun) {
|
|
801
|
+
chain = chain.then(
|
|
802
|
+
function () {
|
|
803
|
+
// we need to use env.run and not composeWith
|
|
804
|
+
// to ensure that subgenerators can have different
|
|
805
|
+
// dependencies than the root generator
|
|
806
|
+
return env.run(subGen, {
|
|
807
|
+
verbose: this.options.verbose,
|
|
808
|
+
embedded: true,
|
|
809
|
+
destinationRoot: this.destinationRoot(),
|
|
810
|
+
});
|
|
811
|
+
}.bind(this)
|
|
812
|
+
);
|
|
813
|
+
}
|
|
814
|
+
|
|
815
|
+
if (this.options.verbose) {
|
|
816
|
+
this.log(`Running generators in "${generatorPath}"...`);
|
|
817
|
+
}
|
|
738
818
|
} else {
|
|
739
819
|
this.log(`The generator ${chalk.red(this.options.generator)} has no visible subgenerators!`);
|
|
740
820
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "generator-easy-ui5",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.8.0",
|
|
4
4
|
"description": "Generator for UI5-based project",
|
|
5
5
|
"main": "generators/app/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
"plugins"
|
|
10
10
|
],
|
|
11
11
|
"engines": {
|
|
12
|
-
"node": ">=
|
|
12
|
+
"node": ">=18"
|
|
13
13
|
},
|
|
14
14
|
"scripts": {
|
|
15
|
-
"prepublishOnly": "npx yo ./ project --embed",
|
|
15
|
+
"prepublishOnly": "npx yo@4.3.1 ./ project --embed",
|
|
16
16
|
"start": "yo easy-ui5 project",
|
|
17
17
|
"test": "mocha",
|
|
18
18
|
"test:subgen:list": "yo easy-ui5 project --list",
|
|
@@ -48,26 +48,26 @@
|
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://github.com/SAP/generator-easy-ui5#readme",
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@octokit/plugin-throttling": "^
|
|
52
|
-
"@octokit/rest": "^
|
|
51
|
+
"@octokit/plugin-throttling": "^8.1.3",
|
|
52
|
+
"@octokit/rest": "^20.0.2",
|
|
53
53
|
"adm-zip": "^0.5.10",
|
|
54
|
-
"chalk": "^5.
|
|
54
|
+
"chalk": "^5.3.0",
|
|
55
55
|
"colors": "^1.4.0",
|
|
56
|
-
"glob": "^10.
|
|
56
|
+
"glob": "^10.3.10",
|
|
57
57
|
"libnpmconfig": "^1.2.1",
|
|
58
|
-
"rimraf": "^5.0.
|
|
58
|
+
"rimraf": "^5.0.5",
|
|
59
59
|
"yeoman-environment": "^3.19.3",
|
|
60
|
-
"yeoman-generator": "^5.
|
|
60
|
+
"yeoman-generator": "^5.10.0",
|
|
61
61
|
"yosay": "^2.0.2"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
|
-
"@commitlint/cli": "^
|
|
65
|
-
"@commitlint/config-conventional": "^
|
|
66
|
-
"conventional-changelog-cli": "^
|
|
64
|
+
"@commitlint/cli": "^18.4.3",
|
|
65
|
+
"@commitlint/config-conventional": "^18.4.3",
|
|
66
|
+
"conventional-changelog-cli": "^4.1.0",
|
|
67
67
|
"cz-conventional-changelog": "^3.3.0",
|
|
68
|
-
"eslint": "^8.
|
|
68
|
+
"eslint": "^8.54.0",
|
|
69
69
|
"husky": "^8.0.3",
|
|
70
|
-
"lint-staged": "^
|
|
70
|
+
"lint-staged": "^15.1.0",
|
|
71
71
|
"mocha": "^10.2.0",
|
|
72
72
|
"npm-run-all": "^4.1.5",
|
|
73
73
|
"prettier": "^2.8.8",
|
|
@@ -84,9 +84,5 @@
|
|
|
84
84
|
"extends": [
|
|
85
85
|
"@commitlint/config-conventional"
|
|
86
86
|
]
|
|
87
|
-
},
|
|
88
|
-
"overrides": {
|
|
89
|
-
"http-cache-semantics": "^4.1.1",
|
|
90
|
-
"minimist": "^1.2.6"
|
|
91
87
|
}
|
|
92
88
|
}
|
|
Binary file
|
package/CHANGELOG.md
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
## [3.6.2](https://github.com/SAP/generator-easy-ui5/compare/v3.5.1...v3.6.2) (2023-06-20)
|
|
2
|
-
|
|
3
|
-
### Bug Fixes
|
|
4
|
-
|
|
5
|
-
- also include embedded subgens ([86912a8](https://github.com/SAP/generator-easy-ui5/commit/86912a8cb4736ea8950696de14ce20e87056246f))
|
|
6
|
-
- omit devDependencies for plugin generators ([#125](https://github.com/SAP/generator-easy-ui5/issues/125)) ([ffda0c5](https://github.com/SAP/generator-easy-ui5/commit/ffda0c5048543bdb29956bdde01730af4fee74fb))
|
|
7
|
-
- removal of the outdated templates must not fail ([667673d](https://github.com/SAP/generator-easy-ui5/commit/667673d771649c98af3ac8e9ca71a6e99885ff23))
|
|
8
|
-
- sort subgen list, remove threshold, fix permission issues ([#123](https://github.com/SAP/generator-easy-ui5/issues/123)) ([c5dd321](https://github.com/SAP/generator-easy-ui5/commit/c5dd3218a26870a61722a9675a81831cc8af50e5)), closes [#122](https://github.com/SAP/generator-easy-ui5/issues/122) [#118](https://github.com/SAP/generator-easy-ui5/issues/118) [#117](https://github.com/SAP/generator-easy-ui5/issues/117) [#111](https://github.com/SAP/generator-easy-ui5/issues/111)
|
|
9
|
-
|
|
10
|
-
### Features
|
|
11
|
-
|
|
12
|
-
- support for coporate proxy / switch to esm / update deps ([#124](https://github.com/SAP/generator-easy-ui5/issues/124)) ([bf95254](https://github.com/SAP/generator-easy-ui5/commit/bf95254694025f3d22e5af37bb610ba7d2a0e215)), closes [#79](https://github.com/SAP/generator-easy-ui5/issues/79)
|
|
13
|
-
|
|
14
|
-
## [3.5.1](https://github.com/SAP/generator-easy-ui5/compare/v3.2.0...v3.5.1) (2022-09-10)
|
|
15
|
-
|
|
16
|
-
### Bug Fixes
|
|
17
|
-
|
|
18
|
-
- enable for Yeoman UI usage ([03c2e38](https://github.com/SAP/generator-easy-ui5/commit/03c2e38af4eebe108d6076710b74d8aaf7c31d8d))
|
|
19
|
-
- **postinstall:** allow usage of NPM config for ghAuthToken to avoid rate limit ([#104](https://github.com/SAP/generator-easy-ui5/issues/104)) ([371d7fb](https://github.com/SAP/generator-easy-ui5/commit/371d7fbc82b8a59cef896197b99239b505b3cd90)), closes [#100](https://github.com/SAP/generator-easy-ui5/issues/100)
|
|
20
|
-
- **postinstall:** avoid non-existing node_modules ([#98](https://github.com/SAP/generator-easy-ui5/issues/98)) ([f93c7c9](https://github.com/SAP/generator-easy-ui5/commit/f93c7c99b9e5df7af801a085afe72be85e462007))
|
|
21
|
-
- usage of proper gh org for logging and download ([#94](https://github.com/SAP/generator-easy-ui5/issues/94)) ([a88d4db](https://github.com/SAP/generator-easy-ui5/commit/a88d4dbb0a1f5ed3cf60f7ed0297c651222a83fb))
|
|
22
|
-
- use the org name of the selected generator for downloading the corresponding repo ([d9ca4dc](https://github.com/SAP/generator-easy-ui5/commit/d9ca4dc3170e0507199799d2e14db327cba4d871))
|
|
23
|
-
|
|
24
|
-
### Features
|
|
25
|
-
|
|
26
|
-
- allow ghAuthToken as NPM configuration ([#103](https://github.com/SAP/generator-easy-ui5/issues/103)) ([5e3d928](https://github.com/SAP/generator-easy-ui5/commit/5e3d92807e881d0ade80251bc8cc1bdde85142be))
|
|
27
|
-
- allow to run easy-ui5 embedded ([#99](https://github.com/SAP/generator-easy-ui5/issues/99)) ([f4952c4](https://github.com/SAP/generator-easy-ui5/commit/f4952c442c9563a51c48b8edc25843f097fce4c4))
|
|
28
|
-
- offline support, generator from repo, bestofui5 test ([#110](https://github.com/SAP/generator-easy-ui5/issues/110)) ([70e9012](https://github.com/SAP/generator-easy-ui5/commit/70e9012d85bee0c2ac2dadfe3ca9cac3d297ce84))
|
|
29
|
-
|
|
30
|
-
# [3.2.0](https://github.com/SAP/generator-easy-ui5/compare/v3.1.5...v3.2.0) (2022-02-03)
|
|
31
|
-
|
|
32
|
-
### Bug Fixes
|
|
33
|
-
|
|
34
|
-
- freeze version of colors.js in package.json ([#85](https://github.com/SAP/generator-easy-ui5/issues/85)) ([6b497b6](https://github.com/SAP/generator-easy-ui5/commit/6b497b6c05748b8f67617c6399a11f8e8d850d48))
|
|
35
|
-
- use homedir for plugin-generators avoid EACCESS ([e326676](https://github.com/SAP/generator-easy-ui5/commit/e326676458f439f9ac01498381059229a897fa61)), closes [#84](https://github.com/SAP/generator-easy-ui5/issues/84)
|
|
36
|
-
|
|
37
|
-
### Features
|
|
38
|
-
|
|
39
|
-
- Add support for user repositories ([6b7efa6](https://github.com/SAP/generator-easy-ui5/commit/6b7efa63414c31d76a53ee1b069557c527077f39))
|
|
40
|
-
- support additional GH org via NPM config ([0d33197](https://github.com/SAP/generator-easy-ui5/commit/0d33197098e010858d1ea7a0e4b172d5d6a5aa22))
|
|
41
|
-
|
|
42
|
-
## [3.1.5](https://github.com/SAP/generator-easy-ui5/compare/v3.1.4...v3.1.5) (2022-01-10)
|
|
43
|
-
|
|
44
|
-
### Bug Fixes
|
|
45
|
-
|
|
46
|
-
- re-enable sub-generator update check ([c464bd1](https://github.com/SAP/generator-easy-ui5/commit/c464bd11d2cf32006fd7f42ea8f15a736cb10271))
|
|
47
|
-
|
|
48
|
-
## [3.1.4](https://github.com/SAP/generator-easy-ui5/compare/v3.1.3...v3.1.4) (2021-12-07)
|
|
49
|
-
|
|
50
|
-
### Bug Fixes
|
|
51
|
-
|
|
52
|
-
- disable autoinstall of Yeoman 5.x ([de6fcaf](https://github.com/SAP/generator-easy-ui5/commit/de6fcafd164734a9e3fbbab599b7376a49fffe89))
|
|
53
|
-
|
|
54
|
-
## [3.1.3](https://github.com/SAP/generator-easy-ui5/compare/v3.1.2...v3.1.3) (2021-11-25)
|
|
55
|
-
|
|
56
|
-
## [3.1.2](https://github.com/SAP/generator-easy-ui5/compare/v3.1.1...v3.1.2) (2021-11-23)
|
|
57
|
-
|
|
58
|
-
## [3.1.1](https://github.com/SAP/generator-easy-ui5/compare/v3.1.0...v3.1.1) (2021-11-23)
|
|
59
|
-
|
|
60
|
-
# [3.1.0](https://github.com/SAP/generator-easy-ui5/compare/v3.0.3...v3.1.0) (2021-11-23)
|
|
61
|
-
|
|
62
|
-
## [3.0.3](https://github.com/SAP/generator-easy-ui5/compare/v3.0.2...v3.0.3) (2021-11-15)
|
|
63
|
-
|
|
64
|
-
## [3.0.2](https://github.com/SAP/generator-easy-ui5/compare/v3.0.1...v3.0.2) (2021-11-15)
|
|
65
|
-
|
|
66
|
-
## [3.0.1](https://github.com/SAP/generator-easy-ui5/compare/v2.4.6...v3.0.1) (2021-05-10)
|
|
67
|
-
|
|
68
|
-
## [2.4.6](https://github.com/SAP/generator-easy-ui5/compare/2.4.6...v2.4.6) (2021-02-10)
|
|
69
|
-
|
|
70
|
-
### Bug Fixes
|
|
71
|
-
|
|
72
|
-
- uiveri5 reporters ([f2e2d6d](https://github.com/SAP/generator-easy-ui5/commit/f2e2d6dae71dc580ee0d15c42baafe06ae983d4e))
|
|
73
|
-
|
|
74
|
-
## [2.4.5](https://github.com/SAP/generator-easy-ui5/compare/2.4.5...v2.4.5) (2021-01-29)
|
|
75
|
-
|
|
76
|
-
### Bug Fixes
|
|
77
|
-
|
|
78
|
-
- opa test namespace and folder ([fb166b7](https://github.com/SAP/generator-easy-ui5/commit/fb166b7df06b7cd465366726ed484890ad389d96))
|
|
79
|
-
|
|
80
|
-
## [2.4.4](https://github.com/SAP/generator-easy-ui5/compare/2.4.4...v2.4.4) (2021-01-25)
|
|
81
|
-
|
|
82
|
-
## [2.4.3](https://github.com/SAP/generator-easy-ui5/compare/2.4.3...v2.4.3) (2021-01-08)
|
|
83
|
-
|
|
84
|
-
## [2.4.2](https://github.com/SAP/generator-easy-ui5/compare/2.4.2...v2.4.2) (2020-12-18)
|
|
85
|
-
|
|
86
|
-
## [2.4.1](https://github.com/SAP/generator-easy-ui5/compare/v2.4.0...v2.4.1) (2020-12-18)
|
|
87
|
-
|
|
88
|
-
# [2.4.0](https://github.com/SAP/generator-easy-ui5/compare/v2.3.0...v2.4.0) (2020-12-10)
|
|
89
|
-
|
|
90
|
-
### Features
|
|
91
|
-
|
|
92
|
-
- add wdi5 as test framework ([e63ce2e](https://github.com/SAP/generator-easy-ui5/commit/e63ce2eb2ed9cc23840cb303d01fc4e7d23f2c11))
|
|
93
|
-
|
|
94
|
-
# [2.3.0](https://github.com/SAP/generator-easy-ui5/compare/v2.2.4...v2.3.0) (2020-11-25)
|
|
95
|
-
|
|
96
|
-
## [2.2.4](https://github.com/SAP/generator-easy-ui5/compare/v2.2.3...v2.2.4) (2020-11-10)
|
|
97
|
-
|
|
98
|
-
## [2.2.3](https://github.com/SAP/generator-easy-ui5/compare/v2.2.2...v2.2.3) (2020-11-05)
|
|
99
|
-
|
|
100
|
-
## [2.2.2](https://github.com/SAP/generator-easy-ui5/compare/v2.2.1...v2.2.2) (2020-10-28)
|
|
101
|
-
|
|
102
|
-
## [2.2.1](https://github.com/SAP/generator-easy-ui5/compare/v2.2.0...v2.2.1) (2020-10-23)
|
|
103
|
-
|
|
104
|
-
# [2.2.0](https://github.com/SAP/generator-easy-ui5/compare/v2.1.7...v2.2.0) (2020-10-16)
|
|
105
|
-
|
|
106
|
-
## [2.1.7](https://github.com/SAP/generator-easy-ui5/compare/v2.1.6...v2.1.7) (2020-09-10)
|
|
107
|
-
|
|
108
|
-
## [2.1.6](https://github.com/SAP/generator-easy-ui5/compare/v2.1.5...v2.1.6) (2020-08-24)
|
|
109
|
-
|
|
110
|
-
## [2.1.5](https://github.com/SAP/generator-easy-ui5/compare/v2.1.4...v2.1.5) (2020-08-24)
|
|
111
|
-
|
|
112
|
-
## [2.1.4](https://github.com/SAP/generator-easy-ui5/compare/v2.1.3...v2.1.4) (2020-08-06)
|
|
113
|
-
|
|
114
|
-
## [2.1.3](https://github.com/SAP/generator-easy-ui5/compare/v2.1.2...v2.1.3) (2020-08-03)
|
|
115
|
-
|
|
116
|
-
## [2.1.2](https://github.com/SAP/generator-easy-ui5/compare/v2.1.1...v2.1.2) (2020-06-29)
|
|
117
|
-
|
|
118
|
-
## [2.1.1](https://github.com/SAP/generator-easy-ui5/compare/v2.1.0...v2.1.1) (2020-06-18)
|
|
119
|
-
|
|
120
|
-
# [2.1.0](https://github.com/SAP/generator-easy-ui5/compare/v2.0.1...v2.1.0) (2020-06-15)
|
|
121
|
-
|
|
122
|
-
## [2.0.1](https://github.com/SAP/generator-easy-ui5/compare/v2.0.0...v2.0.1) (2020-06-09)
|
|
123
|
-
|
|
124
|
-
# [2.0.0](https://github.com/SAP/generator-easy-ui5/compare/v1.3.7...v2.0.0) (2020-06-08)
|
|
125
|
-
|
|
126
|
-
## [1.3.7](https://github.com/SAP/generator-easy-ui5/compare/v1.3.6...v1.3.7) (2020-05-06)
|
|
127
|
-
|
|
128
|
-
## [1.3.6](https://github.com/SAP/generator-easy-ui5/compare/v1.3.5...v1.3.6) (2020-05-06)
|
|
129
|
-
|
|
130
|
-
## [1.3.5](https://github.com/SAP/generator-easy-ui5/compare/v1.3.4...v1.3.5) (2020-04-30)
|
|
131
|
-
|
|
132
|
-
## [1.3.4](https://github.com/SAP/generator-easy-ui5/compare/v1.3.3...v1.3.4) (2020-04-29)
|
|
133
|
-
|
|
134
|
-
## [1.3.3](https://github.com/SAP/generator-easy-ui5/compare/v1.3.2...v1.3.3) (2020-04-14)
|
|
135
|
-
|
|
136
|
-
## [1.3.2](https://github.com/SAP/generator-easy-ui5/compare/v1.3.1...v1.3.2) (2020-04-02)
|
|
137
|
-
|
|
138
|
-
### Bug Fixes
|
|
139
|
-
|
|
140
|
-
- **app:** Fix lint errors ([c4df165](https://github.com/SAP/generator-easy-ui5/commit/c4df165e35b319aedfc932ac37d2593c0fa5e526))
|
|
141
|
-
- **formatter:** Fix formatter ([4f637c8](https://github.com/SAP/generator-easy-ui5/commit/4f637c81e2a916a0067d36f8d214a447a7a62212))
|
|
142
|
-
|
|
143
|
-
### Features
|
|
144
|
-
|
|
145
|
-
- **BaseController:** Adding the BaseController and formatter ([e51a66b](https://github.com/SAP/generator-easy-ui5/commit/e51a66bfcd8dea90fd27c7684264e1202bde3e47))
|
|
146
|
-
- **BaseController:** Fix lint and activate install again after creation ([8697b1b](https://github.com/SAP/generator-easy-ui5/commit/8697b1bdbcc3f82bb8eb5f0e9e750b37f0d44d8f))
|
|
147
|
-
|
|
148
|
-
## [1.3.1](https://github.com/SAP/generator-easy-ui5/compare/v1.3.0...v1.3.1) (2020-03-20)
|
|
149
|
-
|
|
150
|
-
# [1.3.0](https://github.com/SAP/generator-easy-ui5/compare/v1.2.0...v1.3.0) (2020-03-11)
|
|
151
|
-
|
|
152
|
-
# [1.2.0](https://github.com/SAP/generator-easy-ui5/compare/v1.1.1...v1.2.0) (2020-02-13)
|
|
153
|
-
|
|
154
|
-
## [1.1.1](https://github.com/SAP/generator-easy-ui5/compare/v1.0.3...v1.1.1) (2019-12-13)
|
|
155
|
-
|
|
156
|
-
## [1.0.3](https://github.com/SAP/generator-easy-ui5/compare/v1.0.2...v1.0.3) (2019-12-04)
|
|
157
|
-
|
|
158
|
-
## [1.0.2](https://github.com/SAP/generator-easy-ui5/compare/v1.0.1...v1.0.2) (2019-11-08)
|
|
159
|
-
|
|
160
|
-
## [1.0.1](https://github.com/SAP/generator-easy-ui5/compare/v1.0.0...v1.0.1) (2019-11-06)
|
|
161
|
-
|
|
162
|
-
# [1.0.0](https://github.com/SAP/generator-easy-ui5/compare/v0.3.4...v1.0.0) (2019-10-30)
|
|
163
|
-
|
|
164
|
-
## [0.3.4](https://github.com/SAP/generator-easy-ui5/compare/v0.3.3...v0.3.4) (2019-10-24)
|
|
165
|
-
|
|
166
|
-
## [0.3.3](https://github.com/SAP/generator-easy-ui5/compare/v0.3.2...v0.3.3) (2019-10-23)
|
|
167
|
-
|
|
168
|
-
## [0.3.2](https://github.com/SAP/generator-easy-ui5/compare/v0.3.1...v0.3.2) (2019-10-23)
|
|
169
|
-
|
|
170
|
-
## [0.3.1](https://github.com/SAP/generator-easy-ui5/compare/v2.0.2...v0.3.1) (2019-10-23)
|