zenstack 0.1.42 → 1.0.0
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/.vscode/extensions.json +7 -0
- package/.vscode/launch.json +49 -0
- package/.vscode/settings.json +4 -0
- package/README.md +1 -0
- package/package.json +8 -90
- package/packages/internal/jest.config.ts +32 -0
- package/packages/internal/package.json +42 -0
- package/packages/internal/src/constants.ts +1 -0
- package/packages/internal/src/handler/data/guard-utils.ts +7 -0
- package/packages/internal/src/handler/data/handler.ts +415 -0
- package/packages/internal/src/handler/data/query-processor.ts +504 -0
- package/packages/internal/src/handler/index.ts +1 -0
- package/packages/internal/src/handler/types.ts +20 -0
- package/packages/internal/src/index.ts +3 -0
- package/packages/internal/src/request-handler.ts +27 -0
- package/packages/internal/src/request.ts +101 -0
- package/packages/internal/src/types.ts +40 -0
- package/packages/internal/tests/query-processor.test.ts +172 -0
- package/{out/cli/tsconfig.template.json → packages/internal/tsconfig.json} +7 -3
- package/packages/runtime/auth.d.ts +1 -0
- package/packages/runtime/auth.js +3 -0
- package/packages/runtime/hooks.d.ts +10 -0
- package/packages/runtime/hooks.js +3 -0
- package/packages/runtime/index.d.ts +3 -0
- package/packages/runtime/index.js +1 -0
- package/packages/runtime/package-lock.json +512 -0
- package/packages/runtime/package.json +16 -0
- package/packages/runtime/server.d.ts +1 -0
- package/packages/runtime/server.js +3 -0
- package/packages/runtime/types.d.ts +1 -0
- package/packages/runtime/types.js +3 -0
- package/packages/schema/.eslintrc.json +13 -0
- package/packages/schema/.vscodeignore +4 -0
- package/packages/schema/asset/logo-dark.png +0 -0
- package/packages/schema/asset/logo-light.png +0 -0
- package/{bin → packages/schema/bin}/cli +0 -0
- package/packages/schema/jest.config.ts +32 -0
- package/packages/schema/langium-config.json +14 -0
- package/packages/schema/langium-quickstart.md +41 -0
- package/packages/schema/language-configuration.json +30 -0
- package/packages/schema/package.json +96 -0
- package/packages/schema/src/cli/cli-util.ts +80 -0
- package/packages/schema/src/cli/index.ts +64 -0
- package/packages/schema/src/extension.ts +76 -0
- package/packages/schema/src/generator/constants.ts +5 -0
- package/packages/schema/src/generator/index.ts +92 -0
- package/{out/generator/next-auth/index.js → packages/schema/src/generator/next-auth/index.ts} +46 -58
- package/{out → packages/schema/src}/generator/package.template.json +0 -0
- package/packages/schema/src/generator/prisma/expression-writer.ts +352 -0
- package/packages/schema/src/generator/prisma/index.ts +32 -0
- package/packages/schema/src/generator/prisma/plain-expression-builder.ts +91 -0
- package/packages/schema/src/generator/prisma/prisma-builder.ts +366 -0
- package/packages/schema/src/generator/prisma/query-gard-generator.ts +208 -0
- package/packages/schema/src/generator/prisma/schema-generator.ts +300 -0
- package/packages/schema/src/generator/react-hooks/index.ts +181 -0
- package/packages/schema/src/generator/service/index.ts +107 -0
- package/{out → packages/schema/src}/generator/tsconfig.template.json +0 -0
- package/packages/schema/src/generator/types.ts +17 -0
- package/packages/schema/src/generator/utils.ts +9 -0
- package/packages/schema/src/language-server/generated/ast.ts +603 -0
- package/{out/language-server/generated/grammar.js → packages/schema/src/language-server/generated/grammar.ts} +5 -8
- package/packages/schema/src/language-server/generated/module.ts +24 -0
- package/packages/schema/src/language-server/main.ts +12 -0
- package/{out → packages/schema/src}/language-server/stdlib.zmodel +0 -0
- package/packages/schema/src/language-server/types.ts +9 -0
- package/packages/schema/src/language-server/zmodel-index.ts +33 -0
- package/packages/schema/src/language-server/zmodel-linker.ts +409 -0
- package/packages/schema/src/language-server/zmodel-module.ts +90 -0
- package/packages/schema/src/language-server/zmodel-scope.ts +21 -0
- package/packages/schema/src/language-server/zmodel-validator.ts +35 -0
- package/packages/schema/src/language-server/zmodel.langium +186 -0
- package/packages/schema/src/utils/exec-utils.ts +5 -0
- package/packages/schema/src/utils/indent-string.ts +6 -0
- package/packages/schema/syntaxes/zmodel.json +57 -0
- package/packages/schema/syntaxes/zmodel.tmLanguage.json +57 -0
- package/packages/schema/tests/generator/expression-writer.test.ts +676 -0
- package/packages/schema/tests/generator/prisma-builder.test.ts +138 -0
- package/packages/schema/tests/schema/parser.test.ts +423 -0
- package/packages/schema/tests/schema/sample-todo.test.ts +14 -0
- package/packages/schema/tests/utils.ts +38 -0
- package/packages/schema/tsconfig.json +23 -0
- package/pnpm-workspace.yaml +3 -0
- package/samples/todo/.env +2 -0
- package/samples/todo/.eslintrc.json +3 -0
- package/samples/todo/.vscode/launch.json +11 -0
- package/samples/todo/README.md +34 -0
- package/samples/todo/components/AuthGuard.tsx +17 -0
- package/samples/todo/components/Avatar.tsx +22 -0
- package/samples/todo/components/BreadCrumb.tsx +44 -0
- package/samples/todo/components/ManageMembers.tsx +134 -0
- package/samples/todo/components/NavBar.tsx +57 -0
- package/samples/todo/components/SpaceMembers.tsx +76 -0
- package/samples/todo/components/Spaces.tsx +28 -0
- package/samples/todo/components/TimeInfo.tsx +17 -0
- package/samples/todo/components/Todo.tsx +72 -0
- package/samples/todo/components/TodoList.tsx +77 -0
- package/samples/todo/lib/context.ts +31 -0
- package/samples/todo/next.config.js +10 -0
- package/samples/todo/package-lock.json +7527 -0
- package/samples/todo/package.json +45 -0
- package/samples/todo/pages/_app.tsx +50 -0
- package/samples/todo/pages/api/auth/[...nextauth].ts +83 -0
- package/samples/todo/pages/api/zenstack/[...path].ts +16 -0
- package/samples/todo/pages/create-space.tsx +114 -0
- package/samples/todo/pages/index.tsx +32 -0
- package/samples/todo/pages/space/[slug]/[listId]/index.tsx +88 -0
- package/samples/todo/pages/space/[slug]/index.tsx +169 -0
- package/samples/todo/postcss.config.js +6 -0
- package/samples/todo/public/avatar.jpg +0 -0
- package/samples/todo/public/favicon.ico +0 -0
- package/samples/todo/public/logo.png +0 -0
- package/samples/todo/public/vercel.svg +4 -0
- package/samples/todo/styles/globals.css +7 -0
- package/samples/todo/tailwind.config.js +11 -0
- package/samples/todo/tsconfig.json +28 -0
- package/samples/todo/types/next-auth.d.ts +14 -0
- package/samples/todo/types/next.d.ts +16 -0
- package/samples/todo/zenstack/migrations/20221014084317_init/migration.sql +153 -0
- package/samples/todo/zenstack/migrations/20221020094651_upate_cli/migration.sql +23 -0
- package/samples/todo/zenstack/migrations/migration_lock.toml +3 -0
- package/samples/todo/zenstack/schema.prisma +126 -0
- package/samples/todo/zenstack/schema.zmodel +161 -0
- package/tests/integration/jest.config.ts +16 -0
- package/tests/integration/package-lock.json +1081 -0
- package/tests/integration/package.json +27 -0
- package/tests/integration/tests/operation-coverate.test.ts +563 -0
- package/tests/integration/tests/operations.zmodel +69 -0
- package/tests/integration/tests/todo-e2e.test.ts +577 -0
- package/tests/integration/tests/todo.zmodel +123 -0
- package/tests/integration/tests/tsconfig.template.json +10 -0
- package/tests/integration/tests/utils.ts +133 -0
- package/tests/integration/tsconfig.json +10 -0
- package/out/cli/cli-util.js +0 -64
- package/out/cli/cli-util.js.map +0 -1
- package/out/cli/generator.js +0 -1
- package/out/cli/generator.js.map +0 -1
- package/out/cli/index.js +0 -46
- package/out/cli/index.js.map +0 -1
- package/out/cli/package.template.json +0 -10
- package/out/extension.js +0 -81
- package/out/extension.js.map +0 -1
- package/out/generator/constants.js +0 -9
- package/out/generator/constants.js.map +0 -1
- package/out/generator/data-server/index.js +0 -1
- package/out/generator/data-server/index.js.map +0 -1
- package/out/generator/index.js +0 -98
- package/out/generator/index.js.map +0 -1
- package/out/generator/next-auth/index.js.map +0 -1
- package/out/generator/prisma/expression-writer.js +0 -287
- package/out/generator/prisma/expression-writer.js.map +0 -1
- package/out/generator/prisma/index.js +0 -38
- package/out/generator/prisma/index.js.map +0 -1
- package/out/generator/prisma/plain-expression-builder.js +0 -69
- package/out/generator/prisma/plain-expression-builder.js.map +0 -1
- package/out/generator/prisma/prisma-builder.js +0 -307
- package/out/generator/prisma/prisma-builder.js.map +0 -1
- package/out/generator/prisma/query-gard-generator.js +0 -159
- package/out/generator/prisma/query-gard-generator.js.map +0 -1
- package/out/generator/prisma/schema-generator.js +0 -201
- package/out/generator/prisma/schema-generator.js.map +0 -1
- package/out/generator/query-guard/index.js +0 -2
- package/out/generator/query-guard/index.js.map +0 -1
- package/out/generator/react-hooks/index.js +0 -179
- package/out/generator/react-hooks/index.js.map +0 -1
- package/out/generator/server/data/data-generator.js +0 -376
- package/out/generator/server/data/data-generator.js.map +0 -1
- package/out/generator/server/data/expression-writer.js +0 -287
- package/out/generator/server/data/expression-writer.js.map +0 -1
- package/out/generator/server/data/plain-expression-builder.js +0 -69
- package/out/generator/server/data/plain-expression-builder.js.map +0 -1
- package/out/generator/server/data-generator.js +0 -82
- package/out/generator/server/data-generator.js.map +0 -1
- package/out/generator/server/expression-writer.js +0 -1
- package/out/generator/server/expression-writer.js.map +0 -1
- package/out/generator/server/function/function-generator.js +0 -50
- package/out/generator/server/function/function-generator.js.map +0 -1
- package/out/generator/server/function-generator.js +0 -13
- package/out/generator/server/function-generator.js.map +0 -1
- package/out/generator/server/index.js +0 -88
- package/out/generator/server/index.js.map +0 -1
- package/out/generator/server/js-expression-builder.js +0 -1
- package/out/generator/server/js-expression-builder.js.map +0 -1
- package/out/generator/server/plain-expression-builder.js +0 -1
- package/out/generator/server/plain-expression-builder.js.map +0 -1
- package/out/generator/server/server-code-generator.js +0 -3
- package/out/generator/server/server-code-generator.js.map +0 -1
- package/out/generator/server/server-code-writer.js +0 -1
- package/out/generator/server/server-code-writer.js.map +0 -1
- package/out/generator/service/index.js +0 -133
- package/out/generator/service/index.js.map +0 -1
- package/out/generator/types.js +0 -10
- package/out/generator/types.js.map +0 -1
- package/out/generator/utils.js +0 -10
- package/out/generator/utils.js.map +0 -1
- package/out/language-server/generated/ast.js +0 -386
- package/out/language-server/generated/ast.js.map +0 -1
- package/out/language-server/generated/grammar.js.map +0 -1
- package/out/language-server/generated/module.js +0 -23
- package/out/language-server/generated/module.js.map +0 -1
- package/out/language-server/main.js +0 -12
- package/out/language-server/main.js.map +0 -1
- package/out/language-server/types.js +0 -3
- package/out/language-server/types.js.map +0 -1
- package/out/language-server/zmodel-index.js +0 -38
- package/out/language-server/zmodel-index.js.map +0 -1
- package/out/language-server/zmodel-linker.js +0 -241
- package/out/language-server/zmodel-linker.js.map +0 -1
- package/out/language-server/zmodel-module.js +0 -51
- package/out/language-server/zmodel-module.js.map +0 -1
- package/out/language-server/zmodel-scope.js +0 -30
- package/out/language-server/zmodel-scope.js.map +0 -1
- package/out/language-server/zmodel-validator.js +0 -25
- package/out/language-server/zmodel-validator.js.map +0 -1
- package/out/utils/indent-string.js +0 -9
- package/out/utils/indent-string.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import * as tmp from 'tmp';
|
|
2
|
+
import { execSync } from 'child_process';
|
|
3
|
+
import * as path from 'path';
|
|
4
|
+
import * as fs from 'fs';
|
|
5
|
+
import { createServer } from 'http';
|
|
6
|
+
import { apiResolver } from 'next/dist/server/api-utils/node';
|
|
7
|
+
import request from 'supertest';
|
|
8
|
+
import { NextApiHandler } from 'next/types';
|
|
9
|
+
import supertest from 'supertest';
|
|
10
|
+
|
|
11
|
+
export function run(cmd: string) {
|
|
12
|
+
execSync(cmd, { stdio: 'inherit', encoding: 'utf-8' });
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export async function setup(schemaFile: string) {
|
|
16
|
+
const origDir = path.resolve('.');
|
|
17
|
+
|
|
18
|
+
const workDir = path.resolve('tests/test-run');
|
|
19
|
+
if (fs.existsSync(workDir)) {
|
|
20
|
+
fs.rmSync(workDir, { recursive: true, force: true });
|
|
21
|
+
}
|
|
22
|
+
fs.mkdirSync(workDir);
|
|
23
|
+
process.chdir(workDir);
|
|
24
|
+
|
|
25
|
+
const targetSchema = path.join(workDir, 'schema.zmodel');
|
|
26
|
+
fs.copyFileSync(path.join(origDir, schemaFile), targetSchema);
|
|
27
|
+
|
|
28
|
+
// install dependencies
|
|
29
|
+
fs.writeFileSync('.npmrc', `cache=${origDir}/.npmcache`);
|
|
30
|
+
run('npm init -y');
|
|
31
|
+
const dependencies = [
|
|
32
|
+
'typescript',
|
|
33
|
+
'swr',
|
|
34
|
+
'react',
|
|
35
|
+
'prisma',
|
|
36
|
+
'../../../../packages/schema',
|
|
37
|
+
'../../../../packages/runtime',
|
|
38
|
+
'../../../../packages/internal',
|
|
39
|
+
];
|
|
40
|
+
run(`npm i ${dependencies.join(' ')}`);
|
|
41
|
+
|
|
42
|
+
// code generation
|
|
43
|
+
run(`npx zenstack generate ./schema.zmodel`);
|
|
44
|
+
run(`npx prisma migrate dev --schema ./zenstack/schema.prisma -n init`);
|
|
45
|
+
|
|
46
|
+
fs.writeFileSync(
|
|
47
|
+
'handler.ts',
|
|
48
|
+
`
|
|
49
|
+
import { NextApiRequest, NextApiResponse } from 'next';
|
|
50
|
+
import { type RequestHandlerOptions, requestHandler } from '@zenstackhq/runtime/server';
|
|
51
|
+
import service from '@zenstackhq/runtime';
|
|
52
|
+
|
|
53
|
+
const options: RequestHandlerOptions = {
|
|
54
|
+
async getServerUser(req: NextApiRequest, res: NextApiResponse) {
|
|
55
|
+
if (req.cookies.userId) {
|
|
56
|
+
return { id: req.cookies.userId };
|
|
57
|
+
} else {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
export default requestHandler(service, options);
|
|
63
|
+
`
|
|
64
|
+
);
|
|
65
|
+
|
|
66
|
+
fs.copyFileSync(
|
|
67
|
+
path.join(origDir, 'tests/tsconfig.template.json'),
|
|
68
|
+
path.join(workDir, 'tsconfig.json')
|
|
69
|
+
);
|
|
70
|
+
run('npx tsc');
|
|
71
|
+
|
|
72
|
+
return workDir;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export function makeClient(apiPath: string, userId?: string, queryArgs?: any) {
|
|
76
|
+
const [api, ...pathParts] = apiPath.split('/').filter((p) => p);
|
|
77
|
+
if (api !== 'api') {
|
|
78
|
+
throw new Error('apiPath must start with /api');
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
const query = {
|
|
82
|
+
path: pathParts,
|
|
83
|
+
...(queryArgs ? { q: JSON.stringify(queryArgs) } : {}),
|
|
84
|
+
};
|
|
85
|
+
const testClient = (handler: NextApiHandler) =>
|
|
86
|
+
request(
|
|
87
|
+
createServer(async (req, res) => {
|
|
88
|
+
return apiResolver(
|
|
89
|
+
req,
|
|
90
|
+
res,
|
|
91
|
+
query,
|
|
92
|
+
handler,
|
|
93
|
+
{
|
|
94
|
+
previewModeEncryptionKey: '',
|
|
95
|
+
previewModeId: '',
|
|
96
|
+
previewModeSigningKey: '',
|
|
97
|
+
},
|
|
98
|
+
false
|
|
99
|
+
);
|
|
100
|
+
})
|
|
101
|
+
);
|
|
102
|
+
const handler = require(path.resolve('handler.js'));
|
|
103
|
+
const client = testClient(handler);
|
|
104
|
+
|
|
105
|
+
const proxied = new Proxy(client, {
|
|
106
|
+
get(
|
|
107
|
+
target: supertest.SuperTest<supertest.Test>,
|
|
108
|
+
prop: string | symbol,
|
|
109
|
+
receiver: any
|
|
110
|
+
) {
|
|
111
|
+
if (!userId) {
|
|
112
|
+
return Reflect.get(target, prop, receiver);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
switch (prop) {
|
|
116
|
+
case 'get':
|
|
117
|
+
case 'post':
|
|
118
|
+
case 'put':
|
|
119
|
+
case 'del':
|
|
120
|
+
case 'delete':
|
|
121
|
+
return (url: string) => {
|
|
122
|
+
return target[prop](url).set('Cookie', [
|
|
123
|
+
`userId=${userId}`,
|
|
124
|
+
]);
|
|
125
|
+
};
|
|
126
|
+
default:
|
|
127
|
+
return Reflect.get(target, prop, receiver);
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
return proxied;
|
|
133
|
+
}
|
package/out/cli/cli-util.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.extractDestinationAndName = exports.extractAstNode = exports.extractDocument = void 0;
|
|
16
|
-
const colors_1 = __importDefault(require("colors"));
|
|
17
|
-
const path_1 = __importDefault(require("path"));
|
|
18
|
-
const fs_1 = __importDefault(require("fs"));
|
|
19
|
-
const vscode_uri_1 = require("vscode-uri");
|
|
20
|
-
function extractDocument(fileName, services) {
|
|
21
|
-
var _a;
|
|
22
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const extensions = services.LanguageMetaData.fileExtensions;
|
|
24
|
-
if (!extensions.includes(path_1.default.extname(fileName))) {
|
|
25
|
-
console.error(colors_1.default.yellow(`Please choose a file with one of these extensions: ${extensions}.`));
|
|
26
|
-
process.exit(1);
|
|
27
|
-
}
|
|
28
|
-
if (!fs_1.default.existsSync(fileName)) {
|
|
29
|
-
console.error(colors_1.default.red(`File ${fileName} does not exist.`));
|
|
30
|
-
process.exit(1);
|
|
31
|
-
}
|
|
32
|
-
const stdLib = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.join(__dirname, '../language-server/stdlib.zmodel')));
|
|
33
|
-
const document = services.shared.workspace.LangiumDocuments.getOrCreateDocument(vscode_uri_1.URI.file(path_1.default.resolve(fileName)));
|
|
34
|
-
yield services.shared.workspace.DocumentBuilder.build([stdLib, document], {
|
|
35
|
-
validationChecks: 'all',
|
|
36
|
-
});
|
|
37
|
-
const validationErrors = ((_a = document.diagnostics) !== null && _a !== void 0 ? _a : []).filter((e) => e.severity === 1);
|
|
38
|
-
if (validationErrors.length > 0) {
|
|
39
|
-
console.error(colors_1.default.red('There are validation errors:'));
|
|
40
|
-
for (const validationError of validationErrors) {
|
|
41
|
-
console.error(colors_1.default.red(`line ${validationError.range.start.line + 1}: ${validationError.message} [${document.textDocument.getText(validationError.range)}]`));
|
|
42
|
-
}
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
return document;
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
exports.extractDocument = extractDocument;
|
|
49
|
-
function extractAstNode(fileName, services) {
|
|
50
|
-
var _a;
|
|
51
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
return (_a = (yield extractDocument(fileName, services)).parseResult) === null || _a === void 0 ? void 0 : _a.value;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
exports.extractAstNode = extractAstNode;
|
|
56
|
-
function extractDestinationAndName(filePath, destination) {
|
|
57
|
-
filePath = filePath.replace(/\..*$/, '').replace(/[.-]/g, '');
|
|
58
|
-
return {
|
|
59
|
-
destination: destination !== null && destination !== void 0 ? destination : path_1.default.join(path_1.default.dirname(filePath), 'generated'),
|
|
60
|
-
name: path_1.default.basename(filePath),
|
|
61
|
-
};
|
|
62
|
-
}
|
|
63
|
-
exports.extractDestinationAndName = extractDestinationAndName;
|
|
64
|
-
//# sourceMappingURL=cli-util.js.map
|
package/out/cli/cli-util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-util.js","sourceRoot":"","sources":["../../src/cli/cli-util.ts"],"names":[],"mappings":"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"}
|
package/out/cli/generator.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var __importDefault=this&&this.__importDefault||function(mod){return mod&&mod.__esModule?mod:{'default':mod};};Object.defineProperty(exports,'__esModule',{value:true});exports.generateJavaScript=void 0;const fs_1=__importDefault(require('fs'));const langium_1=require('langium');const path_1=__importDefault(require('path'));const cli_util_1=require('./cli-util');function generateJavaScript(model,filePath,destination){const data=(0,cli_util_1.extractDestinationAndName)(filePath,destination);const generatedFilePath=`${path_1.default.join(data.destination,data.name)}.js`;const fileNode=new langium_1.CompositeGeneratorNode();fileNode.append('"use strict";',langium_1.NL,langium_1.NL);if(!fs_1.default.existsSync(data.destination)){fs_1.default.mkdirSync(data.destination,{recursive:true});}fs_1.default.writeFileSync(generatedFilePath,(0,langium_1.processGeneratorNode)(fileNode));return generatedFilePath;}exports.generateJavaScript=generateJavaScript;
|
package/out/cli/generator.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../src/cli/generator.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,qCAA2E;AAC3E,gDAAwB;AAExB,yCAAuD;AAEvD,SAAgB,kBAAkB,CAC9B,KAAY,EACZ,QAAgB,EAChB,WAA+B;IAE/B,MAAM,IAAI,GAAG,IAAA,oCAAyB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,iBAAiB,GAAG,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAEzE,MAAM,QAAQ,GAAG,IAAI,gCAAsB,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,YAAE,EAAE,YAAE,CAAC,CAAC;IACzC,oHAAoH;IAEpH,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;QAClC,YAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACvD;IACD,YAAE,CAAC,aAAa,CAAC,iBAAiB,EAAE,IAAA,8BAAoB,EAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,OAAO,iBAAiB,CAAC;AAC7B,CAAC;AAjBD,gDAiBC"}
|
package/out/cli/index.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.generateAction = void 0;
|
|
13
|
-
const commander_1 = require("commander");
|
|
14
|
-
const module_1 = require("../language-server/generated/module");
|
|
15
|
-
const zmodel_module_1 = require("../language-server/zmodel-module");
|
|
16
|
-
const cli_util_1 = require("./cli-util");
|
|
17
|
-
const generator_1 = require("../generator");
|
|
18
|
-
const constants_1 = require("../generator/constants");
|
|
19
|
-
const generateAction = (fileName, opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
const services = (0, zmodel_module_1.createZModelServices)().ZModel;
|
|
21
|
-
const model = yield (0, cli_util_1.extractAstNode)(fileName, services);
|
|
22
|
-
const context = {
|
|
23
|
-
schema: model,
|
|
24
|
-
outDir: opts.destination || './zenstack',
|
|
25
|
-
// TODO: make this configurable
|
|
26
|
-
generatedCodeDir: constants_1.GENERATED_CODE_PATH,
|
|
27
|
-
};
|
|
28
|
-
yield new generator_1.ZenStackGenerator().generate(context);
|
|
29
|
-
});
|
|
30
|
-
exports.generateAction = generateAction;
|
|
31
|
-
function default_1() {
|
|
32
|
-
const program = new commander_1.Command();
|
|
33
|
-
program
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
35
|
-
.version(require('../../package.json').version);
|
|
36
|
-
const fileExtensions = module_1.ZModelLanguageMetaData.fileExtensions.join(', ');
|
|
37
|
-
program
|
|
38
|
-
.command('generate')
|
|
39
|
-
.argument('<file>', `source file (possible file extensions: ${fileExtensions})`)
|
|
40
|
-
.option('-d, --destination <dir>', 'destination directory of generating')
|
|
41
|
-
.description('generates JavaScript code that prints "Hello, {name}!" for each greeting in a source file')
|
|
42
|
-
.action(exports.generateAction);
|
|
43
|
-
program.parse(process.argv);
|
|
44
|
-
}
|
|
45
|
-
exports.default = default_1;
|
|
46
|
-
//# sourceMappingURL=index.js.map
|
package/out/cli/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAoC;AAEpC,gEAA6E;AAC7E,oEAAwE;AACxE,yCAA4C;AAE5C,4CAAiD;AACjD,sDAA6D;AAEtD,MAAM,cAAc,GAAG,CAC1B,QAAgB,EAChB,IAAqB,EACR,EAAE;IACf,MAAM,QAAQ,GAAG,IAAA,oCAAoB,GAAE,CAAC,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG,MAAM,IAAA,yBAAc,EAAQ,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9D,MAAM,OAAO,GAAY;QACrB,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY;QACxC,+BAA+B;QAC/B,gBAAgB,EAAE,+BAAmB;KACxC,CAAC;IAEF,MAAM,IAAI,6BAAiB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AACpD,CAAC,CAAA,CAAC;AAfW,QAAA,cAAc,kBAezB;AAMF;IACI,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAE9B,OAAO;QACH,8DAA8D;SAC7D,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,CAAC;IAEpD,MAAM,cAAc,GAAG,+BAAsB,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxE,OAAO;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,QAAQ,CACL,QAAQ,EACR,0CAA0C,cAAc,GAAG,CAC9D;SACA,MAAM,CACH,yBAAyB,EACzB,qCAAqC,CACxC;SACA,WAAW,CACR,2FAA2F,CAC9F;SACA,MAAM,CAAC,sBAAc,CAAC,CAAC;IAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAxBD,4BAwBC"}
|
package/out/extension.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.deactivate = exports.activate = void 0;
|
|
27
|
-
const vscode = __importStar(require("vscode"));
|
|
28
|
-
const path = __importStar(require("path"));
|
|
29
|
-
const node_1 = require("vscode-languageclient/node");
|
|
30
|
-
let client;
|
|
31
|
-
// This function is called when the extension is activated.
|
|
32
|
-
function activate(context) {
|
|
33
|
-
client = startLanguageClient(context);
|
|
34
|
-
}
|
|
35
|
-
exports.activate = activate;
|
|
36
|
-
// This function is called when the extension is deactivated.
|
|
37
|
-
function deactivate() {
|
|
38
|
-
if (client) {
|
|
39
|
-
return client.stop();
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
42
|
-
}
|
|
43
|
-
exports.deactivate = deactivate;
|
|
44
|
-
function startLanguageClient(context) {
|
|
45
|
-
const serverModule = context.asAbsolutePath(path.join('out', 'language-server', 'main'));
|
|
46
|
-
// The debug options for the server
|
|
47
|
-
// --inspect=6009: runs the server in Node's Inspector mode so VS Code can attach to the server for debugging.
|
|
48
|
-
// By setting `process.env.DEBUG_BREAK` to a truthy value, the language server will wait until a debugger is attached.
|
|
49
|
-
const debugOptions = {
|
|
50
|
-
execArgv: [
|
|
51
|
-
'--nolazy',
|
|
52
|
-
`--inspect${process.env.DEBUG_BREAK ? '-brk' : ''}=${process.env.DEBUG_SOCKET || '6009'}`,
|
|
53
|
-
],
|
|
54
|
-
};
|
|
55
|
-
// If the extension is launched in debug mode then the debug server options are used
|
|
56
|
-
// Otherwise the run options are used
|
|
57
|
-
const serverOptions = {
|
|
58
|
-
run: { module: serverModule, transport: node_1.TransportKind.ipc },
|
|
59
|
-
debug: {
|
|
60
|
-
module: serverModule,
|
|
61
|
-
transport: node_1.TransportKind.ipc,
|
|
62
|
-
options: debugOptions,
|
|
63
|
-
},
|
|
64
|
-
};
|
|
65
|
-
const fileSystemWatcher = vscode.workspace.createFileSystemWatcher('**/*.zmodel');
|
|
66
|
-
context.subscriptions.push(fileSystemWatcher);
|
|
67
|
-
// Options to control the language client
|
|
68
|
-
const clientOptions = {
|
|
69
|
-
documentSelector: [{ scheme: 'file', language: 'zmodel' }],
|
|
70
|
-
synchronize: {
|
|
71
|
-
// Notify the server about file changes to files contained in the workspace
|
|
72
|
-
fileEvents: fileSystemWatcher,
|
|
73
|
-
},
|
|
74
|
-
};
|
|
75
|
-
// Create the language client and start the client.
|
|
76
|
-
const client = new node_1.LanguageClient('zmodel', 'ZenStack Model', serverOptions, clientOptions);
|
|
77
|
-
// Start the client. This will also launch the server
|
|
78
|
-
client.start();
|
|
79
|
-
return client;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=extension.js.map
|
package/out/extension.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,2CAA6B;AAC7B,qDAKoC;AAEpC,IAAI,MAAsB,CAAC;AAE3B,2DAA2D;AAC3D,SAAgB,QAAQ,CAAC,OAAgC;IACrD,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAFD,4BAEC;AAED,6DAA6D;AAC7D,SAAgB,UAAU;IACtB,IAAI,MAAM,EAAE;QACR,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;KACxB;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AALD,gCAKC;AAED,SAAS,mBAAmB,CAAC,OAAgC;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CACvC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAC9C,CAAC;IACF,mCAAmC;IACnC,8GAA8G;IAC9G,sHAAsH;IACtH,MAAM,YAAY,GAAG;QACjB,QAAQ,EAAE;YACN,UAAU;YACV,YAAY,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAC7C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,MAChC,EAAE;SACL;KACJ,CAAC;IAEF,oFAAoF;IACpF,qCAAqC;IACrC,MAAM,aAAa,GAAkB;QACjC,GAAG,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,oBAAa,CAAC,GAAG,EAAE;QAC3D,KAAK,EAAE;YACH,MAAM,EAAE,YAAY;YACpB,SAAS,EAAE,oBAAa,CAAC,GAAG;YAC5B,OAAO,EAAE,YAAY;SACxB;KACJ,CAAC;IAEF,MAAM,iBAAiB,GACnB,MAAM,CAAC,SAAS,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC5D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAE9C,yCAAyC;IACzC,MAAM,aAAa,GAA0B;QACzC,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;QAC1D,WAAW,EAAE;YACT,2EAA2E;YAC3E,UAAU,EAAE,iBAAiB;SAChC;KACJ,CAAC;IAEF,mDAAmD;IACnD,MAAM,MAAM,GAAG,IAAI,qBAAc,CAC7B,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,aAAa,CAChB,CAAC;IAEF,qDAAqD;IACrD,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GENERATED_CODE_PATH = exports.API_ROUTE_NAME = exports.TRANSACTION_FIELD_NAME = exports.GUARD_FIELD_NAME = exports.INTERNAL_PACKAGE = void 0;
|
|
4
|
-
exports.INTERNAL_PACKAGE = '@zenstackhq/internal';
|
|
5
|
-
exports.GUARD_FIELD_NAME = 'zenstack_guard';
|
|
6
|
-
exports.TRANSACTION_FIELD_NAME = 'zenstack_transaction';
|
|
7
|
-
exports.API_ROUTE_NAME = 'zenstack';
|
|
8
|
-
exports.GENERATED_CODE_PATH = 'node_modules/.zenstack';
|
|
9
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/generator/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG,sBAAsB,CAAC;AAC1C,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AACpC,QAAA,sBAAsB,GAAG,sBAAsB,CAAC;AAChD,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,mBAAmB,GAAG,wBAAwB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){function adopt(value){return value instanceof P?value:new P(function(resolve){resolve(value);});}return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}function rejected(value){try{step(generator['throw'](value));}catch(e){reject(e);}}function step(result){result.done?resolve(result.value):adopt(result.value).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};Object.defineProperty(exports,'__esModule',{value:true});class DataServerGenerator{generate(context){return __awaiter(this,void 0,void 0,function*(){throw new Error('Method not implemented.');});}}exports.default=DataServerGenerator;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/data-server/index.ts"],"names":[],"mappings":";;;;;;;;;;;AAEA,MAAqB,mBAAmB;IAC9B,QAAQ,CAAC,OAAgB;;YAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC/C,CAAC;KAAA;CACJ;AAJD,sCAIC"}
|
package/out/generator/index.js
DELETED
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.ZenStackGenerator = void 0;
|
|
39
|
-
const fs = __importStar(require("fs"));
|
|
40
|
-
const colors_1 = __importDefault(require("colors"));
|
|
41
|
-
const prisma_1 = __importDefault(require("./prisma"));
|
|
42
|
-
const service_1 = __importDefault(require("./service"));
|
|
43
|
-
const react_hooks_1 = __importDefault(require("./react-hooks"));
|
|
44
|
-
const next_auth_1 = __importDefault(require("./next-auth"));
|
|
45
|
-
const path_1 = __importDefault(require("path"));
|
|
46
|
-
const child_process_1 = require("child_process");
|
|
47
|
-
class ZenStackGenerator {
|
|
48
|
-
generate(context) {
|
|
49
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
-
// folder that stores generated prisma schema and migrations
|
|
51
|
-
if (!fs.existsSync(context.outDir)) {
|
|
52
|
-
fs.mkdirSync(context.outDir);
|
|
53
|
-
}
|
|
54
|
-
// folder that stores generated zenstack code
|
|
55
|
-
if (fs.existsSync(context.generatedCodeDir)) {
|
|
56
|
-
fs.rmSync(context.generatedCodeDir, {
|
|
57
|
-
force: true,
|
|
58
|
-
recursive: true,
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
fs.mkdirSync(context.generatedCodeDir);
|
|
62
|
-
const version = require('../../package.json').version;
|
|
63
|
-
console.log(colors_1.default.bold(`⌛️ Running ZenStack generator v${version}`));
|
|
64
|
-
const generators = [
|
|
65
|
-
new prisma_1.default(),
|
|
66
|
-
new service_1.default(),
|
|
67
|
-
new react_hooks_1.default(),
|
|
68
|
-
];
|
|
69
|
-
try {
|
|
70
|
-
require('next-auth');
|
|
71
|
-
generators.push(new next_auth_1.default());
|
|
72
|
-
}
|
|
73
|
-
catch (_a) {
|
|
74
|
-
console.warn('Next-auth module is not installed, skipping generating adapter.');
|
|
75
|
-
}
|
|
76
|
-
for (const generator of generators) {
|
|
77
|
-
yield generator.generate(context);
|
|
78
|
-
}
|
|
79
|
-
// generate package.json
|
|
80
|
-
const packageJson = require(path_1.default.join(__dirname, 'package.template.json'));
|
|
81
|
-
fs.writeFileSync(path_1.default.join(context.generatedCodeDir, 'package.json'), JSON.stringify(packageJson, undefined, 4));
|
|
82
|
-
// compile ts sources
|
|
83
|
-
const tsConfig = require(path_1.default.join(__dirname, 'tsconfig.template.json'));
|
|
84
|
-
fs.writeFileSync(path_1.default.join(context.generatedCodeDir, 'tsconfig.json'), JSON.stringify(tsConfig, undefined, 4));
|
|
85
|
-
try {
|
|
86
|
-
(0, child_process_1.execSync)(`npx tsc -p "${path_1.default.join(context.generatedCodeDir, 'tsconfig.json')}"`, { encoding: 'utf-8', stdio: 'inherit' });
|
|
87
|
-
}
|
|
88
|
-
catch (_b) {
|
|
89
|
-
console.error(colors_1.default.red('Something went wrong, generated runtime code failed to compile...'));
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
console.log(colors_1.default.blue(' ✔️ Typescript source files transpiled'));
|
|
93
|
-
console.log(colors_1.default.green(colors_1.default.bold('👻 All generators completed successfully!')));
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.ZenStackGenerator = ZenStackGenerator;
|
|
98
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAyB;AACzB,oDAA4B;AAC5B,sDAAuC;AACvC,wDAAyC;AACzC,gEAAgD;AAChD,4DAA4C;AAC5C,gDAAwB;AACxB,iDAAyC;AAEzC,MAAa,iBAAiB;IACpB,QAAQ,CAAC,OAAgB;;YAC3B,4DAA4D;YAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAChC;YAED,6CAA6C;YAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE;gBACzC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE;oBAChC,KAAK,EAAE,IAAI;oBACX,SAAS,EAAE,IAAI;iBAClB,CAAC,CAAC;aACN;YACD,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAEvC,MAAM,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,kCAAkC,OAAO,EAAE,CAAC,CAAC,CAAC;YAEtE,MAAM,UAAU,GAAG;gBACf,IAAI,gBAAe,EAAE;gBACrB,IAAI,iBAAgB,EAAE;gBACtB,IAAI,qBAAmB,EAAE;aAC5B,CAAC;YAEF,IAAI;gBACA,OAAO,CAAC,WAAW,CAAC,CAAC;gBACrB,UAAU,CAAC,IAAI,CAAC,IAAI,mBAAiB,EAAE,CAAC,CAAC;aAC5C;YAAC,WAAM;gBACJ,OAAO,CAAC,IAAI,CACR,iEAAiE,CACpE,CAAC;aACL;YAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAChC,MAAM,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;aACrC;YAED,wBAAwB;YACxB,MAAM,WAAW,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CACjC,SAAS,EACT,uBAAuB,CAC1B,CAAC,CAAC;YACH,EAAE,CAAC,aAAa,CACZ,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,CAAC,CAC5C,CAAC;YAEF,qBAAqB;YACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAC9B,SAAS,EACT,wBAAwB,CAC3B,CAAC,CAAC;YACH,EAAE,CAAC,aAAa,CACZ,cAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,eAAe,CAAC,EACpD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CACzC,CAAC;YAEF,IAAI;gBACA,IAAA,wBAAQ,EACJ,eAAe,cAAI,CAAC,IAAI,CACpB,OAAO,CAAC,gBAAgB,EACxB,eAAe,CAClB,GAAG,EACJ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAC1C,CAAC;aACL;YAAC,WAAM;gBACJ,OAAO,CAAC,KAAK,CACT,gBAAM,CAAC,GAAG,CACN,mEAAmE,CACtE,CACJ,CAAC;gBACF,OAAO;aACV;YAED,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;YAEpE,OAAO,CAAC,GAAG,CACP,gBAAM,CAAC,KAAK,CACR,gBAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAC3D,CACJ,CAAC;QACN,CAAC;KAAA;CACJ;AAnFD,8CAmFC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/next-auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAAmC;AACnC,2CAA6B;AAC7B,oDAA4B;AAE5B,MAAqB,iBAAiB;IAC5B,QAAQ,CAAC,OAAgB;;YAC3B,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;YAE9B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YAErB,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;QACjE,CAAC;KAAA;IAED,aAAa,CAAC,OAAgB,EAAE,OAAgB;QAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EACxD,SAAS,EACT,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QAEF,EAAE,CAAC,aAAa,CAAC;YACb,sCAAsC;YACtC,8BAA8B;SACjC,CAAC,CAAC;QAEH,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,OAAgB,EAAE,OAAgB;QAC9C,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2Df,CAAC;QAEF,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CACL,OAAO,CAAC,gBAAgB,EACxB,+BAA+B,CAClC,EACD,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QAEF,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,iBAAiB,CAAC,OAAgB,EAAE,OAAgB;QAChD,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8Ef,CAAC;QAEF,MAAM,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EAC5D,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;QAEF,EAAE,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CACJ;AA/LD,oCA+LC"}
|