vovk-cli 0.0.1-draft.140 → 0.0.1-draft.142
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generate/ensureClient.mjs +2 -2
- package/dist/generate/index.mjs +5 -5
- package/dist/getProjectInfo/getConfig.mjs +4 -2
- package/dist/init/getTemplateFilesFromPackage.mjs +5 -2
- package/dist/init/index.mjs +2 -2
- package/dist/init/updateDependenciesWithoutInstalling.mjs +1 -1
- package/package.json +9 -9
|
@@ -39,7 +39,7 @@ export default async function ensureClient({ config, cwd, log, segments }) {
|
|
|
39
39
|
if (!templatePath)
|
|
40
40
|
return;
|
|
41
41
|
const outPath = path.join(outDir, path.basename(templatePath).replace('.ejs', ''));
|
|
42
|
-
if (config.
|
|
42
|
+
if (config.generateFullClient) {
|
|
43
43
|
await writeOnePlaceholder({
|
|
44
44
|
outPath,
|
|
45
45
|
defaultText,
|
|
@@ -47,7 +47,7 @@ export default async function ensureClient({ config, cwd, log, segments }) {
|
|
|
47
47
|
usedTemplateNames,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
if (config.
|
|
50
|
+
if (config.generateSegmentClient) {
|
|
51
51
|
// Generate client files for each segment
|
|
52
52
|
await Promise.all(segments.map(async ({ segmentName }) => {
|
|
53
53
|
const outPath = path.join(outDir, segmentName || ROOT_SEGMENT_SCHEMA_NAME, path.basename(templatePath).replace('.ejs', ''));
|
package/dist/generate/index.mjs
CHANGED
|
@@ -97,7 +97,7 @@ export default async function generate({ projectInfo, forceNothingWrittenLog, te
|
|
|
97
97
|
const matterResult = templatePath.endsWith('.ejs')
|
|
98
98
|
? matter(templateContent)
|
|
99
99
|
: { data: { imports: [] }, content: templateContent };
|
|
100
|
-
if (config.
|
|
100
|
+
if (config.generateFullClient) {
|
|
101
101
|
const { written: isWritten } = await writeOneClientFile({
|
|
102
102
|
projectInfo,
|
|
103
103
|
clientTemplate,
|
|
@@ -113,8 +113,8 @@ export default async function generate({ projectInfo, forceNothingWrittenLog, te
|
|
|
113
113
|
}
|
|
114
114
|
written ||= isWritten;
|
|
115
115
|
}
|
|
116
|
-
// TODO Remove files if
|
|
117
|
-
if (config.
|
|
116
|
+
// TODO Remove files if generateFullClient is false ???
|
|
117
|
+
if (config.generateSegmentClient) {
|
|
118
118
|
// Generate client files for each segment
|
|
119
119
|
await Promise.all(segments.map(async ({ segmentName }) => {
|
|
120
120
|
const segmentFullSchema = {
|
|
@@ -142,13 +142,13 @@ export default async function generate({ projectInfo, forceNothingWrittenLog, te
|
|
|
142
142
|
await removeUnlistedDirectories(outDir, []);
|
|
143
143
|
}
|
|
144
144
|
}
|
|
145
|
-
if (config.
|
|
145
|
+
if (config.generateFullClient) {
|
|
146
146
|
const fullSchemaOutAbsolutePath = fullSchemaJSONFileName ? path.resolve(outDir, fullSchemaJSONFileName) : null;
|
|
147
147
|
if (fullSchemaOutAbsolutePath) {
|
|
148
148
|
fullSchemaOutAbsolutePaths.set(null, fullSchemaOutAbsolutePath);
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
|
-
if (config.
|
|
151
|
+
if (config.generateSegmentClient) {
|
|
152
152
|
segments.forEach(({ segmentName }) => {
|
|
153
153
|
const fullSchemaOutAbsolutePath = fullSchemaJSONFileName
|
|
154
154
|
? path.resolve(outDir, segmentName || ROOT_SEGMENT_SCHEMA_NAME, fullSchemaJSONFileName)
|
|
@@ -11,8 +11,10 @@ export default async function getConfig({ clientOutDir, configPath, cwd, }) {
|
|
|
11
11
|
const defaultClientTemplates = ['module', 'main'];
|
|
12
12
|
const config = {
|
|
13
13
|
emitConfig: [],
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
generateFullClient: 'VOVK_GENERATE_FULL_CLIENT' in env ? !!env.VOVK_GENERATE_FULL_CLIENT : (conf.generateFullClient ?? true),
|
|
15
|
+
generateSegmentClient: 'VOVK_GENERATE_SEGMENT_CLIENT' in env
|
|
16
|
+
? !!env.VOVK_GENERATE_SEGMENT_CLIENT
|
|
17
|
+
: (conf.generateSegmentClient ?? false),
|
|
16
18
|
modulesDir: env.VOVK_MODULES_DIR ?? conf.modulesDir ?? './' + [srcRoot, 'modules'].filter(Boolean).join('/'),
|
|
17
19
|
imports: {
|
|
18
20
|
fetcher: typeof fetcherImport === 'string' ? [fetcherImport] : fetcherImport,
|
|
@@ -22,8 +22,11 @@ export default async function getTemplateFilesFromPackage(packageName, channel =
|
|
|
22
22
|
// Extract the tarball in memory and collect template files
|
|
23
23
|
const templateFiles = await extractTemplatesFromTarball(tarballBuffer);
|
|
24
24
|
const entries = templateFiles
|
|
25
|
-
.filter((fileName) => fileName.startsWith('templates/') && !fileName.endsWith('/') && fileName.endsWith('.ejs'))
|
|
26
|
-
.map((fileName) => [
|
|
25
|
+
.filter((fileName) => fileName.startsWith('templates/') && !fileName.endsWith('/') && fileName.endsWith('.ts.ejs'))
|
|
26
|
+
.map((fileName) => [
|
|
27
|
+
fileName.substring('templates/'.length).replace(/\.ts\.ejs$/, ''),
|
|
28
|
+
`${packageName}/${fileName}`,
|
|
29
|
+
]);
|
|
27
30
|
return Object.fromEntries(entries);
|
|
28
31
|
}
|
|
29
32
|
/**
|
package/dist/init/index.mjs
CHANGED
|
@@ -30,7 +30,7 @@ export class Init {
|
|
|
30
30
|
dependencies.push(validationLibrary, 'vovk-ajv', ...({
|
|
31
31
|
'vovk-zod': ['zod'],
|
|
32
32
|
'vovk-yup': ['yup'],
|
|
33
|
-
'vovk-dto': ['class-validator', 'class-transformer', '
|
|
33
|
+
'vovk-dto': ['class-validator', 'class-transformer', 'dto-mapped-types', 'reflect-metadata'],
|
|
34
34
|
}[validationLibrary] ?? []));
|
|
35
35
|
}
|
|
36
36
|
if (reactQuery) {
|
|
@@ -168,7 +168,7 @@ export class Init {
|
|
|
168
168
|
{
|
|
169
169
|
name: 'vovk-dto',
|
|
170
170
|
value: 'vovk-dto',
|
|
171
|
-
description: 'Use class-validator for data validation. Also installs class-transformer,
|
|
171
|
+
description: 'Use class-validator for data validation. Also installs class-transformer, dto-mapped-types and reflect-metadata',
|
|
172
172
|
},
|
|
173
173
|
{ name: 'None', value: null, description: 'Install validation library later' },
|
|
174
174
|
],
|
|
@@ -5,7 +5,7 @@ import getNPMPackageMetadata from '../utils/getNPMPackageMetadata.mjs';
|
|
|
5
5
|
async function updateDeps({ packageJson, packageNames, channel, key, }) {
|
|
6
6
|
return Promise.all(packageNames.map(async (packageName) => {
|
|
7
7
|
const metadata = await getNPMPackageMetadata(packageName);
|
|
8
|
-
const isVovk = packageName.startsWith('vovk') && packageName !== '
|
|
8
|
+
const isVovk = packageName.startsWith('vovk') && packageName !== 'dto-mapped-types';
|
|
9
9
|
const latestVersion = metadata['dist-tags'][isVovk ? (channel ?? 'latest') : 'latest'];
|
|
10
10
|
if (!packageJson[key]) {
|
|
11
11
|
packageJson[key] = {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vovk-cli",
|
|
3
|
-
"version": "0.0.1-draft.
|
|
3
|
+
"version": "0.0.1-draft.142",
|
|
4
4
|
"bin": {
|
|
5
5
|
"vovk": "./dist/index.mjs"
|
|
6
6
|
},
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
},
|
|
36
36
|
"homepage": "https://vovk.dev",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"vovk": "^3.0.0-draft.
|
|
38
|
+
"vovk": "^3.0.0-draft.115"
|
|
39
39
|
},
|
|
40
40
|
"optionalDependencies": {
|
|
41
|
-
"vovk-python-client": "^0.0.1-draft.
|
|
41
|
+
"vovk-python-client": "^0.0.1-draft.10"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@inquirer/prompts": "^7.
|
|
44
|
+
"@inquirer/prompts": "^7.4.0",
|
|
45
45
|
"@npmcli/package-json": "^6.1.1",
|
|
46
46
|
"chalk": "^5.4.1",
|
|
47
47
|
"chokidar": "^4.0.3",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"lodash": "^4.17.21",
|
|
57
57
|
"loglevel": "^1.9.2",
|
|
58
58
|
"pluralize": "^8.0.0",
|
|
59
|
-
"prettier": "^3.
|
|
59
|
+
"prettier": "^3.5.3",
|
|
60
60
|
"tar-stream": "^3.1.7",
|
|
61
|
-
"ts-morph": "^25.0.
|
|
62
|
-
"undici": "^7.
|
|
61
|
+
"ts-morph": "^25.0.1",
|
|
62
|
+
"undici": "^7.5.0"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
65
|
"@types/concat-stream": "^2.0.3",
|
|
@@ -68,8 +68,8 @@
|
|
|
68
68
|
"@types/pluralize": "^0.0.33",
|
|
69
69
|
"@types/tar-stream": "^3.1.3",
|
|
70
70
|
"concat-stream": "^2.0.0",
|
|
71
|
-
"create-next-app": "^15.
|
|
71
|
+
"create-next-app": "^15.2.4",
|
|
72
72
|
"node-pty": "^1.0.0",
|
|
73
|
-
"type-fest": "^4.
|
|
73
|
+
"type-fest": "^4.38.0"
|
|
74
74
|
}
|
|
75
75
|
}
|