@powerhousedao/codegen 5.1.0-staging.0 → 5.2.0-staging.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.
- package/dist/src/codegen/__tests__/config.d.ts +1 -1
- package/dist/src/codegen/__tests__/config.d.ts.map +1 -1
- package/dist/src/codegen/__tests__/config.js +1 -1
- package/dist/src/codegen/__tests__/config.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-doc-model.test.js +81 -81
- package/dist/src/codegen/__tests__/generate-doc-model.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js +5 -5
- package/dist/src/codegen/__tests__/generate-drive-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-editor.test.js +4 -4
- package/dist/src/codegen/__tests__/generate-editor.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-manifest.test.js.map +1 -1
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts +2 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.d.ts.map +1 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js +142 -0
- package/dist/src/codegen/__tests__/generate-versioned-document-model.test.js.map +1 -0
- package/dist/src/codegen/generate.d.ts +23 -7
- package/dist/src/codegen/generate.d.ts.map +1 -1
- package/dist/src/codegen/generate.js +105 -87
- package/dist/src/codegen/generate.js.map +1 -1
- package/dist/src/codegen/graphql.d.ts +20 -17
- package/dist/src/codegen/graphql.d.ts.map +1 -1
- package/dist/src/codegen/graphql.js +105 -78
- package/dist/src/codegen/graphql.js.map +1 -1
- package/dist/src/codegen/hygen.d.ts.map +1 -1
- package/dist/src/codegen/hygen.js +0 -1
- package/dist/src/codegen/hygen.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js +53 -44
- package/dist/src/ts-morph-utils/file-builders/document-model/gen-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js +20 -23
- package/dist/src/ts-morph-utils/file-builders/document-model/root-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js +209 -21
- package/dist/src/ts-morph-utils/file-builders/document-model/src-dir.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts +21 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts +31 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js +136 -0
- package/dist/src/ts-morph-utils/file-builders/document-model/upgrades-dir.js.map +1 -0
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts +2 -2
- package/dist/src/ts-morph-utils/file-builders/document-model.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/document-model.js +210 -28
- package/dist/src/ts-morph-utils/file-builders/document-model.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts +2 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/index-files.js +6 -2
- package/dist/src/ts-morph-utils/file-builders/index-files.js.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/module-files.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/file-builders/module-files.js +20 -8
- package/dist/src/ts-morph-utils/file-builders/module-files.js.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts +5 -23
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js +26 -34
- package/dist/src/ts-morph-utils/name-builders/get-variable-names.js.map +1 -1
- package/dist/src/ts-morph-utils/name-builders/types.d.ts +6 -2
- package/dist/src/ts-morph-utils/name-builders/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/syntax-getters.d.ts +1 -0
- package/dist/src/ts-morph-utils/syntax-getters.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/syntax-getters.js +6 -0
- package/dist/src/ts-morph-utils/syntax-getters.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/actions.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/actions.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/actions.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/creators.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-schema.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/document-type.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/index.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/creators.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/error.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/modules/operations.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/ph-factories.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/reducer.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js +14 -14
- package/dist/src/ts-morph-utils/templates/document-model/gen/types.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js +18 -18
- package/dist/src/ts-morph-utils/templates/document-model/gen/utils.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/hooks.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/hooks.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/module.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/module.js +3 -3
- package/dist/src/ts-morph-utils/templates/document-model/module.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts +2 -2
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/document-model.test.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts +5 -2
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.d.ts.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js +24 -4
- package/dist/src/ts-morph-utils/templates/document-model/src/tests/module.test.js.map +1 -1
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts +7 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.d.ts.map +1 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js +22 -0
- package/dist/src/ts-morph-utils/templates/document-model/upgrades/upgrade-transition.js.map +1 -0
- package/dist/src/utils/mock.d.ts +2 -3
- package/dist/src/utils/mock.d.ts.map +1 -1
- package/dist/src/utils/mock.js +4 -4
- package/dist/src/utils/mock.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +18 -15
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts +0 -2
- package/dist/src/codegen/__tests__/generate-schemas.test.d.ts.map +0 -1
- package/dist/src/codegen/__tests__/generate-schemas.test.js +0 -143
- package/dist/src/codegen/__tests__/generate-schemas.test.js.map +0 -1
|
@@ -1,23 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { paramCase } from "change-case";
|
|
2
|
+
import { writeFileSync } from "fs";
|
|
3
|
+
import path from "path";
|
|
4
|
+
import {} from "ts-morph";
|
|
5
|
+
import { generateDocumentModelZodSchemas } from "../../codegen/graphql.js";
|
|
2
6
|
import { documentModelModulesOutputFileName, documentModelModulesVariableName, documentModelModulesVariableType, documentModelModuleTypeName, } from "../constants.js";
|
|
7
|
+
import { formatSourceFileWithPrettier, getOrCreateSourceFile, } from "../file-utils.js";
|
|
3
8
|
import { getDocumentModelFilePaths } from "../name-builders/get-file-paths.js";
|
|
4
|
-
import { getDocumentModelVariableNames } from "../name-builders/get-variable-names.js";
|
|
9
|
+
import { getDocumentModelDirName, getDocumentModelVariableNames, } from "../name-builders/get-variable-names.js";
|
|
10
|
+
import { getInitialStates } from "../templates/unsafe-utils.js";
|
|
5
11
|
import { buildTsMorphProject } from "../ts-morph-project.js";
|
|
6
12
|
import { makeGenDirFiles } from "./document-model/gen-dir.js";
|
|
7
13
|
import { makeRootDirFiles } from "./document-model/root-dir.js";
|
|
8
14
|
import { makeSrcDirFiles } from "./document-model/src-dir.js";
|
|
15
|
+
import { createOrUpdateUpgradeManifestFile, createOrUpdateVersionConstantsFile, makeUpgradeFile, makeUpgradesIndexFile, } from "./document-model/upgrades-dir.js";
|
|
9
16
|
import { makeModulesFile } from "./module-files.js";
|
|
10
|
-
function ensureDirectoriesExist(project,
|
|
11
|
-
const { documentModelsDirPath, documentModelDirPath, srcDirPath, genDirPath, testsDirPath, schemaDirPath, moduleDirPaths, } = variables;
|
|
12
|
-
const pathsToEnsure = [
|
|
13
|
-
documentModelsDirPath,
|
|
14
|
-
documentModelDirPath,
|
|
15
|
-
srcDirPath,
|
|
16
|
-
genDirPath,
|
|
17
|
-
testsDirPath,
|
|
18
|
-
schemaDirPath,
|
|
19
|
-
...moduleDirPaths,
|
|
20
|
-
];
|
|
17
|
+
function ensureDirectoriesExist(project, ...pathsToEnsure) {
|
|
21
18
|
for (const dirPath of pathsToEnsure) {
|
|
22
19
|
const dir = project.getDirectory(dirPath);
|
|
23
20
|
if (!dir) {
|
|
@@ -26,32 +23,180 @@ function ensureDirectoriesExist(project, variables) {
|
|
|
26
23
|
}
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
|
|
30
|
-
const project =
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
26
|
+
function makeDocumentModelIndexFile(args) {
|
|
27
|
+
const { project, documentModelDirPath, latestVersion } = args;
|
|
28
|
+
const filePath = path.join(documentModelDirPath, "index.ts");
|
|
29
|
+
const { sourceFile } = getOrCreateSourceFile(project, filePath);
|
|
30
|
+
sourceFile.replaceWithText("");
|
|
31
|
+
sourceFile.addExportDeclarations([
|
|
32
|
+
{ moduleSpecifier: `./v${latestVersion}/index.js` },
|
|
33
|
+
{ moduleSpecifier: `./upgrades/index.js` },
|
|
34
|
+
]);
|
|
35
|
+
formatSourceFileWithPrettier(sourceFile);
|
|
36
|
+
}
|
|
37
|
+
function writeDocumentModelStateJsonFile({ documentModelState, documentModelDirName, documentModelDirPath, }) {
|
|
38
|
+
const filePath = path.join(documentModelDirPath, `${documentModelDirName}.json`);
|
|
39
|
+
const documentModelStateJson = JSON.stringify(documentModelState, null, 2);
|
|
40
|
+
writeFileSync(filePath, documentModelStateJson);
|
|
41
|
+
}
|
|
42
|
+
async function generateDocumentModelForSpec({ project, projectDir, packageName, documentModelState, documentModelPackageImportPath, documentModelsDirPath, documentModelDirName, documentModelDirPath, useVersioning, version, ...documentModelVariableNames }) {
|
|
43
|
+
const specification = documentModelState.specifications.find((spec) => spec.version === version);
|
|
44
|
+
if (!specification) {
|
|
45
|
+
throw new Error(`Document model specifications array is misconfigured, no specification found for version: ${version}`);
|
|
46
|
+
}
|
|
47
|
+
const versionDirName = useVersioning ? `v${version}` : "";
|
|
48
|
+
const documentModelVersionDirName = path.join(documentModelDirName, versionDirName);
|
|
49
|
+
const documentModelVersionDirPath = path.join(documentModelDirPath, versionDirName);
|
|
50
|
+
const versionedDocumentModelPackageImportPath = path.join(documentModelPackageImportPath, versionDirName);
|
|
51
|
+
const fileExtension = documentModelState.extension;
|
|
52
|
+
const documentTypeId = documentModelState.id;
|
|
53
|
+
const srcDirPath = path.join(documentModelVersionDirPath, "src");
|
|
54
|
+
const reducersDirPath = path.join(srcDirPath, "reducers");
|
|
55
|
+
const testsDirPath = path.join(srcDirPath, "tests");
|
|
56
|
+
const genDirPath = path.join(documentModelVersionDirPath, "gen");
|
|
57
|
+
const schemaDirPath = path.join(genDirPath, "schema");
|
|
58
|
+
const { initialGlobalState, initialLocalState } = getInitialStates(specification.state);
|
|
59
|
+
const hasLocalSchema = specification.state.local.schema !== "";
|
|
60
|
+
const modules = specification.modules;
|
|
61
|
+
const moduleDirPaths = modules.map((module) => path.join(genDirPath, paramCase(module.name)));
|
|
62
|
+
ensureDirectoriesExist(project, documentModelVersionDirPath, reducersDirPath, testsDirPath, schemaDirPath, ...moduleDirPaths);
|
|
39
63
|
const fileMakerArgs = {
|
|
40
64
|
project,
|
|
41
65
|
projectDir,
|
|
42
66
|
packageName,
|
|
67
|
+
version,
|
|
68
|
+
useVersioning,
|
|
69
|
+
documentTypeId,
|
|
70
|
+
documentModelState,
|
|
71
|
+
initialGlobalState,
|
|
72
|
+
initialLocalState,
|
|
73
|
+
modules,
|
|
74
|
+
hasLocalSchema,
|
|
75
|
+
documentModelsDirPath,
|
|
76
|
+
documentModelDirPath,
|
|
77
|
+
documentModelDirName,
|
|
78
|
+
documentModelVersionDirName,
|
|
79
|
+
documentModelVersionDirPath,
|
|
80
|
+
documentModelPackageImportPath,
|
|
81
|
+
versionedDocumentModelPackageImportPath,
|
|
82
|
+
srcDirPath,
|
|
83
|
+
genDirPath,
|
|
84
|
+
testsDirPath,
|
|
85
|
+
schemaDirPath,
|
|
86
|
+
reducersDirPath,
|
|
87
|
+
fileExtension,
|
|
43
88
|
...documentModelVariableNames,
|
|
44
89
|
};
|
|
90
|
+
await generateDocumentModelZodSchemas({
|
|
91
|
+
documentModelDirPath: documentModelVersionDirPath,
|
|
92
|
+
specification,
|
|
93
|
+
});
|
|
45
94
|
makeRootDirFiles(fileMakerArgs);
|
|
46
95
|
makeGenDirFiles(fileMakerArgs);
|
|
47
96
|
makeSrcDirFiles(fileMakerArgs);
|
|
48
97
|
makeDocumentModelModulesFile(fileMakerArgs);
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
98
|
+
if (!useVersioning)
|
|
99
|
+
return;
|
|
100
|
+
const previousVersionDirPath = getPreviousVersionDirPath(documentModelDirPath, version);
|
|
101
|
+
if (!previousVersionDirPath)
|
|
102
|
+
return;
|
|
103
|
+
persistCustomFilesFromPreviousVersion({
|
|
104
|
+
project,
|
|
105
|
+
currentVersionDirPath: documentModelVersionDirPath,
|
|
106
|
+
previousVersionDirPath,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
export async function tsMorphGenerateDocumentModel({ projectDir, packageName, documentModelState, useVersioning, }) {
|
|
110
|
+
const project = buildTsMorphProject(projectDir);
|
|
111
|
+
const { documentModelsSourceFilesPath } = getDocumentModelFilePaths(projectDir);
|
|
112
|
+
project.addSourceFilesAtPaths(documentModelsSourceFilesPath);
|
|
113
|
+
const documentModelsDirPath = path.join(projectDir, "document-models");
|
|
114
|
+
const documentModelDirName = getDocumentModelDirName(documentModelState);
|
|
115
|
+
const documentModelDirPath = path.join(documentModelsDirPath, documentModelDirName);
|
|
116
|
+
const documentModelVariableNames = getDocumentModelVariableNames(documentModelState.name);
|
|
117
|
+
ensureDirectoriesExist(project, documentModelsDirPath, documentModelDirPath);
|
|
118
|
+
const upgradesDirPath = path.join(documentModelDirPath, "upgrades");
|
|
119
|
+
if (useVersioning) {
|
|
120
|
+
ensureDirectoriesExist(project, upgradesDirPath);
|
|
121
|
+
}
|
|
122
|
+
const documentModelPackageImportPath = path.join(packageName, "document-models", documentModelDirName);
|
|
123
|
+
const specVersions = [
|
|
124
|
+
...new Set([
|
|
125
|
+
...documentModelState.specifications.map((spec) => spec.version),
|
|
126
|
+
]),
|
|
127
|
+
].toSorted();
|
|
128
|
+
if (specVersions.length !== documentModelState.specifications.length) {
|
|
129
|
+
throw new Error("Document model specifications array is misconfigured. Length is not match with spec versions.");
|
|
130
|
+
}
|
|
131
|
+
const latestVersion = specVersions[specVersions.length - 1];
|
|
132
|
+
if (documentModelState.specifications[documentModelState.specifications.length - 1].version !== latestVersion) {
|
|
133
|
+
throw new Error("Document model has incorrect version at the latest version index");
|
|
134
|
+
}
|
|
135
|
+
writeDocumentModelStateJsonFile({
|
|
136
|
+
documentModelState,
|
|
137
|
+
documentModelDirName,
|
|
138
|
+
documentModelDirPath,
|
|
53
139
|
});
|
|
54
|
-
|
|
140
|
+
if (useVersioning) {
|
|
141
|
+
await Promise.all(specVersions.map(async (version) => await generateDocumentModelForSpec({
|
|
142
|
+
project,
|
|
143
|
+
version,
|
|
144
|
+
useVersioning: true,
|
|
145
|
+
packageName,
|
|
146
|
+
documentModelState,
|
|
147
|
+
projectDir,
|
|
148
|
+
documentModelsDirPath,
|
|
149
|
+
documentModelDirName,
|
|
150
|
+
documentModelDirPath,
|
|
151
|
+
documentModelPackageImportPath,
|
|
152
|
+
...documentModelVariableNames,
|
|
153
|
+
})));
|
|
154
|
+
for (const version of specVersions) {
|
|
155
|
+
makeUpgradeFile({
|
|
156
|
+
version,
|
|
157
|
+
upgradesDirPath,
|
|
158
|
+
project,
|
|
159
|
+
documentModelPackageImportPath,
|
|
160
|
+
...documentModelVariableNames,
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
makeDocumentModelIndexFile({
|
|
164
|
+
project,
|
|
165
|
+
documentModelDirPath,
|
|
166
|
+
latestVersion,
|
|
167
|
+
});
|
|
168
|
+
createOrUpdateVersionConstantsFile({
|
|
169
|
+
project,
|
|
170
|
+
specVersions,
|
|
171
|
+
latestVersion,
|
|
172
|
+
upgradesDirPath,
|
|
173
|
+
});
|
|
174
|
+
createOrUpdateUpgradeManifestFile({
|
|
175
|
+
project,
|
|
176
|
+
specVersions,
|
|
177
|
+
latestVersion,
|
|
178
|
+
upgradesDirPath,
|
|
179
|
+
documentModelId: documentModelState.id,
|
|
180
|
+
...documentModelVariableNames,
|
|
181
|
+
});
|
|
182
|
+
makeUpgradesIndexFile({ project, upgradesDirPath, specVersions });
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
await generateDocumentModelForSpec({
|
|
186
|
+
project,
|
|
187
|
+
useVersioning: false,
|
|
188
|
+
version: latestVersion,
|
|
189
|
+
packageName,
|
|
190
|
+
documentModelState,
|
|
191
|
+
projectDir,
|
|
192
|
+
documentModelsDirPath,
|
|
193
|
+
documentModelDirName,
|
|
194
|
+
documentModelDirPath,
|
|
195
|
+
documentModelPackageImportPath,
|
|
196
|
+
...documentModelVariableNames,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
project.saveSync();
|
|
55
200
|
}
|
|
56
201
|
export function makeDocumentModelModulesFile({ project, projectDir, }) {
|
|
57
202
|
const { documentModelsDirPath, documentModelsSourceFilesPath } = getDocumentModelFilePaths(projectDir);
|
|
@@ -65,4 +210,41 @@ export function makeDocumentModelModulesFile({ project, projectDir, }) {
|
|
|
65
210
|
variableType: documentModelModulesVariableType,
|
|
66
211
|
});
|
|
67
212
|
}
|
|
213
|
+
function getPreviousVersionDirPath(documentModelDirPath, version) {
|
|
214
|
+
const previousVersion = version - 1;
|
|
215
|
+
if (previousVersion < 1)
|
|
216
|
+
return;
|
|
217
|
+
const previousVersionDirName = `v${previousVersion}`;
|
|
218
|
+
return path.join(documentModelDirPath, previousVersionDirName);
|
|
219
|
+
}
|
|
220
|
+
function persistCustomFilesFromPreviousVersion(args) {
|
|
221
|
+
const { project, currentVersionDirPath, previousVersionDirPath } = args;
|
|
222
|
+
const currentVersionDir = project.getDirectoryOrThrow(currentVersionDirPath);
|
|
223
|
+
const previousVersionDir = project.getDirectory(previousVersionDirPath);
|
|
224
|
+
if (!previousVersionDir)
|
|
225
|
+
return;
|
|
226
|
+
const currentVersionSourceFiles = currentVersionDir.getDescendantSourceFiles();
|
|
227
|
+
const previousVersionSourceFiles = previousVersionDir.getDescendantSourceFiles();
|
|
228
|
+
const currentVersionDirs = currentVersionDir.getDescendantDirectories();
|
|
229
|
+
const previousVersionDirs = previousVersionDir.getDescendantDirectories();
|
|
230
|
+
const previousVersionRelativeDirPaths = previousVersionDirs.map((d) => previousVersionDir.getRelativePathTo(d));
|
|
231
|
+
const currentVersionRelativeDirPaths = currentVersionDirs.map((d) => currentVersionDir.getRelativePathTo(d));
|
|
232
|
+
const missingDirPaths = previousVersionRelativeDirPaths.filter((p) => !currentVersionRelativeDirPaths.includes(p));
|
|
233
|
+
const missingDirs = previousVersionDirs.filter((f) => missingDirPaths.includes(previousVersionDir.getRelativePathTo(f)));
|
|
234
|
+
for (const dir of missingDirs) {
|
|
235
|
+
const relativePath = previousVersionDir.getRelativePathTo(dir);
|
|
236
|
+
const newDir = currentVersionDir.createDirectory(relativePath);
|
|
237
|
+
newDir.saveSync();
|
|
238
|
+
}
|
|
239
|
+
const previousVersionRelativeFilePaths = previousVersionSourceFiles.map((f) => previousVersionDir.getRelativePathTo(f));
|
|
240
|
+
const currentVersionRelativeFilePaths = currentVersionSourceFiles.map((f) => currentVersionDir.getRelativePathTo(f));
|
|
241
|
+
const missingFilePaths = previousVersionRelativeFilePaths.filter((p) => !currentVersionRelativeFilePaths.includes(p));
|
|
242
|
+
const missingFiles = previousVersionSourceFiles.filter((f) => missingFilePaths.includes(previousVersionDir.getRelativePathTo(f)));
|
|
243
|
+
for (const file of missingFiles) {
|
|
244
|
+
const relativePath = previousVersionDir.getRelativePathTo(file);
|
|
245
|
+
const fileText = file.getText();
|
|
246
|
+
const newFile = currentVersionDir.createSourceFile(relativePath, fileText);
|
|
247
|
+
newFile.saveSync();
|
|
248
|
+
}
|
|
249
|
+
}
|
|
68
250
|
//# sourceMappingURL=document-model.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-model.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"document-model.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/document-model.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,8 @@ type MakeLegacyIndexFileArgs = {
|
|
|
5
5
|
/** The directory containing the module.ts files to generate from */
|
|
6
6
|
modulesDirPath: string;
|
|
7
7
|
modules: {
|
|
8
|
-
|
|
8
|
+
unversionedName: string;
|
|
9
|
+
versionedName: string | undefined;
|
|
9
10
|
moduleSpecifier: string;
|
|
10
11
|
}[];
|
|
11
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-files.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/index-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,KAAK,uBAAuB,GAAG;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE;QACP,
|
|
1
|
+
{"version":3,"file":"index-files.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/index-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC,KAAK,uBAAuB,GAAG;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE;QACP,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;QAClC,eAAe,EAAE,MAAM,CAAC;KACzB,EAAE,CAAC;CACL,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,cAAc,EACd,OAAO,GACR,EAAE,uBAAuB,QAyBzB"}
|
|
@@ -13,8 +13,12 @@ export function makeLegacyIndexFile({ project, modulesDirPath, modules, }) {
|
|
|
13
13
|
else {
|
|
14
14
|
indexSourceFile.replaceWithText("");
|
|
15
15
|
}
|
|
16
|
-
indexSourceFile.addExportDeclarations(modules.map(({
|
|
17
|
-
namedExports: [
|
|
16
|
+
indexSourceFile.addExportDeclarations(modules.map(({ versionedName, unversionedName, moduleSpecifier }) => ({
|
|
17
|
+
namedExports: [
|
|
18
|
+
versionedName
|
|
19
|
+
? `${unversionedName} as ${versionedName}`
|
|
20
|
+
: unversionedName,
|
|
21
|
+
],
|
|
18
22
|
moduleSpecifier,
|
|
19
23
|
})));
|
|
20
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-files.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/index-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index-files.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/index-files.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAc9E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,cAAc,EACd,OAAO,GACiB;IACxB,MAAM,mBAAmB,GAAG,0BAA0B,CACpD,cAAc,EACd,UAAU,CACX,CAAC;IAEF,yDAAyD;IACzD,IAAI,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACjE,gDAAgD;IAChD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,qBAAqB,CACnC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;QACpE,YAAY,EAAE;YACZ,aAAa;gBACX,CAAC,CAAC,GAAG,eAAe,OAAO,aAAa,EAAE;gBAC1C,CAAC,CAAC,eAAe;SACpB;QACD,eAAe;KAChB,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-files.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/module-files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-files.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/module-files.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAMxC,KAAK,kBAAkB,GAAG;IACxB,+CAA+C;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,cAAc,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,uGAAuG;IACvG,cAAc,EAAE,MAAM,CAAC;IACvB,iHAAiH;IACjH,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,YAAY,EAAE,MAAM,CAAC;IACrB,+GAA+G;IAC/G,YAAY,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC,CAAC;AACF;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,yBAAgC,GACjC,EAAE,kBAAkB,QAoHpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { pascalCase } from "change-case";
|
|
1
2
|
import { SyntaxKind, VariableDeclarationKind } from "ts-morph";
|
|
2
3
|
import { buildModulesOutputFilePath } from "../name-builders/common-files.js";
|
|
3
4
|
import { getVariableDeclarationByTypeName } from "../syntax-getters.js";
|
|
@@ -20,12 +21,14 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
|
|
|
20
21
|
const modules = moduleDeclarations
|
|
21
22
|
.filter((module) => module !== undefined)
|
|
22
23
|
.map((module) => {
|
|
23
|
-
const name = module.getName();
|
|
24
24
|
const sourceFile = module.getSourceFile();
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
-
const
|
|
28
|
-
|
|
25
|
+
const moduleSpecifier = modulesDir.getRelativePathAsModuleSpecifierTo(sourceFile.getFilePath()) + ".js";
|
|
26
|
+
const versionDir = getVersionDirFromModuleSpecifier(moduleSpecifier);
|
|
27
|
+
const unversionedName = module.getName();
|
|
28
|
+
const versionedName = versionDir
|
|
29
|
+
? `${unversionedName}${pascalCase(versionDir)}`
|
|
30
|
+
: undefined;
|
|
31
|
+
return { versionedName, unversionedName, moduleSpecifier };
|
|
29
32
|
});
|
|
30
33
|
const moduleExportsFilePath = buildModulesOutputFilePath(modulesDirPath, outputFileName);
|
|
31
34
|
// get the source file for the modules file if it exists
|
|
@@ -42,8 +45,12 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
|
|
|
42
45
|
moduleSpecifier: "document-model",
|
|
43
46
|
isTypeOnly: true,
|
|
44
47
|
};
|
|
45
|
-
const moduleImports = modules.map(({
|
|
46
|
-
namedImports: [
|
|
48
|
+
const moduleImports = modules.map(({ versionedName, unversionedName, moduleSpecifier }) => ({
|
|
49
|
+
namedImports: [
|
|
50
|
+
versionedName
|
|
51
|
+
? `${unversionedName} as ${versionedName}`
|
|
52
|
+
: unversionedName,
|
|
53
|
+
],
|
|
47
54
|
moduleSpecifier,
|
|
48
55
|
}));
|
|
49
56
|
const imports = [typeImport, ...moduleImports];
|
|
@@ -78,7 +85,7 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
|
|
|
78
85
|
.at(0)
|
|
79
86
|
?.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression);
|
|
80
87
|
// add the module declaration names to the array literal expression
|
|
81
|
-
arrayLiteral?.addElements(modules.map((module) => module.
|
|
88
|
+
arrayLiteral?.addElements(modules.map((module) => module.versionedName ?? module.unversionedName), { useNewLines: true });
|
|
82
89
|
// we also need to export each module from the index.ts file for backwards compatibility
|
|
83
90
|
if (shouldMakeLegacyIndexFile) {
|
|
84
91
|
makeLegacyIndexFile({
|
|
@@ -89,4 +96,9 @@ export function makeModulesFile({ project, modulesDirPath, modulesSourceFilesPat
|
|
|
89
96
|
}
|
|
90
97
|
project.saveSync();
|
|
91
98
|
}
|
|
99
|
+
function getVersionDirFromModuleSpecifier(moduleSpecifier) {
|
|
100
|
+
const match = moduleSpecifier.match(/\/(v\d+)(?=\/)/);
|
|
101
|
+
const version = match?.[1];
|
|
102
|
+
return version;
|
|
103
|
+
}
|
|
92
104
|
//# sourceMappingURL=module-files.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-files.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/module-files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module-files.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/file-builders/module-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,11 @@ import { type DocumentModelGlobalState, type ModuleSpecification, type Operation
|
|
|
2
2
|
import type { DocumentModelDocumentTypeMetadata, EditorVariableNames } from "../types.js";
|
|
3
3
|
import type { ActionFromOperation } from "./types.js";
|
|
4
4
|
export declare function getEditorVariableNames({ documentModelDocumentTypeName, }: DocumentModelDocumentTypeMetadata): EditorVariableNames;
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export declare function getDocumentModelVariableNames({ packageName, projectDir, documentModelState, }: GetDocumentModelVariableNamesArgs): {
|
|
11
|
-
documentModelState: DocumentModelGlobalState;
|
|
12
|
-
documentTypeId: string;
|
|
5
|
+
export declare function getDocumentModelDirName(documentModelState: DocumentModelGlobalState, existingDirName?: string): string;
|
|
6
|
+
export declare function getLatestDocumentModelSpec({ specifications, }: DocumentModelGlobalState): import("document-model").DocumentSpecification;
|
|
7
|
+
export declare function getDocumentModelSpecByVersionNumber({ specifications }: DocumentModelGlobalState, version: number): import("document-model").DocumentSpecification;
|
|
8
|
+
export declare function getLatestDocumentModelSpecVersionNumber(documentModelState: DocumentModelGlobalState): number;
|
|
9
|
+
export declare function getDocumentModelVariableNames(documentType: string): {
|
|
13
10
|
paramCaseDocumentType: string;
|
|
14
11
|
pascalCaseDocumentType: string;
|
|
15
12
|
camelCaseDocumentType: string;
|
|
@@ -22,14 +19,6 @@ export declare function getDocumentModelVariableNames({ packageName, projectDir,
|
|
|
22
19
|
actionTypeName: string;
|
|
23
20
|
actionsTypeName: string;
|
|
24
21
|
actionsName: string;
|
|
25
|
-
documentModelDir: string;
|
|
26
|
-
documentModelsDirPath: string;
|
|
27
|
-
documentModelDirPath: string;
|
|
28
|
-
srcDirPath: string;
|
|
29
|
-
genDirPath: string;
|
|
30
|
-
testsDirPath: string;
|
|
31
|
-
schemaDirPath: string;
|
|
32
|
-
moduleDirPaths: string[];
|
|
33
22
|
stateSchemaName: string;
|
|
34
23
|
phDocumentSchemaName: string;
|
|
35
24
|
isPhStateOfTypeFunctionName: string;
|
|
@@ -40,16 +29,9 @@ export declare function getDocumentModelVariableNames({ packageName, projectDir,
|
|
|
40
29
|
useSelectedHookName: string;
|
|
41
30
|
useInSelectedDriveHookName: string;
|
|
42
31
|
useInSelectedFolderHookName: string;
|
|
43
|
-
fileExtension: string;
|
|
44
|
-
initialGlobalState: string;
|
|
45
|
-
initialLocalState: string;
|
|
46
|
-
hasLocalSchema: boolean;
|
|
47
|
-
modules: ModuleSpecification[];
|
|
48
32
|
};
|
|
49
33
|
export declare function getDocumentModelOperationsModuleVariableNames(module: ModuleSpecification): {
|
|
50
34
|
actions: ActionFromOperation[];
|
|
51
35
|
errors: OperationErrorSpecification[];
|
|
52
|
-
module: ModuleSpecification;
|
|
53
36
|
};
|
|
54
|
-
export {};
|
|
55
37
|
//# sourceMappingURL=get-variable-names.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-variable-names.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-variable-names.d.ts","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAEjC,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,iCAAiC,EACjC,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAetD,wBAAgB,sBAAsB,CAAC,EACrC,6BAA6B,GAC9B,EAAE,iCAAiC,GAAG,mBAAmB,CAkCzD;AAED,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,wBAAwB,EAC5C,eAAe,CAAC,EAAE,MAAM,UAIzB;AAED,wBAAgB,0BAA0B,CAAC,EACzC,cAAc,GACf,EAAE,wBAAwB,kDAE1B;AAED,wBAAgB,mCAAmC,CACjD,EAAE,cAAc,EAAE,EAAE,wBAAwB,EAC5C,OAAO,EAAE,MAAM,kDAoBhB;AAED,wBAAgB,uCAAuC,CACrD,kBAAkB,EAAE,wBAAwB,UAG7C;AAED,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;EAiDjE;AAED,wBAAgB,6CAA6C,CAC3D,MAAM,EAAE,mBAAmB;;;EAK5B"}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { camelCase, paramCase, pascalCase } from "change-case";
|
|
2
2
|
import {} from "document-model";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
import { getInitialStates } from "../templates/unsafe-utils.js";
|
|
5
3
|
import { buildDispatchFunctionName, buildDocumentNameVariableName, buildDocumentVariableName, buildEditDocumentNameComponentName, buildIsEditingVariableName, buildOnCancelEditHandlerName, buildOnClickHandlerName, buildOnSubmitSetNameFunctionName, buildSetIsEditingFunctionName, buildSetNameActionName, buildUseSelectedDocumentHookName, } from "./variables.js";
|
|
6
4
|
export function getEditorVariableNames({ documentModelDocumentTypeName, }) {
|
|
7
5
|
return {
|
|
@@ -18,10 +16,31 @@ export function getEditorVariableNames({ documentModelDocumentTypeName, }) {
|
|
|
18
16
|
onSubmitSetNameFunctionName: buildOnSubmitSetNameFunctionName(documentModelDocumentTypeName),
|
|
19
17
|
};
|
|
20
18
|
}
|
|
21
|
-
export function
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
export function getDocumentModelDirName(documentModelState, existingDirName) {
|
|
20
|
+
if (existingDirName)
|
|
21
|
+
return existingDirName;
|
|
22
|
+
return paramCase(documentModelState.name);
|
|
23
|
+
}
|
|
24
|
+
export function getLatestDocumentModelSpec({ specifications, }) {
|
|
25
|
+
return specifications[specifications.length - 1];
|
|
26
|
+
}
|
|
27
|
+
export function getDocumentModelSpecByVersionNumber({ specifications }, version) {
|
|
28
|
+
const specificationByIndex = specifications[version];
|
|
29
|
+
const specificationByNumber = specifications.find((spec) => spec.version === version);
|
|
30
|
+
if (!specificationByNumber) {
|
|
31
|
+
console.error(`Specification with version number ${version} does not exist in the document model specifications array`);
|
|
32
|
+
return specificationByIndex;
|
|
33
|
+
}
|
|
34
|
+
if (specificationByIndex.version !== specificationByNumber.version) {
|
|
35
|
+
console.error(`Specification with version ${version} does not match specifications array at index ${version}`);
|
|
36
|
+
return specificationByIndex;
|
|
37
|
+
}
|
|
38
|
+
return specificationByNumber;
|
|
39
|
+
}
|
|
40
|
+
export function getLatestDocumentModelSpecVersionNumber(documentModelState) {
|
|
41
|
+
return getLatestDocumentModelSpec(documentModelState).version;
|
|
42
|
+
}
|
|
43
|
+
export function getDocumentModelVariableNames(documentType) {
|
|
25
44
|
const paramCaseDocumentType = paramCase(documentType);
|
|
26
45
|
const pascalCaseDocumentType = pascalCase(documentType);
|
|
27
46
|
const camelCaseDocumentType = camelCase(documentType);
|
|
@@ -34,13 +53,6 @@ export function getDocumentModelVariableNames({ packageName, projectDir, documen
|
|
|
34
53
|
const actionTypeName = `${pascalCaseDocumentType}Action`;
|
|
35
54
|
const actionsTypeName = `${actionTypeName}s`;
|
|
36
55
|
const actionsName = camelCase(actionsTypeName);
|
|
37
|
-
const documentModelDir = `${packageName}/document-models/${paramCaseDocumentType}`;
|
|
38
|
-
const documentModelsDirPath = path.join(projectDir, "document-models");
|
|
39
|
-
const documentModelDirPath = path.join(documentModelsDirPath, paramCaseDocumentType);
|
|
40
|
-
const srcDirPath = path.join(documentModelDirPath, "src");
|
|
41
|
-
const testsDirPath = path.join(srcDirPath, "tests");
|
|
42
|
-
const genDirPath = path.join(documentModelDirPath, "gen");
|
|
43
|
-
const schemaDirPath = path.join(genDirPath, "schema");
|
|
44
56
|
const stateSchemaName = `${stateName}Schema`;
|
|
45
57
|
const phDocumentSchemaName = `${phDocumentTypeName}Schema`;
|
|
46
58
|
const isPhStateOfTypeFunctionName = `is${stateName}`;
|
|
@@ -51,14 +63,7 @@ export function getDocumentModelVariableNames({ packageName, projectDir, documen
|
|
|
51
63
|
const useSelectedHookName = `useSelected${phDocumentTypeName}`;
|
|
52
64
|
const useInSelectedDriveHookName = `use${phDocumentTypeName}sInSelectedDrive`;
|
|
53
65
|
const useInSelectedFolderHookName = `use${phDocumentTypeName}sInSelectedFolder`;
|
|
54
|
-
const fileExtension = documentModelState.extension;
|
|
55
|
-
const { initialGlobalState, initialLocalState } = getInitialStates(latestSpec.state);
|
|
56
|
-
const hasLocalSchema = latestSpec.state.local.schema !== "";
|
|
57
|
-
const modules = latestSpec.modules;
|
|
58
|
-
const moduleDirPaths = modules.map((module) => path.join(genDirPath, paramCase(module.name)));
|
|
59
66
|
return {
|
|
60
|
-
documentModelState,
|
|
61
|
-
documentTypeId,
|
|
62
67
|
paramCaseDocumentType,
|
|
63
68
|
pascalCaseDocumentType,
|
|
64
69
|
camelCaseDocumentType,
|
|
@@ -71,14 +76,6 @@ export function getDocumentModelVariableNames({ packageName, projectDir, documen
|
|
|
71
76
|
actionTypeName,
|
|
72
77
|
actionsTypeName,
|
|
73
78
|
actionsName,
|
|
74
|
-
documentModelDir,
|
|
75
|
-
documentModelsDirPath,
|
|
76
|
-
documentModelDirPath,
|
|
77
|
-
srcDirPath,
|
|
78
|
-
genDirPath,
|
|
79
|
-
testsDirPath,
|
|
80
|
-
schemaDirPath,
|
|
81
|
-
moduleDirPaths,
|
|
82
79
|
stateSchemaName,
|
|
83
80
|
phDocumentSchemaName,
|
|
84
81
|
isPhStateOfTypeFunctionName,
|
|
@@ -89,17 +86,12 @@ export function getDocumentModelVariableNames({ packageName, projectDir, documen
|
|
|
89
86
|
useSelectedHookName,
|
|
90
87
|
useInSelectedDriveHookName,
|
|
91
88
|
useInSelectedFolderHookName,
|
|
92
|
-
fileExtension,
|
|
93
|
-
initialGlobalState,
|
|
94
|
-
initialLocalState,
|
|
95
|
-
hasLocalSchema,
|
|
96
|
-
modules,
|
|
97
89
|
};
|
|
98
90
|
}
|
|
99
91
|
export function getDocumentModelOperationsModuleVariableNames(module) {
|
|
100
92
|
const actions = getActionsFromModule(module);
|
|
101
93
|
const errors = getErrorsFromActions(actions);
|
|
102
|
-
return { actions, errors
|
|
94
|
+
return { actions, errors };
|
|
103
95
|
}
|
|
104
96
|
function getActionFromOperation(operation) {
|
|
105
97
|
const { name, schema, scope = "global", errors } = operation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-variable-names.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAKN,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"get-variable-names.js","sourceRoot":"","sources":["../../../../src/ts-morph-utils/name-builders/get-variable-names.ts"],"names":[],"mappings":"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"}
|