Skip to content
This repository was archived by the owner on Jan 18, 2023. It is now read-only.

Commit afa6300

Browse files
Merge branch 'feature/ptf-1347/_shared_launcher' into 'develop'
PTF-1347: [CLI]: Shared service launcher See merge request cs-platform/public/cli!91
2 parents 9606b17 + 2ae7029 commit afa6300

File tree

19 files changed

+137
-486
lines changed

19 files changed

+137
-486
lines changed

package-lock.json

Lines changed: 100 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"chalk": "^3.0.0",
3636
"clear": "^0.1.0",
3737
"cli-ux": "^5.4.5",
38-
"codestore-utils": "^1.2.0",
38+
"codestore-utils": "^1.3.0",
3939
"completion": "^1.0.1",
4040
"cross-fetch": "^3.0.4",
4141
"debug": "^4.1.1",

src/commands/service/dev.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { logger } from 'codestore-utils';
1+
import {
2+
logger, compile, PathsResolverTool, GraphqlValidatorTool, bootstrap,
3+
} from 'codestore-utils';
24
import Command from '../../lib/command';
3-
import { bootstrap } from '../../lib/launcher';
45
import { installDependencies } from '../../lib/child-cli';
5-
import compile from '../../lib/compiler';
66

77
export default class Dev extends Command {
88
public static description = 'Launch your service locally';
@@ -24,12 +24,11 @@ export default class Dev extends Command {
2424
await installDependencies();
2525

2626
logger.log('Compiling typescript code', 'TypeScript');
27-
await compile([...await this.serviceWorker.loadResolversPaths(), ...await this.serviceWorker.loadEntitiesAndMutationsPaths()]);
28-
27+
await compile(await PathsResolverTool.loadFilesToCompile());
2928
logger.log('Validating schema', 'GraphQL');
30-
await this.serviceWorker.validateSchema();
29+
await GraphqlValidatorTool.validateSchema();
3130
logger.log('Validating queries and mutations', 'GraphQL');
32-
await this.serviceWorker.validateQueriesAndMutations();
31+
await GraphqlValidatorTool.validateQueriesAndMutations();
3332

3433
const { database, application } = localConfiguration;
3534

@@ -38,6 +37,7 @@ export default class Dev extends Command {
3837
await bootstrap({
3938
db: database,
4039
port: application.port,
40+
playgroundUrl: `http://localhost:${application.port || 3000}/graphql`,
4141
});
4242
}
4343
}

src/commands/service/generate.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import { Listr, ListrTask } from 'listr2';
22
import clear from 'clear';
33
import { yellow } from 'chalk';
4-
import { PromisifiedFs } from 'codestore-utils';
4+
import {
5+
PromisifiedFs, compile, PathsResolverTool, GraphqlValidatorTool,
6+
} from 'codestore-utils';
57
import { Connection } from 'typeorm';
68
import Command from '../../lib/command';
79
import Aliases from '../../common/constants/aliases';
810
import FileWorker from '../../common/file-worker';
9-
import Paths from '../../common/constants/paths';
10-
import compile from '../../lib/compiler';
1111
import { installDependencies } from '../../lib/child-cli';
1212
import { generateChecksumForFile } from '../../common/utils';
1313

@@ -16,7 +16,7 @@ const firstLine = (str: string): string => str.split('\n')[0].replace(/:$/, '').
1616
export const migrationsAreActual = async (context: Command): Promise<boolean> => {
1717
const checksum = await generateChecksumForFile(context.serviceWorker.schemaPath);
1818

19-
const migrations = await PromisifiedFs.readdir(Paths.MIGRATIONS);
19+
const migrations = await PromisifiedFs.readdir(PathsResolverTool.MIGRATIONS);
2020
const lastMigration = migrations.pop();
2121
const lastMigrationChecksum = lastMigration?.split('_')?.[1]?.replace(/\.ts/g, '');
2222

@@ -28,23 +28,23 @@ export const generateFlow = (context: Command, error: (input: string | Error, op
2828
title: 'Compiling your code',
2929
task: async (): Promise<void> => {
3030
await installDependencies();
31-
await compile(await context.serviceWorker.loadResolversPaths());
31+
await compile(await PathsResolverTool.loadFilesToCompile());
3232
},
3333
},
3434
{
3535
title: 'Validating schema',
3636
task: async (): Promise<void> => {
37-
await context.serviceWorker.validateSchema();
37+
await GraphqlValidatorTool.validateSchema();
3838
if (context.id !== 'service:generate') {
39-
await context.serviceWorker.validateQueriesAndMutations();
39+
await GraphqlValidatorTool.validateQueriesAndMutations();
4040
}
4141
},
4242
},
4343
{
4444
title: 'Preparing the service code for upload',
4545
task: async (ctx): Promise<void> => {
46-
await PromisifiedFs.createFolderIfNotExist(Paths.MIGRATIONS);
47-
await PromisifiedFs.createFolderIfNotExist(Paths.ENTITIES);
46+
await PromisifiedFs.createFolderIfNotExist(PathsResolverTool.MIGRATIONS);
47+
await PromisifiedFs.createFolderIfNotExist(PathsResolverTool.ENTITIES);
4848
ctx.encodedZip = await FileWorker.zipFolder();
4949
},
5050
},
@@ -66,7 +66,7 @@ export const generateFlow = (context: Command, error: (input: string | Error, op
6666
return;
6767
}
6868

69-
const currentMigrations = (await PromisifiedFs.readdir(Paths.MIGRATIONS))
69+
const currentMigrations = (await PromisifiedFs.readdir(PathsResolverTool.MIGRATIONS))
7070
.filter((name) => /\.ts$/.test(name));
7171

7272
// eslint-disable-next-line no-param-reassign
@@ -121,12 +121,12 @@ export const generateFlow = (context: Command, error: (input: string | Error, op
121121
error('An error occured', { exit: 1 });
122122
}
123123

124-
await PromisifiedFs.rimraf(Paths.MIGRATIONS);
125-
await PromisifiedFs.rimraf(Paths.ENTITIES);
126-
await PromisifiedFs.rimraf(Paths.DIST);
127-
await PromisifiedFs.rimraf(Paths.BUILD);
128-
await FileWorker.saveZipFromB64(generated, Paths.DATA);
129-
await compile(await context.serviceWorker.loadResolversPaths());
124+
await PromisifiedFs.rimraf(PathsResolverTool.MIGRATIONS);
125+
await PromisifiedFs.rimraf(PathsResolverTool.ENTITIES);
126+
await PromisifiedFs.rimraf(PathsResolverTool.DIST);
127+
await PromisifiedFs.rimraf(PathsResolverTool.BUILD);
128+
await FileWorker.saveZipFromB64(generated, PathsResolverTool.DATA);
129+
await compile(await PathsResolverTool.loadFilesToCompile());
130130

131131
// eslint-disable-next-line no-param-reassign
132132
task.title = 'Generated code has been saved';

src/common/constants/commandIds.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
enum CommandIds {
2-
LOGIN = 'auth:login'
2+
LOGIN = 'auth:login',
3+
DEV = 'service:dev'
34
}
45

56
export default CommandIds;

0 commit comments

Comments
 (0)