@tsed/cli-testing 3.24.0 → 4.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,6 @@ const cli_core_1 = require("@tsed/cli-core");
5
5
  const FakeCliExeca_1 = require("./FakeCliExeca");
6
6
  const FakeCliFs_1 = require("./FakeCliFs");
7
7
  const FakeCliHttpClient_1 = require("./FakeCliHttpClient");
8
- const di_1 = require("@tsed/di");
9
8
  class CliPlatformTest extends cli_core_1.DITest {
10
9
  static async bootstrap(options = {}) {
11
10
  cli_core_1.DITest.injector = CliPlatformTest.createInjector({
@@ -38,8 +37,10 @@ class CliPlatformTest extends cli_core_1.DITest {
38
37
  name: "tsed",
39
38
  ...options
40
39
  });
41
- const container = (0, di_1.createContainer)();
42
- await cli_core_1.DITest.injector.load(container, rootModule);
40
+ cli_core_1.DITest.injector.addProvider(cli_core_1.CliCore, {
41
+ useClass: rootModule
42
+ });
43
+ await cli_core_1.DITest.injector.load();
43
44
  }
44
45
  /**
45
46
  * Create a new injector with the right default services
@@ -1 +1 @@
1
- {"version":3,"file":"CliPlatformTest.js","sourceRoot":"","sources":["../../src/CliPlatformTest.ts"],"names":[],"mappings":";;;AAAA,6CAWwB;AAExB,iDAA4C;AAC5C,2CAAsC;AACtC,2DAAsD;AACtD,iCAAyC;AAOzC,MAAa,eAAgB,SAAQ,iBAAM;IACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAuC,EAAE;QAC9D,iBAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC;YAC/C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;gBAC5C,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,SAAS;gBACrB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;YACD,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,iBAAM,CAAC,QAAQ;aACZ,WAAW,CAAC,wBAAa,EAAE;YAC1B,QAAQ,EAAE,qCAAiB;SAC5B,CAAC;aACD,WAAW,CAAC,gBAAK,EAAE;YAClB,QAAQ,EAAE,qBAAS;SACpB,CAAC;aACD,WAAW,CAAC,mBAAQ,EAAE;YACrB,QAAQ,EAAE,2BAAY;SACvB,CAAC;aACD,WAAW,CAAC,kBAAO,CAAC,CAAC;QAExB,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,eAAe,CAAC,GAAG,CAAC,qBAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAuC,EAAE,EAAE,aAAmB,kBAAO;QACvF,iBAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC;YAC/C,IAAI,EAAE,MAAM;YACZ,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAA,oBAAe,GAAE,CAAC;QACpC,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAuC,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC;YAC9B,GAAG,OAAO;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,OAAO;aACV;YACR,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,cAAG,CAAC,IAAI,CAAC;QAEjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CAAI,OAAc,EAAE,IAAwC;QACvE,OAAO,KAAK,IAAgB,EAAE;YAC5B,IAAI,CAAC,iBAAM,CAAC,WAAW,EAAE,EAAE;gBACzB,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;aAChC;YAED,MAAM,QAAQ,GAAoB,iBAAM,CAAC,QAAQ,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,CAAC;YAEhB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACxF;YAED,OAAO,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;CACF;AAzFD,0CAyFC","sourcesContent":["import {\n CliCore,\n CliExeca,\n CliFs,\n CliHttpClient,\n CliService,\n createInjector,\n DITest,\n Env,\n InjectorService,\n TokenProvider\n} from \"@tsed/cli-core\";\nimport {Type} from \"@tsed/core\";\nimport {FakeCliExeca} from \"./FakeCliExeca\";\nimport {FakeCliFs} from \"./FakeCliFs\";\nimport {FakeCliHttpClient} from \"./FakeCliHttpClient\";\nimport {createContainer} from \"@tsed/di\";\n\nexport interface InvokeOptions {\n token: TokenProvider;\n use: any;\n}\n\nexport class CliPlatformTest extends DITest {\n static async bootstrap(options: Partial<TsED.Configuration> = {}) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n project: {\n rootDir: options.rootDir || \"./project-name\",\n srcDir: \"src\",\n scriptsDir: \"scripts\",\n ...(options.project || {})\n },\n ...options\n });\n\n DITest.injector\n .addProvider(CliHttpClient, {\n useClass: FakeCliHttpClient\n })\n .addProvider(CliFs, {\n useClass: FakeCliFs\n })\n .addProvider(CliExeca, {\n useClass: FakeCliExeca\n })\n .addProvider(CliCore);\n\n await DITest.injector.load();\n await DITest.injector.emit(\"$onReady\");\n\n CliPlatformTest.get(CliService).load();\n }\n\n static async create(options: Partial<TsED.Configuration> = {}, rootModule: Type = CliCore) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n ...options\n });\n const container = createContainer();\n await DITest.injector.load(container, rootModule);\n }\n\n /**\n * Create a new injector with the right default services\n */\n static createInjector(options: Partial<TsED.Configuration> = {}): InjectorService {\n const injector = createInjector({\n ...options,\n pkg: {\n name: \"@tsed/cli-testing\",\n version: \"1.0.0\"\n } as any,\n project: {\n rootDir: \"./tmp\",\n srcDir: \"src\",\n ...(options.project || {})\n }\n });\n\n injector.settings.env = Env.TEST;\n\n return injector;\n }\n\n /**\n * It injects services into the test function where you can alter, spy on, and manipulate them.\n *\n * The inject function has two parameters\n *\n * * an array of Service dependency injection tokens,\n * * a test function whose parameters correspond exactly to each item in the injection token array.\n *\n * @param targets\n * @param func\n */\n static inject<T>(targets: any[], func: (...args: any[]) => Promise<T> | T): () => Promise<T> {\n return async (): Promise<T> => {\n if (!DITest.hasInjector()) {\n await CliPlatformTest.create();\n }\n\n const injector: InjectorService = DITest.injector;\n const deps = [];\n\n for (const target of targets) {\n deps.push(injector.has(target) ? injector.get(target) : await injector.invoke(target));\n }\n\n return await func(...deps);\n };\n }\n}\n"]}
1
+ {"version":3,"file":"CliPlatformTest.js","sourceRoot":"","sources":["../../src/CliPlatformTest.ts"],"names":[],"mappings":";;;AAAA,6CAWwB;AAExB,iDAA4C;AAC5C,2CAAsC;AACtC,2DAAsD;AAOtD,MAAa,eAAgB,SAAQ,iBAAM;IACzC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,UAAuC,EAAE;QAC9D,iBAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC;YAC/C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;gBAC5C,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,SAAS;gBACrB,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;YACD,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,iBAAM,CAAC,QAAQ;aACZ,WAAW,CAAC,wBAAa,EAAE;YAC1B,QAAQ,EAAE,qCAAiB;SAC5B,CAAC;aACD,WAAW,CAAC,gBAAK,EAAE;YAClB,QAAQ,EAAE,qBAAS;SACpB,CAAC;aACD,WAAW,CAAC,mBAAQ,EAAE;YACrB,QAAQ,EAAE,2BAAY;SACvB,CAAC;aACD,WAAW,CAAC,kBAAO,CAAC,CAAC;QAExB,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEvC,eAAe,CAAC,GAAG,CAAC,qBAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAuC,EAAE,EAAE,aAAmB,kBAAO;QACvF,iBAAM,CAAC,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC;YAC/C,IAAI,EAAE,MAAM;YACZ,GAAG,OAAO;SACX,CAAC,CAAC;QAEH,iBAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,kBAAO,EAAE;YACnC,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QAEH,MAAM,iBAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAuC,EAAE;QAC7D,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC;YAC9B,GAAG,OAAO;YACV,GAAG,EAAE;gBACH,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,OAAO;aACV;YACR,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,KAAK;gBACb,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;SACF,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,CAAC,GAAG,GAAG,cAAG,CAAC,IAAI,CAAC;QAEjC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,MAAM,CAAI,OAAc,EAAE,IAAwC;QACvE,OAAO,KAAK,IAAgB,EAAE;YAC5B,IAAI,CAAC,iBAAM,CAAC,WAAW,EAAE,EAAE;gBACzB,MAAM,eAAe,CAAC,MAAM,EAAE,CAAC;aAChC;YAED,MAAM,QAAQ,GAAoB,iBAAM,CAAC,QAAQ,CAAC;YAClD,MAAM,IAAI,GAAG,EAAE,CAAC;YAEhB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACxF;YAED,OAAO,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC;CACF;AA7FD,0CA6FC","sourcesContent":["import {\n CliCore,\n CliExeca,\n CliFs,\n CliHttpClient,\n CliService,\n createInjector,\n DITest,\n Env,\n InjectorService,\n TokenProvider\n} from \"@tsed/cli-core\";\nimport {Type} from \"@tsed/core\";\nimport {FakeCliExeca} from \"./FakeCliExeca\";\nimport {FakeCliFs} from \"./FakeCliFs\";\nimport {FakeCliHttpClient} from \"./FakeCliHttpClient\";\n\nexport interface InvokeOptions {\n token: TokenProvider;\n use: any;\n}\n\nexport class CliPlatformTest extends DITest {\n static async bootstrap(options: Partial<TsED.Configuration> = {}) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n project: {\n rootDir: options.rootDir || \"./project-name\",\n srcDir: \"src\",\n scriptsDir: \"scripts\",\n ...(options.project || {})\n },\n ...options\n });\n\n DITest.injector\n .addProvider(CliHttpClient, {\n useClass: FakeCliHttpClient\n })\n .addProvider(CliFs, {\n useClass: FakeCliFs\n })\n .addProvider(CliExeca, {\n useClass: FakeCliExeca\n })\n .addProvider(CliCore);\n\n await DITest.injector.load();\n await DITest.injector.emit(\"$onReady\");\n\n CliPlatformTest.get(CliService).load();\n }\n\n static async create(options: Partial<TsED.Configuration> = {}, rootModule: Type = CliCore) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n ...options\n });\n\n DITest.injector.addProvider(CliCore, {\n useClass: rootModule\n });\n\n await DITest.injector.load();\n }\n\n /**\n * Create a new injector with the right default services\n */\n static createInjector(options: Partial<TsED.Configuration> = {}): InjectorService {\n const injector = createInjector({\n ...options,\n pkg: {\n name: \"@tsed/cli-testing\",\n version: \"1.0.0\"\n } as any,\n project: {\n rootDir: \"./tmp\",\n srcDir: \"src\",\n ...(options.project || {})\n }\n });\n\n injector.settings.env = Env.TEST;\n\n return injector;\n }\n\n /**\n * It injects services into the test function where you can alter, spy on, and manipulate them.\n *\n * The inject function has two parameters\n *\n * * an array of Service dependency injection tokens,\n * * a test function whose parameters correspond exactly to each item in the injection token array.\n *\n * @param targets\n * @param func\n */\n static inject<T>(targets: any[], func: (...args: any[]) => Promise<T> | T): () => Promise<T> {\n return async (): Promise<T> => {\n if (!DITest.hasInjector()) {\n await CliPlatformTest.create();\n }\n\n const injector: InjectorService = DITest.injector;\n const deps = [];\n\n for (const target of targets) {\n deps.push(injector.has(target) ? injector.get(target) : await injector.invoke(target));\n }\n\n return await func(...deps);\n };\n }\n}\n"]}
@@ -2,7 +2,6 @@ import { CliCore, CliExeca, CliFs, CliHttpClient, CliService, createInjector, DI
2
2
  import { FakeCliExeca } from "./FakeCliExeca.js";
3
3
  import { FakeCliFs } from "./FakeCliFs.js";
4
4
  import { FakeCliHttpClient } from "./FakeCliHttpClient.js";
5
- import { createContainer } from "@tsed/di";
6
5
  export class CliPlatformTest extends DITest {
7
6
  static async bootstrap(options = {}) {
8
7
  DITest.injector = CliPlatformTest.createInjector({
@@ -35,8 +34,10 @@ export class CliPlatformTest extends DITest {
35
34
  name: "tsed",
36
35
  ...options
37
36
  });
38
- const container = createContainer();
39
- await DITest.injector.load(container, rootModule);
37
+ DITest.injector.addProvider(CliCore, {
38
+ useClass: rootModule
39
+ });
40
+ await DITest.injector.load();
40
41
  }
41
42
  /**
42
43
  * Create a new injector with the right default services
@@ -1 +1 @@
1
- {"version":3,"file":"CliPlatformTest.js","sourceRoot":"","sources":["../../src/CliPlatformTest.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CliCore,\n CliExeca,\n CliFs,\n CliHttpClient,\n CliService,\n createInjector,\n DITest,\n Env,\n InjectorService,\n TokenProvider\n} from \"@tsed/cli-core\";\nimport {Type} from \"@tsed/core\";\nimport {FakeCliExeca} from \"./FakeCliExeca\";\nimport {FakeCliFs} from \"./FakeCliFs\";\nimport {FakeCliHttpClient} from \"./FakeCliHttpClient\";\nimport {createContainer} from \"@tsed/di\";\n\nexport interface InvokeOptions {\n token: TokenProvider;\n use: any;\n}\n\nexport class CliPlatformTest extends DITest {\n static async bootstrap(options: Partial<TsED.Configuration> = {}) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n project: {\n rootDir: options.rootDir || \"./project-name\",\n srcDir: \"src\",\n scriptsDir: \"scripts\",\n ...(options.project || {})\n },\n ...options\n });\n\n DITest.injector\n .addProvider(CliHttpClient, {\n useClass: FakeCliHttpClient\n })\n .addProvider(CliFs, {\n useClass: FakeCliFs\n })\n .addProvider(CliExeca, {\n useClass: FakeCliExeca\n })\n .addProvider(CliCore);\n\n await DITest.injector.load();\n await DITest.injector.emit(\"$onReady\");\n\n CliPlatformTest.get(CliService).load();\n }\n\n static async create(options: Partial<TsED.Configuration> = {}, rootModule: Type = CliCore) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n ...options\n });\n const container = createContainer();\n await DITest.injector.load(container, rootModule);\n }\n\n /**\n * Create a new injector with the right default services\n */\n static createInjector(options: Partial<TsED.Configuration> = {}): InjectorService {\n const injector = createInjector({\n ...options,\n pkg: {\n name: \"@tsed/cli-testing\",\n version: \"1.0.0\"\n } as any,\n project: {\n rootDir: \"./tmp\",\n srcDir: \"src\",\n ...(options.project || {})\n }\n });\n\n injector.settings.env = Env.TEST;\n\n return injector;\n }\n\n /**\n * It injects services into the test function where you can alter, spy on, and manipulate them.\n *\n * The inject function has two parameters\n *\n * * an array of Service dependency injection tokens,\n * * a test function whose parameters correspond exactly to each item in the injection token array.\n *\n * @param targets\n * @param func\n */\n static inject<T>(targets: any[], func: (...args: any[]) => Promise<T> | T): () => Promise<T> {\n return async (): Promise<T> => {\n if (!DITest.hasInjector()) {\n await CliPlatformTest.create();\n }\n\n const injector: InjectorService = DITest.injector;\n const deps = [];\n\n for (const target of targets) {\n deps.push(injector.has(target) ? injector.get(target) : await injector.invoke(target));\n }\n\n return await func(...deps);\n };\n }\n}\n"]}
1
+ {"version":3,"file":"CliPlatformTest.js","sourceRoot":"","sources":["../../src/CliPlatformTest.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CliCore,\n CliExeca,\n CliFs,\n CliHttpClient,\n CliService,\n createInjector,\n DITest,\n Env,\n InjectorService,\n TokenProvider\n} from \"@tsed/cli-core\";\nimport {Type} from \"@tsed/core\";\nimport {FakeCliExeca} from \"./FakeCliExeca\";\nimport {FakeCliFs} from \"./FakeCliFs\";\nimport {FakeCliHttpClient} from \"./FakeCliHttpClient\";\n\nexport interface InvokeOptions {\n token: TokenProvider;\n use: any;\n}\n\nexport class CliPlatformTest extends DITest {\n static async bootstrap(options: Partial<TsED.Configuration> = {}) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n project: {\n rootDir: options.rootDir || \"./project-name\",\n srcDir: \"src\",\n scriptsDir: \"scripts\",\n ...(options.project || {})\n },\n ...options\n });\n\n DITest.injector\n .addProvider(CliHttpClient, {\n useClass: FakeCliHttpClient\n })\n .addProvider(CliFs, {\n useClass: FakeCliFs\n })\n .addProvider(CliExeca, {\n useClass: FakeCliExeca\n })\n .addProvider(CliCore);\n\n await DITest.injector.load();\n await DITest.injector.emit(\"$onReady\");\n\n CliPlatformTest.get(CliService).load();\n }\n\n static async create(options: Partial<TsED.Configuration> = {}, rootModule: Type = CliCore) {\n DITest.injector = CliPlatformTest.createInjector({\n name: \"tsed\",\n ...options\n });\n\n DITest.injector.addProvider(CliCore, {\n useClass: rootModule\n });\n\n await DITest.injector.load();\n }\n\n /**\n * Create a new injector with the right default services\n */\n static createInjector(options: Partial<TsED.Configuration> = {}): InjectorService {\n const injector = createInjector({\n ...options,\n pkg: {\n name: \"@tsed/cli-testing\",\n version: \"1.0.0\"\n } as any,\n project: {\n rootDir: \"./tmp\",\n srcDir: \"src\",\n ...(options.project || {})\n }\n });\n\n injector.settings.env = Env.TEST;\n\n return injector;\n }\n\n /**\n * It injects services into the test function where you can alter, spy on, and manipulate them.\n *\n * The inject function has two parameters\n *\n * * an array of Service dependency injection tokens,\n * * a test function whose parameters correspond exactly to each item in the injection token array.\n *\n * @param targets\n * @param func\n */\n static inject<T>(targets: any[], func: (...args: any[]) => Promise<T> | T): () => Promise<T> {\n return async (): Promise<T> => {\n if (!DITest.hasInjector()) {\n await CliPlatformTest.create();\n }\n\n const injector: InjectorService = DITest.injector;\n const deps = [];\n\n for (const target of targets) {\n deps.push(injector.has(target) ? injector.get(target) : await injector.invoke(target));\n }\n\n return await func(...deps);\n };\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsed/cli-testing",
3
- "version": "3.24.0",
3
+ "version": "4.0.0-rc.1",
4
4
  "description": "Utils to test you CLI based on Ts.ED CLI",
5
5
  "source": "./src/index.ts",
6
6
  "main": "./lib/cjs/index.js",
@@ -28,7 +28,7 @@
28
28
  "decorators"
29
29
  ],
30
30
  "dependencies": {
31
- "@tsed/cli-core": "3.24.0",
31
+ "@tsed/cli-core": "4.0.0-rc.1",
32
32
  "tslib": "2.3.1"
33
33
  },
34
34
  "devDependencies": {},
@@ -37,7 +37,10 @@
37
37
  "bugs": {
38
38
  "url": "https://github.com/tsedio/tsed-cli/issues"
39
39
  },
40
- "homepage": "https://github.com/tsedio/tsed-cli/tree/master/packages/cli-testing",
40
+ "homepage": "https://github.com/tsedio/tsed-cli/tree/rc/packages/cli-testing",
41
41
  "author": "Romain Lenzotti",
42
- "license": "MIT"
42
+ "license": "MIT",
43
+ "publishConfig": {
44
+ "tag": "rc"
45
+ }
43
46
  }