From 8a3c184ce88d7456da3ec1daab861af6b05c799d Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 03:52:52 +0200 Subject: [PATCH 1/7] Move the `TestPrompt` and mocked answers to the test-package --- .../package-lock.json | 12 ++ .../generator-ts-project-test/package.json | 2 + .../src/Inquiry}/IMockedAnswer.ts | 0 .../src/Inquiry}/TestPrompt.ts | 2 +- .../src/TestContext.ts | 142 ++++++++++++++++++ .../generator-ts-project-test/src/index.ts | 2 + .../src/tests/TestContext.ts | 114 +++----------- 7 files changed, 184 insertions(+), 90 deletions(-) rename packages/{generator-ts-project/src/tests => generator-ts-project-test/src/Inquiry}/IMockedAnswer.ts (100%) rename packages/{generator-ts-project/src/tests => generator-ts-project-test/src/Inquiry}/TestPrompt.ts (92%) create mode 100644 packages/generator-ts-project-test/src/TestContext.ts diff --git a/packages/generator-ts-project-test/package-lock.json b/packages/generator-ts-project-test/package-lock.json index 7151f48d..3e35f746 100644 --- a/packages/generator-ts-project-test/package-lock.json +++ b/packages/generator-ts-project-test/package-lock.json @@ -15,6 +15,8 @@ "@manuth/temp-files": "^2.0.7", "@stdlib/utils-escape-regexp-string": "^0.0.7", "fs-extra": "^10.0.0", + "inquirer": "^8.1.2", + "mock-stdin": "^1.0.0", "npm-packlist": "^3.0.0", "ts-morph": "^12.0.0", "upath": "^2.0.1", @@ -6060,6 +6062,11 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mock-stdin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", + "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==" + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -13252,6 +13259,11 @@ } } }, + "mock-stdin": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mock-stdin/-/mock-stdin-1.0.0.tgz", + "integrity": "sha512-tukRdb9Beu27t6dN+XztSRHq9J0B/CoAOySGzHfn8UTfmqipA5yNT/sDUEyYdAV3Hpka6Wx6kOMxuObdOex60Q==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/packages/generator-ts-project-test/package.json b/packages/generator-ts-project-test/package.json index ba3499a6..29b69da8 100644 --- a/packages/generator-ts-project-test/package.json +++ b/packages/generator-ts-project-test/package.json @@ -46,6 +46,8 @@ "@manuth/temp-files": "^2.0.7", "@stdlib/utils-escape-regexp-string": "^0.0.7", "fs-extra": "^10.0.0", + "inquirer": "^8.1.2", + "mock-stdin": "^1.0.0", "npm-packlist": "^3.0.0", "ts-morph": "^12.0.0", "upath": "^2.0.1", diff --git a/packages/generator-ts-project/src/tests/IMockedAnswer.ts b/packages/generator-ts-project-test/src/Inquiry/IMockedAnswer.ts similarity index 100% rename from packages/generator-ts-project/src/tests/IMockedAnswer.ts rename to packages/generator-ts-project-test/src/Inquiry/IMockedAnswer.ts diff --git a/packages/generator-ts-project/src/tests/TestPrompt.ts b/packages/generator-ts-project-test/src/Inquiry/TestPrompt.ts similarity index 92% rename from packages/generator-ts-project/src/tests/TestPrompt.ts rename to packages/generator-ts-project-test/src/Inquiry/TestPrompt.ts index 7a244af8..b1614936 100644 --- a/packages/generator-ts-project/src/tests/TestPrompt.ts +++ b/packages/generator-ts-project-test/src/Inquiry/TestPrompt.ts @@ -1,6 +1,6 @@ import { Interface } from "readline"; +import { PromptBase } from "@manuth/generator-ts-project"; import { InputQuestionOptions } from "inquirer"; -import { PromptBase } from "../Components/Inquiry/Prompts/PromptBase"; /** * Provides a prompt for testing. diff --git a/packages/generator-ts-project-test/src/TestContext.ts b/packages/generator-ts-project-test/src/TestContext.ts new file mode 100644 index 00000000..7c9916ef --- /dev/null +++ b/packages/generator-ts-project-test/src/TestContext.ts @@ -0,0 +1,142 @@ +import inquirer = require("inquirer"); +import { MockSTDIN, stdin } from "mock-stdin"; +import { IMockedAnswer } from "./Inquiry/IMockedAnswer"; +import { TestPrompt } from "./Inquiry/TestPrompt"; + +/** + * Represents a context for testing. + */ +export class TestContext +{ + /** + * Initializes a new instance of the {@link TestContext `TestContext`} class. + */ + public constructor() + { } + + /** + * @inheritdoc + */ + public static get Default(): TestContext + { + return new TestContext(); + } + + /** + * Prompts the specified {@link questions `questions`} and mocks the specified {@link answers `answers`} to the {@link process.stdin `process.stdin`}. + * + * @param promptModule + * The component for prompting the questions. + * + * @param questions + * The questions to prompt. + * + * @param answers + * The answers to mock. + * + * @param mockedStdin + * The {@link MockSTDIN `MockSTDIN`}-instance to use. + * + * @returns + * The result of the prompts. + */ + public async MockPrompts(promptModule: inquirer.PromptModule, questions: Array>, answers: Array, mockedStdin?: MockSTDIN): Promise + { + let generatedMock = null; + + if (!mockedStdin) + { + generatedMock = stdin(); + mockedStdin = generatedMock; + } + + /** + * Sends the specified {@link input `input`} to the {@link process.stdin `process.stdin`}. + * + * @param input + * The input to send to the {@link process.stdin `process.stdin`}. + */ + function SendInput(input: string[]): void + { + for (let line of input) + { + mockedStdin.send(line); + } + } + + /** + * Processes the specified {@link mockedAnswer `mockedAnswer`}. + * + * @param mockedAnswer + * The mocked answer to process. + */ + function ProcessMockedAnswer(mockedAnswer: IMockedAnswer | string[]): void + { + let answer: IMockedAnswer; + + if (Array.isArray(mockedAnswer)) + { + answer = { + input: mockedAnswer + }; + } + else + { + answer = mockedAnswer; + } + + process.nextTick( + () => + { + answer?.preprocess?.(mockedStdin); + SendInput(answer?.input ?? []); + answer?.callback?.(mockedStdin); + }); + } + + try + { + let index = 0; + let result = promptModule(questions); + ProcessMockedAnswer(answers[index++]); + + result.ui.process.subscribe( + { + next: (answerHash) => + { + ProcessMockedAnswer(answers[index++]); + } + }); + + await result; + return result; + } + catch (exception) + { + throw exception; + } + finally + { + generatedMock?.restore(); + } + } + + /** + * Registers the {@link TestPrompt `TestPrompt`}. + * + * @param type + * The name of the type to register the {@link TestPrompt `TestPrompt`}. + * + * @param promptModule + * The prompt-module to register the {@link TestPrompt `TestPrompt`}. + */ + public RegisterTestPrompt(type: inquirer.QuestionTypeName = "input", promptModule?: inquirer.PromptModule | inquirer.Inquirer): void + { + if (!promptModule) + { + promptModule = inquirer; + } + + promptModule.registerPrompt(type, TestPrompt); + } +} diff --git a/packages/generator-ts-project-test/src/index.ts b/packages/generator-ts-project-test/src/index.ts index e81fba20..4bda6c8a 100644 --- a/packages/generator-ts-project-test/src/index.ts +++ b/packages/generator-ts-project-test/src/index.ts @@ -1,9 +1,11 @@ export { ConvertibleFileMappingTester } from "./ConvertibleFileMappingTester"; export { DependencyCollectionTester } from "./DependencyCollectionTester"; +export { IMockedAnswer } from "./Inquiry/IMockedAnswer"; export { JSONCFileMappingTester } from "./JSONCFileMappingTester"; export { NPMIgnoreFileMappingTester } from "./NPMIgnoreFileMappingTester"; export { PackageFileMappingTester } from "./PackageFileMappingTester"; export { ParsableFileMappingTester } from "./ParsableFileMappingTester"; export { ParsedFileMappingTester } from "./ParsedFileMappingTester"; +export { TestContext } from "./TestContext"; export { TypeScriptFileMappingTester } from "./TypeScriptFileMappingTester"; export { YAMLFileMappingTester } from "./YAMLFileMappingTester"; diff --git a/packages/generator-ts-project/src/tests/TestContext.ts b/packages/generator-ts-project/src/tests/TestContext.ts index 9e7377e4..f825035c 100644 --- a/packages/generator-ts-project/src/tests/TestContext.ts +++ b/packages/generator-ts-project/src/tests/TestContext.ts @@ -1,11 +1,10 @@ import { Generator } from "@manuth/extended-yo-generator"; import { ITestGeneratorOptions, ITestOptions, TestContext as GeneratorContext, TestGenerator } from "@manuth/extended-yo-generator-test"; -import inquirer = require("inquirer"); -import { MockSTDIN, stdin } from "mock-stdin"; +import { IMockedAnswer, TestContext as ProjectContext } from "@manuth/generator-ts-project-test"; +import { DistinctQuestion, Inquirer, PromptModule, QuestionTypeName } from "inquirer"; +import { MockSTDIN } from "mock-stdin"; import { CodeWorkspaceComponent } from "../VSCode/Components/CodeWorkspaceComponent"; import { TasksProcessor } from "../VSCode/TasksProcessor"; -import { IMockedAnswer } from "./IMockedAnswer"; -import { TestPrompt } from "./TestPrompt"; /** * Represents a context for testing. @@ -18,6 +17,11 @@ import { TestPrompt } from "./TestPrompt"; */ export class TestContext, TOptions extends Record = Record> extends GeneratorContext { + /** + * A context for testing project-generators. + */ + private projectTestContext: ProjectContext = null; + /** * A context for testing generators. */ @@ -101,6 +105,19 @@ export class TestContext, TOptions e return this.tasksProcessor; } + /** + * Gets a context for testing project-generators. + */ + protected get ProjectContext(): ProjectContext + { + if (this.projectTestContext === null) + { + this.projectTestContext = new ProjectContext(); + } + + return this.projectTestContext; + } + /** * Creates a workspace-folder directive. * @@ -133,85 +150,9 @@ export class TestContext, TOptions e * @returns * The result of the prompts. */ - public async MockPrompts(promptModule: inquirer.PromptModule, questions: Array>, answers: Array, mockedStdin?: MockSTDIN): Promise + public async MockPrompts(promptModule: PromptModule, questions: Array>, answers: Array, mockedStdin?: MockSTDIN): Promise { - let generatedMock = null; - - if (!mockedStdin) - { - generatedMock = stdin(); - mockedStdin = generatedMock; - } - - /** - * Sends the specified {@link input `input`} to the {@link process.stdin `process.stdin`}. - * - * @param input - * The input to send to the {@link process.stdin `process.stdin`}. - */ - function SendInput(input: string[]): void - { - for (let line of input) - { - mockedStdin.send(line); - } - } - - /** - * Processes the specified {@link mockedAnswer `mockedAnswer`}. - * - * @param mockedAnswer - * The mocked answer to process. - */ - function ProcessMockedAnswer(mockedAnswer: IMockedAnswer | string[]): void - { - let answer: IMockedAnswer; - - if (Array.isArray(mockedAnswer)) - { - answer = { - input: mockedAnswer - }; - } - else - { - answer = mockedAnswer; - } - - process.nextTick( - () => - { - answer?.preprocess?.(mockedStdin); - SendInput(answer?.input ?? []); - answer?.callback?.(mockedStdin); - }); - } - - try - { - let index = 0; - let result = promptModule(questions); - ProcessMockedAnswer(answers[index++]); - - result.ui.process.subscribe( - { - next: (answerHash) => - { - ProcessMockedAnswer(answers[index++]); - } - }); - - await result; - return result; - } - catch (exception) - { - throw exception; - } - finally - { - generatedMock?.restore(); - } + return this.ProjectContext.MockPrompts(promptModule, questions, answers, mockedStdin); } /** @@ -223,13 +164,8 @@ export class TestContext, TOptions e * @param promptModule * The prompt-module to register the {@link TestPrompt `TestPrompt`}. */ - public RegisterTestPrompt(type: inquirer.QuestionTypeName = "input", promptModule?: inquirer.PromptModule | inquirer.Inquirer): void + public RegisterTestPrompt(type: QuestionTypeName = "input", promptModule?: PromptModule | Inquirer): void { - if (!promptModule) - { - promptModule = inquirer; - } - - promptModule.registerPrompt(type, TestPrompt); + this.ProjectContext.RegisterTestPrompt(type, promptModule); } } From ab7d31d830d4fb56d2494d44a7a10e52705686b2 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 14:55:49 +0200 Subject: [PATCH 2/7] Add tests reflecting the changes --- .../package-lock.json | 245 ++++++++++++++---- .../generator-ts-project-test/package.json | 5 + .../src/tests/Inquiry/TestPrompt.test.ts | 73 ++++++ .../src/tests/Inquiry/index.ts | 15 ++ .../src/tests/TestContext.test.ts | 193 ++++++++++++++ .../src/tests/main.test.ts | 4 + 6 files changed, 482 insertions(+), 53 deletions(-) create mode 100644 packages/generator-ts-project-test/src/tests/Inquiry/TestPrompt.test.ts create mode 100644 packages/generator-ts-project-test/src/tests/Inquiry/index.ts create mode 100644 packages/generator-ts-project-test/src/tests/TestContext.test.ts diff --git a/packages/generator-ts-project-test/package-lock.json b/packages/generator-ts-project-test/package-lock.json index 3e35f746..1723c25c 100644 --- a/packages/generator-ts-project-test/package-lock.json +++ b/packages/generator-ts-project-test/package-lock.json @@ -28,15 +28,20 @@ "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", + "@types/mute-stream": "^0.0.1", "@types/node": "^16.7.6", "@types/npm-packlist": "^1.1.2", + "@types/sinon": "^10.0.2", "@types/ts-nameof": "^4.2.1", "concurrently": "^6.2.1", "dedent": "^0.7.0", "eslint": "^7.32.0", "mocha": "^9.1.1", + "mute-stream": "^0.0.8", + "random-js": "^2.1.0", "rimraf": "^3.0.2", "shusher": "^0.1.1", + "sinon": "^11.1.2", "ts-nameof": "^5.0.0", "ts-patch": "^1.4.4", "typescript": "^4.4.2" @@ -617,17 +622,19 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0" } }, "node_modules/@sinonjs/samsam": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", - "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", + "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", + "dev": true, "dependencies": { "@sinonjs/commons": "^1.6.0", "lodash.get": "^4.4.2", @@ -1839,6 +1846,15 @@ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, + "node_modules/@types/mute-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.1.tgz", + "integrity": "sha512-0yQLzYhCqGz7CQPE3iDmYjhb7KMBFOP+tBkyw+/Y2YyDI5wpS7itXXxneN1zSsUwWx3Ji6YiVYrhAnpQGS/vkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/node": { "version": "16.7.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", @@ -1855,6 +1871,15 @@ "integrity": "sha512-9NYoEH87t90e6dkaQOuUTY/R1xUE0a67sXzJBuAB+b+/z4FysHFD19g/O154ToGjyWqKYkezVUtuBdtfd4hyfw==", "dev": true }, + "node_modules/@types/sinon": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.2.tgz", + "integrity": "sha512-BHn8Bpkapj8Wdfxvh2jWIUoaYB/9/XhsL0oOvBfRagJtKlSl9NWPcFOz2lRukI9szwGxFtYZCTejJSqsGDbdmw==", + "dev": true, + "dependencies": { + "@sinonjs/fake-timers": "^7.1.0" + } + }, "node_modules/@types/text-table": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@types/text-table/-/text-table-0.2.2.tgz", @@ -6122,12 +6147,13 @@ } }, "node_modules/nise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", - "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", + "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", + "dev": true, "dependencies": { "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/fake-timers": "^7.0.4", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" @@ -7550,30 +7576,23 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "node_modules/sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", + "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", + "dev": true, "dependencies": { - "@sinonjs/commons": "^1.8.1", - "@sinonjs/fake-timers": "^6.0.1", - "@sinonjs/samsam": "^5.3.1", - "diff": "^4.0.2", - "nise": "^4.1.0", - "supports-color": "^7.1.0" + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^7.1.2", + "@sinonjs/samsam": "^6.0.2", + "diff": "^5.0.0", + "nise": "^5.1.0", + "supports-color": "^7.2.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon/node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -9036,6 +9055,61 @@ "yeoman-generator": "*" } }, + "node_modules/yeoman-test/node_modules/@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "dependencies": { + "@sinonjs/commons": "^1.7.0" + } + }, + "node_modules/yeoman-test/node_modules/@sinonjs/samsam": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", + "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "dependencies": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "node_modules/yeoman-test/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/yeoman-test/node_modules/nise": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", + "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "dependencies": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "node_modules/yeoman-test/node_modules/sinon": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", + "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", + "dependencies": { + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/samsam": "^5.3.1", + "diff": "^4.0.2", + "nise": "^4.1.0", + "supports-color": "^7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/sinon" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -9547,17 +9621,19 @@ } }, "@sinonjs/fake-timers": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", - "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz", + "integrity": "sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg==", + "dev": true, "requires": { "@sinonjs/commons": "^1.7.0" } }, "@sinonjs/samsam": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", - "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-6.0.2.tgz", + "integrity": "sha512-jxPRPp9n93ci7b8hMfJOFDPRLFYadN6FSpeROFTR4UNF4i5b+EK6m4QXPO46BDhFgRy1JuS87zAnFOzCUwMJcQ==", + "dev": true, "requires": { "@sinonjs/commons": "^1.6.0", "lodash.get": "^4.4.2", @@ -10092,6 +10168,15 @@ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, + "@types/mute-stream": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.1.tgz", + "integrity": "sha512-0yQLzYhCqGz7CQPE3iDmYjhb7KMBFOP+tBkyw+/Y2YyDI5wpS7itXXxneN1zSsUwWx3Ji6YiVYrhAnpQGS/vkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/node": { "version": "16.7.6", "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", @@ -10108,6 +10193,15 @@ "integrity": "sha512-9NYoEH87t90e6dkaQOuUTY/R1xUE0a67sXzJBuAB+b+/z4FysHFD19g/O154ToGjyWqKYkezVUtuBdtfd4hyfw==", "dev": true }, + "@types/sinon": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.2.tgz", + "integrity": "sha512-BHn8Bpkapj8Wdfxvh2jWIUoaYB/9/XhsL0oOvBfRagJtKlSl9NWPcFOz2lRukI9szwGxFtYZCTejJSqsGDbdmw==", + "dev": true, + "requires": { + "@sinonjs/fake-timers": "^7.1.0" + } + }, "@types/text-table": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/@types/text-table/-/text-table-0.2.2.tgz", @@ -13304,12 +13398,13 @@ "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "nise": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", - "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz", + "integrity": "sha512-W5WlHu+wvo3PaKLsJJkgPup2LrsXCcm7AWwyNZkUnn5rwPkuPBi3Iwk5SQtN0mv+K65k7nKKjwNQ30wg3wLAQQ==", + "dev": true, "requires": { "@sinonjs/commons": "^1.7.0", - "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/fake-timers": "^7.0.4", "@sinonjs/text-encoding": "^0.7.1", "just-extend": "^4.0.2", "path-to-regexp": "^1.7.0" @@ -14343,23 +14438,17 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" }, "sinon": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", - "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-11.1.2.tgz", + "integrity": "sha512-59237HChms4kg7/sXhiRcUzdSkKuydDeTiamT/jesUVHshBgL8XAmhgFo0GfK6RruMDM/iRSij1EybmMog9cJw==", + "dev": true, "requires": { - "@sinonjs/commons": "^1.8.1", - "@sinonjs/fake-timers": "^6.0.1", - "@sinonjs/samsam": "^5.3.1", - "diff": "^4.0.2", - "nise": "^4.1.0", - "supports-color": "^7.1.0" - }, - "dependencies": { - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - } + "@sinonjs/commons": "^1.8.3", + "@sinonjs/fake-timers": "^7.1.2", + "@sinonjs/samsam": "^6.0.2", + "diff": "^5.0.0", + "nise": "^5.1.0", + "supports-color": "^7.2.0" } }, "slash": { @@ -15476,6 +15565,56 @@ "mem-fs-editor": "^9.0.0", "sinon": "^10.0.0", "temp-dir": "^2.0.0" + }, + "dependencies": { + "@sinonjs/fake-timers": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz", + "integrity": "sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==", + "requires": { + "@sinonjs/commons": "^1.7.0" + } + }, + "@sinonjs/samsam": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-5.3.1.tgz", + "integrity": "sha512-1Hc0b1TtyfBu8ixF/tpfSHTVWKwCBLY4QJbkgnE7HcwyvT2xArDxb4K7dMgqRm3szI+LJbzmW/s4xxEhv6hwDg==", + "requires": { + "@sinonjs/commons": "^1.6.0", + "lodash.get": "^4.4.2", + "type-detect": "^4.0.8" + } + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" + }, + "nise": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/nise/-/nise-4.1.0.tgz", + "integrity": "sha512-eQMEmGN/8arp0xsvGoQ+B1qvSkR73B1nWSCh7nOt5neMCtwcQVYQGdzQMhcNscktTsWB54xnlSQFzOAPJD8nXA==", + "requires": { + "@sinonjs/commons": "^1.7.0", + "@sinonjs/fake-timers": "^6.0.0", + "@sinonjs/text-encoding": "^0.7.1", + "just-extend": "^4.0.2", + "path-to-regexp": "^1.7.0" + } + }, + "sinon": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-10.0.0.tgz", + "integrity": "sha512-XAn5DxtGVJBlBWYrcYKEhWCz7FLwZGdyvANRyK06419hyEpdT0dMc5A8Vcxg5SCGHc40CsqoKsc1bt1CbJPfNw==", + "requires": { + "@sinonjs/commons": "^1.8.1", + "@sinonjs/fake-timers": "^6.0.1", + "@sinonjs/samsam": "^5.3.1", + "diff": "^4.0.2", + "nise": "^4.1.0", + "supports-color": "^7.1.0" + } + } } }, "yocto-queue": { diff --git a/packages/generator-ts-project-test/package.json b/packages/generator-ts-project-test/package.json index 29b69da8..ac5d6679 100644 --- a/packages/generator-ts-project-test/package.json +++ b/packages/generator-ts-project-test/package.json @@ -59,15 +59,20 @@ "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", + "@types/mute-stream": "^0.0.1", "@types/node": "^16.7.6", "@types/npm-packlist": "^1.1.2", + "@types/sinon": "^10.0.2", "@types/ts-nameof": "^4.2.1", "concurrently": "^6.2.1", "dedent": "^0.7.0", "eslint": "^7.32.0", "mocha": "^9.1.1", + "mute-stream": "^0.0.8", + "random-js": "^2.1.0", "rimraf": "^3.0.2", "shusher": "^0.1.1", + "sinon": "^11.1.2", "ts-nameof": "^5.0.0", "ts-patch": "^1.4.4", "typescript": "^4.4.2" diff --git a/packages/generator-ts-project-test/src/tests/Inquiry/TestPrompt.test.ts b/packages/generator-ts-project-test/src/tests/Inquiry/TestPrompt.test.ts new file mode 100644 index 00000000..a864e5a9 --- /dev/null +++ b/packages/generator-ts-project-test/src/tests/Inquiry/TestPrompt.test.ts @@ -0,0 +1,73 @@ +import { strictEqual } from "assert"; +import { createInterface, Interface } from "readline"; +import { Question } from "inquirer"; +import { MockSTDIN, stdin } from "mock-stdin"; +import MuteStream = require("mute-stream"); +import { Random } from "random-js"; +import { TestPrompt } from "../../Inquiry/TestPrompt"; + +/** + * Registers tests for the {@link TestPrompt `TestPrompt`} class. + */ +export function TestPromptTests(): void +{ + suite( + nameof(TestPrompt), + () => + { + let random: Random; + let prompt: TestPrompt; + let mockedStdin: MockSTDIN; + let readLine: Interface; + let expectedResult: string; + + suiteSetup( + () => + { + random = new Random(); + }); + + setup( + () => + { + let muteStream = new MuteStream(); + muteStream.pipe(process.stdout); + mockedStdin = stdin(); + expectedResult = random.string(10); + + readLine = createInterface( + { + terminal: true, + input: process.stdin, + output: muteStream + }); + + prompt = new TestPrompt( + { + name: random.string(5), + default: expectedResult + }, + readLine, + {}); + }); + + teardown( + () => + { + readLine.close(); + mockedStdin.restore(); + }); + + suite( + nameof((prompt) => prompt.run), + () => + { + test( + `Checking whether the prompt resolves to the prompt's \`${nameof((q) => q.default)}\`-option…`, + async () => + { + strictEqual(await prompt.run(), expectedResult); + }); + }); + }); +} diff --git a/packages/generator-ts-project-test/src/tests/Inquiry/index.ts b/packages/generator-ts-project-test/src/tests/Inquiry/index.ts new file mode 100644 index 00000000..a22778bd --- /dev/null +++ b/packages/generator-ts-project-test/src/tests/Inquiry/index.ts @@ -0,0 +1,15 @@ +import { basename } from "path"; +import { TestPromptTests } from "./TestPrompt.test"; + +/** + * Registers tests for inquiry-components. + */ +export function InquiryTests(): void +{ + suite( + basename(__dirname), + () => + { + TestPromptTests(); + }); +} diff --git a/packages/generator-ts-project-test/src/tests/TestContext.test.ts b/packages/generator-ts-project-test/src/tests/TestContext.test.ts new file mode 100644 index 00000000..4df6b6d3 --- /dev/null +++ b/packages/generator-ts-project-test/src/tests/TestContext.test.ts @@ -0,0 +1,193 @@ +import { ok, strictEqual } from "assert"; +import { EOL } from "os"; +import { createPromptModule, prompt, PromptModule, QuestionTypeName } from "inquirer"; +import { MockSTDIN, stdin } from "mock-stdin"; +import { Random } from "random-js"; +import { stub } from "sinon"; +import { TestPrompt } from "../Inquiry/TestPrompt"; +import { TestContext } from "../TestContext"; + +/** + * Registers tests for the {@link TestContext `TestContext`} class. + */ +export function TestContextTests(): void +{ + suite( + nameof(TestContext), + () => + { + let random: Random; + let context: TestContext; + let promptModule: PromptModule; + let defaultTypeName: QuestionTypeName; + let firstQuestionName: string; + let secondQuestionName: string; + let firstAnswer: string; + let secondAnswer: string; + + suiteSetup( + () => + { + random = new Random(); + context = new TestContext(); + promptModule = createPromptModule(); + defaultTypeName = "input"; + firstQuestionName = "first"; + secondQuestionName = "second"; + firstAnswer = random.string(10); + secondAnswer = random.string(11); + }); + + setup( + () => + { + prompt.restoreDefaultPrompts(); + promptModule.restoreDefaultPrompts(); + }); + + suite( + nameof((context) => context.MockPrompts), + () => + { + test( + "Checking whether prompts can be mocked…", + async function() + { + this.timeout(4 * 1000); + this.slow(2 * 1000); + + let result = await context.MockPrompts( + promptModule, + [ + { + name: firstQuestionName + }, + { + name: secondQuestionName + } + ], + [ + [ + firstAnswer, + EOL + ], + [ + secondAnswer, + EOL + ] + ]); + + strictEqual(result[firstQuestionName], firstAnswer); + strictEqual(result[secondQuestionName], secondAnswer); + }); + + test( + "Checking whether mocks can define pre-processors and post-processors…", + async function() + { + this.timeout(4 * 1000); + this.slow(2 * 1000); + let key = random.string(4); + let value = random.string(20); + let preprocessor = stub(); + let callback = stub(); + + await context.MockPrompts( + promptModule, + [ + { + name: firstQuestionName + } + ], + [ + { + preprocess: (stdin) => + { + preprocessor(); + (stdin as any)[key] = value; + }, + input: [ + firstAnswer, + EOL + ], + callback: (stdin) => + { + strictEqual((stdin as any)[key], value); + callback(); + } + } + ]); + + ok(preprocessor.calledOnce); + ok(callback.calledOnce); + }); + + test( + `Checking whether a \`${nameof()}\`-instance can be passed to the method…`, + async () => + { + let mockedStdin = stdin(); + + try + { + let result = await context.MockPrompts( + promptModule, + [ + { + name: firstQuestionName + } + ], + [ + [ + firstAnswer, + EOL + ] + ], + mockedStdin); + + strictEqual(result[firstQuestionName], firstAnswer); + strictEqual(process.stdin, mockedStdin); + } + catch (exception) + { + throw exception; + } + finally + { + mockedStdin.end(); + } + }); + }); + + suite( + nameof((context) => context.RegisterTestPrompt), + () => + { + test( + `Checking whether the \`${nameof(TestPrompt)}\` can be registered…`, + () => + { + let type: QuestionTypeName = "input"; + context.RegisterTestPrompt(type, promptModule); + strictEqual(promptModule.prompts[type], TestPrompt); + }); + + test( + `Checking whether the \`${nameof(TestPrompt)}\` is registered to the root prompt-module by default…`, + () => + { + let type: QuestionTypeName = "checkbox"; + context.RegisterTestPrompt(type); + strictEqual(prompt.prompts[type], TestPrompt); + }); + + test( + `Checking whether the \`${nameof(TestPrompt)}\`-prompt is registered to the \`${defaultTypeName}\`-type by default…`, + () => + { + context.RegisterTestPrompt(); + strictEqual(prompt.prompts[defaultTypeName], TestPrompt); + }); + }); + }); +} diff --git a/packages/generator-ts-project-test/src/tests/main.test.ts b/packages/generator-ts-project-test/src/tests/main.test.ts index f3a97bc8..1dca385f 100644 --- a/packages/generator-ts-project-test/src/tests/main.test.ts +++ b/packages/generator-ts-project-test/src/tests/main.test.ts @@ -1,15 +1,19 @@ import { ConvertibleFileMappingTesterTests } from "./ConvertibleFileMappingTester.test"; import { DependencyCollectionTesterTests } from "./DependencyCollectionTester.test"; +import { InquiryTests } from "./Inquiry"; import { NPMIgnoreFileMappingTesterTests } from "./NPMIgnoreFileMappingTester.test"; import { PackageFileMappingTesterTests } from "./PackageFileMappingTester.test"; import { ParsableFileMappingTesterTests } from "./ParsableFileMappingTester.test"; import { ParsedFileMappingTesterTests } from "./ParsedFileMappingTester.test"; +import { TestContextTests } from "./TestContext.test"; import { TypeScriptFileMappingTesterTests } from "./TypeScriptFileMappingTester.test"; suite( "TSProjectGeneratorTest", () => { + InquiryTests(); + TestContextTests(); ParsableFileMappingTesterTests(); ConvertibleFileMappingTesterTests(); ParsedFileMappingTesterTests(); From 924b9304f7618cba0768797ca7dd9d41919357ed Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 20:12:13 +0200 Subject: [PATCH 3/7] Update all dependencies --- package-lock.json | 166 +++++++++--------- package.json | 2 +- .../generator-my-ts-project/package-lock.json | 166 +++++++++--------- packages/generator-my-ts-project/package.json | 2 +- .../package-lock.json | 166 +++++++++--------- .../generator-ts-project-test/package.json | 2 +- .../generator-ts-project/package-lock.json | 166 +++++++++--------- packages/generator-ts-project/package.json | 2 +- 8 files changed, 336 insertions(+), 336 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b0b4335..9dbe4986 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@types/gulp-rename": "^2.0.1", "@types/merge-stream": "^1.1.2", "@types/minimist": "^1.2.2", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-which": "^3.0.1", "@types/through2": "^2.0.36", "@types/vinyl": "^2.0.5", @@ -1899,9 +1899,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==", + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==", "dev": true }, "node_modules/@types/normalize-package-data": { @@ -1973,14 +1973,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -2005,13 +2005,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" }, "engines": { @@ -2024,16 +2024,16 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2049,15 +2049,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" }, "engines": { @@ -2077,14 +2077,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -2095,9 +2095,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -2108,13 +2108,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -2135,12 +2135,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -15338,9 +15338,9 @@ "dev": true }, "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==", + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==", "dev": true }, "@types/normalize-package-data": { @@ -15412,14 +15412,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -15428,69 +15428,69 @@ } }, "@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -15499,12 +15499,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/package.json b/package.json index 71a21b23..de0ba630 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@types/gulp-rename": "^2.0.1", "@types/merge-stream": "^1.1.2", "@types/minimist": "^1.2.2", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-which": "^3.0.1", "@types/through2": "^2.0.36", "@types/vinyl": "^2.0.5", diff --git a/packages/generator-my-ts-project/package-lock.json b/packages/generator-my-ts-project/package-lock.json index 2390f6af..6cfc6ffc 100644 --- a/packages/generator-my-ts-project/package-lock.json +++ b/packages/generator-my-ts-project/package-lock.json @@ -24,7 +24,7 @@ "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/ts-nameof": "^4.2.1", "@types/yaml": "^1.9.7", "concurrently": "^6.2.1", @@ -1596,9 +1596,9 @@ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "node_modules/@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -1683,14 +1683,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -1715,13 +1715,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" }, "engines": { @@ -1734,16 +1734,16 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -1759,15 +1759,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" }, "engines": { @@ -1787,14 +1787,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -1805,9 +1805,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -1818,13 +1818,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -1845,12 +1845,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -14745,9 +14745,9 @@ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" }, "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -14831,14 +14831,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -14847,69 +14847,69 @@ } }, "@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -14918,12 +14918,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/packages/generator-my-ts-project/package.json b/packages/generator-my-ts-project/package.json index b3cbb24d..78c52164 100644 --- a/packages/generator-my-ts-project/package.json +++ b/packages/generator-my-ts-project/package.json @@ -59,7 +59,7 @@ "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/ts-nameof": "^4.2.1", "@types/yaml": "^1.9.7", "concurrently": "^6.2.1", diff --git a/packages/generator-ts-project-test/package-lock.json b/packages/generator-ts-project-test/package-lock.json index 1723c25c..d75cb0df 100644 --- a/packages/generator-ts-project-test/package-lock.json +++ b/packages/generator-ts-project-test/package-lock.json @@ -29,7 +29,7 @@ "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", "@types/mute-stream": "^0.0.1", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-packlist": "^1.1.2", "@types/sinon": "^10.0.2", "@types/ts-nameof": "^4.2.1", @@ -1856,9 +1856,9 @@ } }, "node_modules/@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -1947,14 +1947,14 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -1979,13 +1979,13 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" }, "engines": { @@ -1998,16 +1998,16 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2023,15 +2023,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" }, "engines": { @@ -2051,14 +2051,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -2069,9 +2069,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -2082,13 +2082,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -2109,12 +2109,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -10178,9 +10178,9 @@ } }, "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -10269,14 +10269,14 @@ } }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -10285,69 +10285,69 @@ } }, "@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "dev": true, "peer": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "dev": true, "peer": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -10356,12 +10356,12 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dev": true, "requires": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/packages/generator-ts-project-test/package.json b/packages/generator-ts-project-test/package.json index ac5d6679..72a0ee1c 100644 --- a/packages/generator-ts-project-test/package.json +++ b/packages/generator-ts-project-test/package.json @@ -60,7 +60,7 @@ "@types/fs-extra": "^9.0.12", "@types/mocha": "^9.0.0", "@types/mute-stream": "^0.0.1", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-packlist": "^1.1.2", "@types/sinon": "^10.0.2", "@types/ts-nameof": "^4.2.1", diff --git a/packages/generator-ts-project/package-lock.json b/packages/generator-ts-project/package-lock.json index baeaca47..3fdb3690 100644 --- a/packages/generator-ts-project/package-lock.json +++ b/packages/generator-ts-project/package-lock.json @@ -48,7 +48,7 @@ "@types/lodash.kebabcase": "^4.1.6", "@types/mocha": "^9.0.0", "@types/mock-require": "^2.0.0", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-packlist": "^1.1.2", "@types/npm-which": "^3.0.1", "@types/sinon": "^10.0.2", @@ -1917,9 +1917,9 @@ } }, "node_modules/@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -2035,13 +2035,13 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -2066,12 +2066,12 @@ } }, "node_modules/@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "peer": true, "dependencies": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" }, "engines": { @@ -2084,15 +2084,15 @@ } }, "node_modules/@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "peer": true, "dependencies": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2108,14 +2108,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" }, "engines": { @@ -2135,13 +2135,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "peer": true, "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" }, "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" @@ -2152,9 +2152,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==", "engines": { "node": "^8.10.0 || ^10.13.0 || >=11.10.1" }, @@ -2164,12 +2164,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "dependencies": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -2190,11 +2190,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "dependencies": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" }, "engines": { @@ -15872,9 +15872,9 @@ } }, "@types/node": { - "version": "16.7.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.6.tgz", - "integrity": "sha512-VESVNFoa/ahYA62xnLBjo5ur6gPsgEE5cNRy8SrdnkZ2nwJSW0kJ4ufbFr2zuU9ALtHM8juY53VcRoTA7htXSg==" + "version": "16.7.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.7.tgz", + "integrity": "sha512-bxWC4rgIF/FjM7JsPvpk6ZKGITgw27qsYCbi6h4kWZWYpchOLENgvFaRBZUc64Q/M1y+X2EteahRbyo8QFCKdw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -15990,13 +15990,13 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.29.3.tgz", - "integrity": "sha512-tBgfA3K/3TsZY46ROGvoRxQr1wBkclbVqRQep97MjVHJzcRBURRY3sNFqLk0/Xr//BY5hM9H2p/kp+6qim85SA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.30.0.tgz", + "integrity": "sha512-NgAnqk55RQ/SD+tZFD9aPwNSeHmDHHe5rtUyhIq0ZeCWZEvo4DK9rYz7v9HDuQZFvn320Ot+AikaCKMFKLlD0g==", "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", - "@typescript-eslint/scope-manager": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", + "@typescript-eslint/scope-manager": "4.30.0", "debug": "^4.3.1", "functional-red-black-tree": "^1.0.1", "regexpp": "^3.1.0", @@ -16005,63 +16005,63 @@ } }, "@typescript-eslint/eslint-plugin-tslint": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.29.3.tgz", - "integrity": "sha512-wfepTRtdmvmMe13wpb8VU2E6Qxcy5ecuS3XnL+QN0H8su2I8Y+8UMg9CMTOkwXzn81r2g5m6Q1tAOizr0O3xbg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin-tslint/-/eslint-plugin-tslint-4.30.0.tgz", + "integrity": "sha512-/CeBE1HIrQfbCICDyRxxYw84C8qsi3S7pyZHYVEKjkHthIZI4YrgX1SbDZ8trO3seQI9Z26Ha9tawvfEfmPogA==", "peer": true, "requires": { - "@typescript-eslint/experimental-utils": "4.29.3", + "@typescript-eslint/experimental-utils": "4.30.0", "lodash": "^4.17.21" } }, "@typescript-eslint/experimental-utils": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.29.3.tgz", - "integrity": "sha512-ffIvbytTVWz+3keg+Sy94FG1QeOvmV9dP2YSdLFHw/ieLXWCa3U1TYu8IRCOpMv2/SPS8XqhM1+ou1YHsdzKrg==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.30.0.tgz", + "integrity": "sha512-K8RNIX9GnBsv5v4TjtwkKtqMSzYpjqAQg/oSphtxf3xxdt6T0owqnpojztjjTcatSteH3hLj3t/kklKx87NPqw==", "peer": true, "requires": { "@types/json-schema": "^7.0.7", - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/parser": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.29.3.tgz", - "integrity": "sha512-jrHOV5g2u8ROghmspKoW7pN8T/qUzk0+DITun0MELptvngtMrwUJ1tv5zMI04CYVEUsSrN4jV7AKSv+I0y0EfQ==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.30.0.tgz", + "integrity": "sha512-HJ0XuluSZSxeboLU7Q2VQ6eLlCwXPBOGnA7CqgBnz2Db3JRQYyBDJgQnop6TZ+rsbSx5gEdWhw4rE4mDa1FnZg==", "peer": true, "requires": { - "@typescript-eslint/scope-manager": "4.29.3", - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/typescript-estree": "4.29.3", + "@typescript-eslint/scope-manager": "4.30.0", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/typescript-estree": "4.30.0", "debug": "^4.3.1" } }, "@typescript-eslint/scope-manager": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.29.3.tgz", - "integrity": "sha512-x+w8BLXO7iWPkG5mEy9bA1iFRnk36p/goVlYobVWHyDw69YmaH9q6eA+Fgl7kYHmFvWlebUTUfhtIg4zbbl8PA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.30.0.tgz", + "integrity": "sha512-VJ/jAXovxNh7rIXCQbYhkyV2Y3Ac/0cVHP/FruTJSAUUm4Oacmn/nkN5zfWmWFEanN4ggP0vJSHOeajtHq3f8A==", "peer": true, "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3" + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0" } }, "@typescript-eslint/types": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.29.3.tgz", - "integrity": "sha512-s1eV1lKNgoIYLAl1JUba8NhULmf+jOmmeFO1G5MN/RBCyyzg4TIOfIOICVNC06lor+Xmy4FypIIhFiJXOknhIg==" + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.30.0.tgz", + "integrity": "sha512-YKldqbNU9K4WpTNwBqtAerQKLLW/X2A/j4yw92e3ZJYLx+BpKLeheyzoPfzIXHfM8BXfoleTdiYwpsvVPvHrDw==" }, "@typescript-eslint/typescript-estree": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.29.3.tgz", - "integrity": "sha512-45oQJA0bxna4O5TMwz55/TpgjX1YrAPOI/rb6kPgmdnemRZx/dB0rsx+Ku8jpDvqTxcE1C/qEbVHbS3h0hflag==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.30.0.tgz", + "integrity": "sha512-6WN7UFYvykr/U0Qgy4kz48iGPWILvYL34xXJxvDQeiRE018B7POspNRVtAZscWntEPZpFCx4hcz/XBT+erenfg==", "requires": { - "@typescript-eslint/types": "4.29.3", - "@typescript-eslint/visitor-keys": "4.29.3", + "@typescript-eslint/types": "4.30.0", + "@typescript-eslint/visitor-keys": "4.30.0", "debug": "^4.3.1", "globby": "^11.0.3", "is-glob": "^4.0.1", @@ -16070,11 +16070,11 @@ } }, "@typescript-eslint/visitor-keys": { - "version": "4.29.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.29.3.tgz", - "integrity": "sha512-MGGfJvXT4asUTeVs0Q2m+sY63UsfnA+C/FDgBKV3itLBmM9H0u+URcneePtkd0at1YELmZK6HSolCqM4Fzs6yA==", + "version": "4.30.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.30.0.tgz", + "integrity": "sha512-pNaaxDt/Ol/+JZwzP7MqWc8PJQTUhZwoee/PVlQ+iYoYhagccvoHnC9e4l+C/krQYYkENxznhVSDwClIbZVxRw==", "requires": { - "@typescript-eslint/types": "4.29.3", + "@typescript-eslint/types": "4.30.0", "eslint-visitor-keys": "^2.0.0" } }, diff --git a/packages/generator-ts-project/package.json b/packages/generator-ts-project/package.json index d9b5a45f..5d85af38 100644 --- a/packages/generator-ts-project/package.json +++ b/packages/generator-ts-project/package.json @@ -83,7 +83,7 @@ "@types/lodash.kebabcase": "^4.1.6", "@types/mocha": "^9.0.0", "@types/mock-require": "^2.0.0", - "@types/node": "^16.7.6", + "@types/node": "^16.7.7", "@types/npm-packlist": "^1.1.2", "@types/npm-which": "^3.0.1", "@types/sinon": "^10.0.2", From 83c1ab6a5a6d3157fc5119094997c060cfddffca Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 22:26:26 +0200 Subject: [PATCH 4/7] Force the user to pass a prompt-module to the `RegisterTestPrompt`-method --- .../src/TestContext.ts | 17 ++++++----------- .../src/tests/TestContext.test.ts | 13 ++----------- .../Inquiry/Prompts/ArrayPrompt.test.ts | 2 +- .../Inquiry/Prompts/QuestionSetPrompt.test.ts | 2 +- .../Inquiry/Prompts/SubGeneratorPrompt.test.ts | 4 ++-- .../src/tests/TestContext.ts | 10 +++++----- 6 files changed, 17 insertions(+), 31 deletions(-) diff --git a/packages/generator-ts-project-test/src/TestContext.ts b/packages/generator-ts-project-test/src/TestContext.ts index 7c9916ef..77604ec7 100644 --- a/packages/generator-ts-project-test/src/TestContext.ts +++ b/packages/generator-ts-project-test/src/TestContext.ts @@ -1,4 +1,4 @@ -import inquirer = require("inquirer"); +import { DistinctQuestion, Inquirer, PromptModule, QuestionTypeName } from "inquirer"; import { MockSTDIN, stdin } from "mock-stdin"; import { IMockedAnswer } from "./Inquiry/IMockedAnswer"; import { TestPrompt } from "./Inquiry/TestPrompt"; @@ -40,7 +40,7 @@ export class TestContext * @returns * The result of the prompts. */ - public async MockPrompts(promptModule: inquirer.PromptModule, questions: Array>, answers: Array, mockedStdin?: MockSTDIN): Promise + public async MockPrompts(promptModule: PromptModule, questions: Array>, answers: Array, mockedStdin?: MockSTDIN): Promise { let generatedMock = null; @@ -124,19 +124,14 @@ export class TestContext /** * Registers the {@link TestPrompt `TestPrompt`}. * - * @param type - * The name of the type to register the {@link TestPrompt `TestPrompt`}. - * * @param promptModule * The prompt-module to register the {@link TestPrompt `TestPrompt`}. + * + * @param type + * The name of the type to register the {@link TestPrompt `TestPrompt`}. */ - public RegisterTestPrompt(type: inquirer.QuestionTypeName = "input", promptModule?: inquirer.PromptModule | inquirer.Inquirer): void + public RegisterTestPrompt(promptModule: PromptModule | Inquirer, type: QuestionTypeName = "input"): void { - if (!promptModule) - { - promptModule = inquirer; - } - promptModule.registerPrompt(type, TestPrompt); } } diff --git a/packages/generator-ts-project-test/src/tests/TestContext.test.ts b/packages/generator-ts-project-test/src/tests/TestContext.test.ts index 4df6b6d3..17e831b3 100644 --- a/packages/generator-ts-project-test/src/tests/TestContext.test.ts +++ b/packages/generator-ts-project-test/src/tests/TestContext.test.ts @@ -168,24 +168,15 @@ export function TestContextTests(): void () => { let type: QuestionTypeName = "input"; - context.RegisterTestPrompt(type, promptModule); + context.RegisterTestPrompt(promptModule, type); strictEqual(promptModule.prompts[type], TestPrompt); }); - test( - `Checking whether the \`${nameof(TestPrompt)}\` is registered to the root prompt-module by default…`, - () => - { - let type: QuestionTypeName = "checkbox"; - context.RegisterTestPrompt(type); - strictEqual(prompt.prompts[type], TestPrompt); - }); - test( `Checking whether the \`${nameof(TestPrompt)}\`-prompt is registered to the \`${defaultTypeName}\`-type by default…`, () => { - context.RegisterTestPrompt(); + context.RegisterTestPrompt(prompt); strictEqual(prompt.prompts[defaultTypeName], TestPrompt); }); }); diff --git a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/ArrayPrompt.test.ts b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/ArrayPrompt.test.ts index e589c413..71a8ad7a 100644 --- a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/ArrayPrompt.test.ts +++ b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/ArrayPrompt.test.ts @@ -75,7 +75,7 @@ export function ArrayPromptTests(): void let i = 0; testLength = 1; testValue = context.RandomObject; - context.RegisterTestPrompt("confirm"); + context.RegisterTestPrompt(prompt, "confirm"); mock(inquirerModuleName, require.resolve(inquirerModuleName)); registerPrompt(type, TestArrayPrompt); repeat = () => ++i < testLength; diff --git a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/QuestionSetPrompt.test.ts b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/QuestionSetPrompt.test.ts index 355ddd03..7314fbc1 100644 --- a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/QuestionSetPrompt.test.ts +++ b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/QuestionSetPrompt.test.ts @@ -59,7 +59,7 @@ export function QuestionSetPromptTests(): void { promptModule = createPromptModule(); promptModule.registerPrompt(QuestionSetPrompt.TypeName, QuestionSetPrompt); - context.RegisterTestPrompt("input", promptModule); + context.RegisterTestPrompt(promptModule, "input"); name = TestContext.Default.RandomString; message = TestContext.Default.RandomString; diff --git a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/SubGeneratorPrompt.test.ts b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/SubGeneratorPrompt.test.ts index 858e1997..58d56d4f 100644 --- a/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/SubGeneratorPrompt.test.ts +++ b/packages/generator-ts-project/src/tests/Components/Inquiry/Prompts/SubGeneratorPrompt.test.ts @@ -42,8 +42,8 @@ export function SubGeneratorPromptTests(): void () => { length = context.Random.integer(1, 10); - context.RegisterTestPrompt(); - context.RegisterTestPrompt("confirm"); + context.RegisterTestPrompt(prompt); + context.RegisterTestPrompt(prompt, "confirm"); mock(inquirerModuleName, require.resolve(inquirerModuleName)); registerPrompt(SubGeneratorPrompt.TypeName, SubGeneratorPrompt); repeat = (answers) => (answers[testKey] as ISubGenerator[]).length < length; diff --git a/packages/generator-ts-project/src/tests/TestContext.ts b/packages/generator-ts-project/src/tests/TestContext.ts index f825035c..f210b5e1 100644 --- a/packages/generator-ts-project/src/tests/TestContext.ts +++ b/packages/generator-ts-project/src/tests/TestContext.ts @@ -158,14 +158,14 @@ export class TestContext, TOptions e /** * Registers the {@link TestPrompt `TestPrompt`}. * - * @param type - * The name of the type to register the {@link TestPrompt `TestPrompt`}. - * * @param promptModule * The prompt-module to register the {@link TestPrompt `TestPrompt`}. + * + * @param type + * The name of the type to register the {@link TestPrompt `TestPrompt`}. */ - public RegisterTestPrompt(type: QuestionTypeName = "input", promptModule?: PromptModule | Inquirer): void + public RegisterTestPrompt(promptModule: PromptModule | Inquirer, type: QuestionTypeName = "input"): void { - this.ProjectContext.RegisterTestPrompt(type, promptModule); + this.ProjectContext.RegisterTestPrompt(promptModule, type); } } From 3676479048fa9e030aea36cba2fdec31a470bcc1 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 23:07:49 +0200 Subject: [PATCH 5/7] Add changelog-entries --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 25f24f6a..03200ce2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## TSProjectGenerator [Unreleased] +### Added + - Components for testing prompts [Show differences](https://github.com/manuth/TSProjectGenerator/compare/v3.0.7...dev) From 9ba62ea0747b348d793bd618458da3399bb418fb Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 23:09:27 +0200 Subject: [PATCH 6/7] Update the changelog --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 03200ce2..c1b11df1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,10 +5,14 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## TSProjectGenerator [Unreleased] + +[Show differences](https://github.com/manuth/TSProjectGenerator/compare/v3.0.8...dev) + +## TSProjectGenerator v3.0.8 ### Added - Components for testing prompts -[Show differences](https://github.com/manuth/TSProjectGenerator/compare/v3.0.7...dev) +[Show differences](https://github.com/manuth/TSProjectGenerator/compare/v3.0.7...v3.0.8) ## TSProjectGenerator v3.0.7 ### Added From 6f53c4131bc1be4adf8891b6755b405ee474bdc8 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Mon, 30 Aug 2021 23:09:48 +0200 Subject: [PATCH 7/7] Bump the version number to v3.0.8 --- lerna.json | 2 +- packages/generator-my-ts-project/package-lock.json | 4 ++-- packages/generator-my-ts-project/package.json | 6 +++--- packages/generator-ts-project-test/package-lock.json | 4 ++-- packages/generator-ts-project-test/package.json | 4 ++-- packages/generator-ts-project/package-lock.json | 4 ++-- packages/generator-ts-project/package.json | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lerna.json b/lerna.json index e0685aaf..3e679024 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "3.0.7", + "version": "3.0.8", "packages": [ "./packages/*" ], diff --git a/packages/generator-my-ts-project/package-lock.json b/packages/generator-my-ts-project/package-lock.json index 6cfc6ffc..5e876a4a 100644 --- a/packages/generator-my-ts-project/package-lock.json +++ b/packages/generator-my-ts-project/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manuth/generator-my-ts-project", - "version": "3.0.7", + "version": "3.0.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manuth/generator-my-ts-project", - "version": "3.0.7", + "version": "3.0.8", "license": "MIT", "dependencies": { "@manuth/extended-yo-generator": "^11.0.4", diff --git a/packages/generator-my-ts-project/package.json b/packages/generator-my-ts-project/package.json index 78c52164..f6da579a 100644 --- a/packages/generator-my-ts-project/package.json +++ b/packages/generator-my-ts-project/package.json @@ -1,6 +1,6 @@ { "name": "@manuth/generator-my-ts-project", - "version": "3.0.7", + "version": "3.0.8", "description": "Generates TypeScript-Projects with custom additions", "author": "Manuel Thalmann ", "license": "MIT", @@ -43,7 +43,7 @@ }, "dependencies": { "@manuth/extended-yo-generator": "^11.0.4", - "@manuth/generator-ts-project": "^3.0.7", + "@manuth/generator-ts-project": "^3.0.8", "@manuth/package-json-editor": "2.2.3", "comment-json": "^4.1.1", "detect-newline": "^3.1.0", @@ -54,7 +54,7 @@ "devDependencies": { "@manuth/eslint-plugin-typescript": "^3.2.5", "@manuth/extended-yo-generator-test": "^11.0.4", - "@manuth/generator-ts-project-test": "^3.0.7", + "@manuth/generator-ts-project-test": "^3.0.8", "@manuth/temp-files": "^2.0.7", "@types/dedent": "^0.7.0", "@types/fs-extra": "^9.0.12", diff --git a/packages/generator-ts-project-test/package-lock.json b/packages/generator-ts-project-test/package-lock.json index d75cb0df..dbafd5c7 100644 --- a/packages/generator-ts-project-test/package-lock.json +++ b/packages/generator-ts-project-test/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manuth/generator-ts-project-test", - "version": "3.0.7", + "version": "3.0.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manuth/generator-ts-project-test", - "version": "3.0.7", + "version": "3.0.8", "license": "MIT", "dependencies": { "@manuth/extended-yo-generator": "^11.0.4", diff --git a/packages/generator-ts-project-test/package.json b/packages/generator-ts-project-test/package.json index 72a0ee1c..58927528 100644 --- a/packages/generator-ts-project-test/package.json +++ b/packages/generator-ts-project-test/package.json @@ -1,6 +1,6 @@ { "name": "@manuth/generator-ts-project-test", - "version": "3.0.7", + "version": "3.0.8", "description": "Provides the functionality to test `TSProjectGenerator`-components", "author": "Manuel Thalmann ", "license": "MIT", @@ -41,7 +41,7 @@ "dependencies": { "@manuth/extended-yo-generator": "^11.0.4", "@manuth/extended-yo-generator-test": "^11.0.4", - "@manuth/generator-ts-project": "^3.0.7", + "@manuth/generator-ts-project": "^3.0.8", "@manuth/package-json-editor": "^2.2.3", "@manuth/temp-files": "^2.0.7", "@stdlib/utils-escape-regexp-string": "^0.0.7", diff --git a/packages/generator-ts-project/package-lock.json b/packages/generator-ts-project/package-lock.json index 3fdb3690..55d11f71 100644 --- a/packages/generator-ts-project/package-lock.json +++ b/packages/generator-ts-project/package-lock.json @@ -1,12 +1,12 @@ { "name": "@manuth/generator-ts-project", - "version": "3.0.7", + "version": "3.0.8", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@manuth/generator-ts-project", - "version": "3.0.7", + "version": "3.0.8", "license": "MIT", "dependencies": { "@manuth/eslint-plugin-typescript": "^3.2.5", diff --git a/packages/generator-ts-project/package.json b/packages/generator-ts-project/package.json index 5d85af38..87711e7c 100644 --- a/packages/generator-ts-project/package.json +++ b/packages/generator-ts-project/package.json @@ -1,6 +1,6 @@ { "name": "@manuth/generator-ts-project", - "version": "3.0.7", + "version": "3.0.8", "description": "A Set of Generators for Creating Projects Written in TypeScript", "author": "Manuel Thalmann ", "license": "MIT", @@ -71,7 +71,7 @@ }, "devDependencies": { "@manuth/extended-yo-generator-test": "^11.0.4", - "@manuth/generator-ts-project-test": "^3.0.7", + "@manuth/generator-ts-project-test": "^3.0.8", "@manuth/tsconfig": "^2.0.3", "@manuth/typescript-eslint-plugin": "^1.4.2", "@types/dedent": "^0.7.0",