zenstack 1.0.0-alpha.23 → 1.0.0-alpha.25

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.
Files changed (84) hide show
  1. package/README.md +79 -9
  2. package/cli/cli-error.js +3 -5
  3. package/cli/cli-error.js.map +1 -1
  4. package/cli/cli-util.js +123 -105
  5. package/cli/cli-util.js.map +1 -1
  6. package/cli/index.js +105 -63
  7. package/cli/index.js.map +1 -1
  8. package/cli/plugin-runner.js +130 -127
  9. package/cli/plugin-runner.js.map +1 -1
  10. package/language-server/constants.js +5 -13
  11. package/language-server/constants.js.map +1 -1
  12. package/language-server/main.js +8 -15
  13. package/language-server/main.js.map +1 -1
  14. package/language-server/types.js +3 -1
  15. package/language-server/types.js.map +1 -1
  16. package/language-server/utils.js +13 -16
  17. package/language-server/utils.js.map +1 -1
  18. package/language-server/validator/attribute-validator.js +3 -7
  19. package/language-server/validator/attribute-validator.js.map +1 -1
  20. package/language-server/validator/datamodel-validator.js +293 -347
  21. package/language-server/validator/datamodel-validator.js.map +1 -1
  22. package/language-server/validator/datasource-validator.js +61 -71
  23. package/language-server/validator/datasource-validator.js.map +1 -1
  24. package/language-server/validator/enum-validator.js +6 -10
  25. package/language-server/validator/enum-validator.js.map +1 -1
  26. package/language-server/validator/expression-validator.js +25 -31
  27. package/language-server/validator/expression-validator.js.map +1 -1
  28. package/language-server/validator/schema-validator.js +18 -25
  29. package/language-server/validator/schema-validator.js.map +1 -1
  30. package/language-server/validator/utils.js +86 -85
  31. package/language-server/validator/utils.js.map +1 -1
  32. package/language-server/validator/zmodel-validator.js +55 -58
  33. package/language-server/validator/zmodel-validator.js.map +1 -1
  34. package/language-server/zmodel-formatter.js +40 -21
  35. package/language-server/zmodel-formatter.js.map +1 -1
  36. package/language-server/zmodel-linker.js +328 -331
  37. package/language-server/zmodel-linker.js.map +1 -1
  38. package/language-server/zmodel-module.js +50 -59
  39. package/language-server/zmodel-module.js.map +1 -1
  40. package/language-server/zmodel-scope.js +35 -25
  41. package/language-server/zmodel-scope.js.map +1 -1
  42. package/language-server/zmodel-workspace-manager.js +30 -18
  43. package/language-server/zmodel-workspace-manager.js.map +1 -1
  44. package/package.json +8 -12
  45. package/plugins/access-policy/expression-writer.js +301 -292
  46. package/plugins/access-policy/expression-writer.js.map +1 -1
  47. package/plugins/access-policy/index.js +20 -11
  48. package/plugins/access-policy/index.js.map +1 -1
  49. package/plugins/access-policy/policy-guard-generator.js +327 -321
  50. package/plugins/access-policy/policy-guard-generator.js.map +1 -1
  51. package/plugins/access-policy/typescript-expression-transformer.js +94 -95
  52. package/plugins/access-policy/typescript-expression-transformer.js.map +1 -1
  53. package/plugins/access-policy/utils.js +7 -9
  54. package/plugins/access-policy/utils.js.map +1 -1
  55. package/plugins/access-policy/zod-schema-generator.js +143 -159
  56. package/plugins/access-policy/zod-schema-generator.js.map +1 -1
  57. package/plugins/model-meta/index.js +97 -102
  58. package/plugins/model-meta/index.js.map +1 -1
  59. package/plugins/plugin-utils.js +34 -40
  60. package/plugins/plugin-utils.js.map +1 -1
  61. package/plugins/prisma/indent-string.js +4 -8
  62. package/plugins/prisma/indent-string.js.map +1 -1
  63. package/plugins/prisma/index.js +20 -11
  64. package/plugins/prisma/index.js.map +1 -1
  65. package/plugins/prisma/prisma-builder.js +235 -213
  66. package/plugins/prisma/prisma-builder.js.map +1 -1
  67. package/plugins/prisma/schema-generator.js +205 -192
  68. package/plugins/prisma/schema-generator.js.map +1 -1
  69. package/plugins/prisma/zmodel-code-generator.js +109 -114
  70. package/plugins/prisma/zmodel-code-generator.js.map +1 -1
  71. package/telemetry.js +107 -90
  72. package/telemetry.js.map +1 -1
  73. package/types.js +3 -1
  74. package/types.js.map +1 -1
  75. package/utils/ast-utils.js +67 -67
  76. package/utils/ast-utils.js.map +1 -1
  77. package/utils/exec-utils.js +6 -15
  78. package/utils/exec-utils.js.map +1 -1
  79. package/utils/pkg-utils.js +38 -35
  80. package/utils/pkg-utils.js.map +1 -1
  81. package/utils/version-utils.js +9 -10
  82. package/utils/version-utils.js.map +1 -1
  83. package/global.d.js +0 -1
  84. package/global.d.js.map +0 -1
package/cli/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["requiredPrismaVersion","initAction","projectPath","options","telemetry","trackSpan","command","initProject","prisma","packageManager","tag","generateAction","checkRequiredPackage","runPlugins","packageName","minVersion","packageVersion","require","version","error","console","colors","red","CliError","semver","lt","createProgram","program","Command","getVersion","schemaExtensions","ZModelLanguageMetaData","fileExtensions","join","description","bold","blue","showHelpAfterError","showSuggestionAfterError","schemaOption","Option","default","pmOption","choices","addOption","argument","action","args","process","argv","exitOverride","parseAsync"],"sources":["../../src/cli/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ZModelLanguageMetaData } from '@zenstackhq/language/module';\nimport colors from 'colors';\nimport { Command, Option } from 'commander';\nimport * as semver from 'semver';\nimport telemetry from '../telemetry';\nimport { PackageManagers } from '../utils/pkg-utils';\nimport { getVersion } from '../utils/version-utils';\nimport { CliError } from './cli-error';\nimport { initProject, runPlugins } from './cli-util';\n\n// required minimal version of Prisma\nexport const requiredPrismaVersion = '4.0.0';\n\nexport const initAction = async (\n projectPath: string,\n options: {\n prisma: string | undefined;\n packageManager: PackageManagers | undefined;\n tag: string;\n }\n): Promise<void> => {\n await telemetry.trackSpan(\n 'cli:command:start',\n 'cli:command:complete',\n 'cli:command:error',\n { command: 'init' },\n () => initProject(projectPath, options.prisma, options.packageManager, options.tag)\n );\n};\n\nexport const generateAction = async (options: {\n schema: string;\n packageManager: PackageManagers | undefined;\n}): Promise<void> => {\n checkRequiredPackage('prisma', requiredPrismaVersion);\n checkRequiredPackage('@prisma/client', requiredPrismaVersion);\n await telemetry.trackSpan(\n 'cli:command:start',\n 'cli:command:complete',\n 'cli:command:error',\n { command: 'generate' },\n () => runPlugins(options)\n );\n};\n\nconst checkRequiredPackage = (packageName: string, minVersion?: string) => {\n let packageVersion: string;\n try {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n packageVersion = require(`${packageName}/package.json`).version;\n } catch (error) {\n console.error(colors.red(`${packageName} not found, please install it`));\n throw new CliError(`${packageName} not found`);\n }\n\n if (minVersion && semver.lt(packageVersion, minVersion)) {\n console.error(\n colors.red(\n `${packageName} needs to be above ${minVersion}, the installed version is ${packageVersion}, please upgrade it`\n )\n );\n throw new CliError(`${packageName} version is too low`);\n }\n};\n\nexport function createProgram() {\n const program = new Command('zenstack');\n\n program.version(getVersion(), '-v --version', 'display CLI version');\n\n const schemaExtensions = ZModelLanguageMetaData.fileExtensions.join(', ');\n\n program\n .description(\n `${colors.bold.blue(\n 'ζ'\n )} ZenStack is a Prisma power pack for building full-stack apps.\\n\\nDocumentation: https://zenstack.dev.`\n )\n .showHelpAfterError()\n .showSuggestionAfterError();\n\n const schemaOption = new Option('--schema <file>', `schema file (with extension ${schemaExtensions})`).default(\n './schema.zmodel'\n );\n\n const pmOption = new Option('-p, --package-manager <pm>', 'package manager to use').choices([\n 'npm',\n 'yarn',\n 'pnpm',\n ]);\n\n program\n .command('init')\n .description('Initialize an existing project for ZenStack.')\n .addOption(pmOption)\n .addOption(new Option('--prisma <file>', 'location of Prisma schema file to bootstrap from'))\n .addOption(\n new Option('--tag <tag>', 'the NPM package tag to use when installing dependencies').default(\n '<DEFAULT_NPM_TAG>'\n )\n )\n .argument('[path]', 'project path', '.')\n .action(initAction);\n\n program\n .command('generate')\n .description('Generates RESTful API and Typescript client for your data model.')\n .addOption(schemaOption)\n .addOption(pmOption)\n .action(generateAction);\n return program;\n}\n\nexport default async function (): Promise<void> {\n await telemetry.trackSpan('cli:start', 'cli:complete', 'cli:error', { args: process.argv }, async () => {\n const program = createProgram();\n\n // handle errors explicitly to ensure telemetry\n program.exitOverride();\n\n await program.parseAsync(process.argv);\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,142 +1,145 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
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 });
6
15
  exports.PluginRunner = void 0;
7
- var _internals = require("@prisma/internals");
8
- var _ast = require("@zenstackhq/language/ast");
9
- var _sdk = require("@zenstackhq/sdk");
10
- var _colors = _interopRequireDefault(require("colors"));
11
- var _fs = _interopRequireDefault(require("fs"));
12
- var _ora = _interopRequireDefault(require("ora"));
13
- var _path = _interopRequireDefault(require("path"));
14
- var _telemetry = _interopRequireDefault(require("../telemetry"));
15
- var _cliError = require("./cli-error");
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
- /* eslint-disable @typescript-eslint/no-var-requires */
18
-
16
+ const internals_1 = require("@prisma/internals");
17
+ const ast_1 = require("@zenstackhq/language/ast");
18
+ const sdk_1 = require("@zenstackhq/sdk");
19
+ const colors_1 = __importDefault(require("colors"));
20
+ const fs_1 = __importDefault(require("fs"));
21
+ const ora_1 = __importDefault(require("ora"));
22
+ const path_1 = __importDefault(require("path"));
23
+ const telemetry_1 = __importDefault(require("../telemetry"));
24
+ const cli_error_1 = require("./cli-error");
19
25
  /**
20
26
  * ZenStack code generator
21
27
  */
22
28
  class PluginRunner {
23
- /**
24
- * Runs a series of nested generators
25
- */
26
- async run(context) {
27
- const version = require('../package.json').version;
28
- console.log(_colors.default.bold(`⌛️ ZenStack CLI v${version}, running plugins`));
29
- const plugins = [];
30
- const pluginDecls = context.schema.declarations.filter(d => (0, _ast.isPlugin)(d));
31
- const prereqPlugins = ['@zenstack/prisma', '@zenstack/model-meta', '@zenstack/access-policy'];
32
- const allPluginProviders = prereqPlugins.concat(pluginDecls.map(p => this.getPluginProvider(p)).filter(p => !!p && !prereqPlugins.includes(p)));
33
- let prismaOutput = './prisma/schema.prisma';
34
- for (const pluginProvider of allPluginProviders) {
35
- const plugin = pluginDecls.find(p => this.getPluginProvider(p) === pluginProvider);
36
- if (plugin) {
37
- const options = {
38
- schemaPath: context.schemaPath
39
- };
40
- plugin.fields.forEach(f => {
41
- const value = (0, _sdk.getLiteral)(f.value) || (0, _sdk.getLiteralArray)(f.value);
42
- if (!value) {
43
- throw new _cliError.CliError(`Invalid plugin value for ${f.name}`);
44
- }
45
- options[f.name] = value;
29
+ /**
30
+ * Runs a series of nested generators
31
+ */
32
+ run(context) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ const version = require('../package.json').version;
35
+ console.log(colors_1.default.bold(`⌛️ ZenStack CLI v${version}, running plugins`));
36
+ const plugins = [];
37
+ const pluginDecls = context.schema.declarations.filter((d) => (0, ast_1.isPlugin)(d));
38
+ const prereqPlugins = ['@zenstack/prisma', '@zenstack/model-meta', '@zenstack/access-policy'];
39
+ const allPluginProviders = prereqPlugins.concat(pluginDecls
40
+ .map((p) => this.getPluginProvider(p))
41
+ .filter((p) => !!p && !prereqPlugins.includes(p)));
42
+ let prismaOutput = './prisma/schema.prisma';
43
+ for (const pluginProvider of allPluginProviders) {
44
+ const plugin = pluginDecls.find((p) => this.getPluginProvider(p) === pluginProvider);
45
+ if (plugin) {
46
+ const options = { schemaPath: context.schemaPath };
47
+ plugin.fields.forEach((f) => {
48
+ const value = (0, sdk_1.getLiteral)(f.value) || (0, sdk_1.getLiteralArray)(f.value);
49
+ if (!value) {
50
+ throw new cli_error_1.CliError(`Invalid plugin value for ${f.name}`);
51
+ }
52
+ options[f.name] = value;
53
+ });
54
+ const pluginModulePath = this.getPluginModulePath(pluginProvider);
55
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
+ let pluginModule;
57
+ try {
58
+ pluginModule = require(pluginModulePath);
59
+ }
60
+ catch (err) {
61
+ console.error(`Unable to load plugin module ${pluginProvider}: ${pluginModulePath}, ${err}`);
62
+ throw new cli_error_1.CliError(`Unable to load plugin module ${pluginProvider}`);
63
+ }
64
+ if (!pluginModule.default || typeof pluginModule.default !== 'function') {
65
+ console.error(`Plugin provider ${pluginProvider} is missing a default function export`);
66
+ throw new cli_error_1.CliError(`Plugin provider ${pluginProvider} is missing a default function export`);
67
+ }
68
+ plugins.push({
69
+ name: this.getPluginName(pluginModule, pluginProvider),
70
+ provider: pluginProvider,
71
+ run: pluginModule.default,
72
+ options,
73
+ });
74
+ if (pluginProvider === '@zenstack/prisma' && options.output) {
75
+ // record custom prisma output path
76
+ prismaOutput = options.output;
77
+ }
78
+ }
79
+ else {
80
+ // synthesize a plugin
81
+ const pluginModule = require(this.getPluginModulePath(pluginProvider));
82
+ plugins.push({
83
+ name: this.getPluginName(pluginModule, pluginProvider),
84
+ provider: pluginProvider,
85
+ run: pluginModule.default,
86
+ options: { schemaPath: context.schemaPath },
87
+ });
88
+ }
89
+ }
90
+ const warnings = [];
91
+ let dmmf = undefined;
92
+ for (const { name, provider, run, options } of plugins) {
93
+ yield this.runPlugin(name, run, context, options, dmmf, warnings);
94
+ if (provider === '@zenstack/prisma') {
95
+ // load prisma DMMF
96
+ dmmf = yield (0, internals_1.getDMMF)({
97
+ datamodel: fs_1.default.readFileSync(prismaOutput, { encoding: 'utf-8' }),
98
+ });
99
+ }
100
+ }
101
+ console.log(colors_1.default.green(colors_1.default.bold('\n👻 All plugins completed successfully!')));
102
+ warnings.forEach((w) => console.warn(colors_1.default.yellow(w)));
46
103
  });
47
- const pluginModulePath = this.getPluginModulePath(pluginProvider);
48
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- let pluginModule;
50
- try {
51
- pluginModule = require(pluginModulePath);
52
- } catch (err) {
53
- console.error(`Unable to load plugin module ${pluginProvider}: ${pluginModulePath}, ${err}`);
54
- throw new _cliError.CliError(`Unable to load plugin module ${pluginProvider}`);
55
- }
56
- if (!pluginModule.default || typeof pluginModule.default !== 'function') {
57
- console.error(`Plugin provider ${pluginProvider} is missing a default function export`);
58
- throw new _cliError.CliError(`Plugin provider ${pluginProvider} is missing a default function export`);
59
- }
60
- plugins.push({
61
- name: this.getPluginName(pluginModule, pluginProvider),
62
- provider: pluginProvider,
63
- run: pluginModule.default,
64
- options
65
- });
66
- if (pluginProvider === '@zenstack/prisma' && options.output) {
67
- // record custom prisma output path
68
- prismaOutput = options.output;
69
- }
70
- } else {
71
- // synthesize a plugin
72
- const pluginModule = require(this.getPluginModulePath(pluginProvider));
73
- plugins.push({
74
- name: this.getPluginName(pluginModule, pluginProvider),
75
- provider: pluginProvider,
76
- run: pluginModule.default,
77
- options: {
78
- schemaPath: context.schemaPath
79
- }
80
- });
81
- }
82
104
  }
83
- const warnings = [];
84
- let dmmf = undefined;
85
- for (const {
86
- name,
87
- provider,
88
- run,
89
- options
90
- } of plugins) {
91
- await this.runPlugin(name, run, context, options, dmmf, warnings);
92
- if (provider === '@zenstack/prisma') {
93
- // load prisma DMMF
94
- dmmf = await (0, _internals.getDMMF)({
95
- datamodel: _fs.default.readFileSync(prismaOutput, {
96
- encoding: 'utf-8'
97
- })
105
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
+ getPluginName(pluginModule, pluginProvider) {
107
+ return typeof pluginModule.name === 'string' ? pluginModule.name : pluginProvider;
108
+ }
109
+ getPluginProvider(plugin) {
110
+ const providerField = plugin.fields.find((f) => f.name === 'provider');
111
+ return (0, sdk_1.getLiteral)(providerField === null || providerField === void 0 ? void 0 : providerField.value);
112
+ }
113
+ runPlugin(name, run, context, options, dmmf, warnings) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const spinner = (0, ora_1.default)(`Running plugin ${colors_1.default.cyan(name)}`).start();
116
+ try {
117
+ yield telemetry_1.default.trackSpan('cli:plugin:start', 'cli:plugin:complete', 'cli:plugin:error', {
118
+ plugin: name,
119
+ }, () => __awaiter(this, void 0, void 0, function* () {
120
+ let result = run(context.schema, options, dmmf);
121
+ if (result instanceof Promise) {
122
+ result = yield result;
123
+ }
124
+ if (Array.isArray(result)) {
125
+ warnings.push(...result);
126
+ }
127
+ }));
128
+ spinner.succeed();
129
+ }
130
+ catch (err) {
131
+ spinner.fail();
132
+ throw err;
133
+ }
98
134
  });
99
- }
100
135
  }
101
- console.log(_colors.default.green(_colors.default.bold('\n👻 All plugins completed successfully!')));
102
- warnings.forEach(w => console.warn(_colors.default.yellow(w)));
103
- }
104
-
105
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
- getPluginName(pluginModule, pluginProvider) {
107
- return typeof pluginModule.name === 'string' ? pluginModule.name : pluginProvider;
108
- }
109
- getPluginProvider(plugin) {
110
- const providerField = plugin.fields.find(f => f.name === 'provider');
111
- return (0, _sdk.getLiteral)(providerField === null || providerField === void 0 ? void 0 : providerField.value);
112
- }
113
- async runPlugin(name, run, context, options, dmmf, warnings) {
114
- const spinner = (0, _ora.default)(`Running plugin ${_colors.default.cyan(name)}`).start();
115
- try {
116
- await _telemetry.default.trackSpan('cli:plugin:start', 'cli:plugin:complete', 'cli:plugin:error', {
117
- plugin: name
118
- }, async () => {
119
- let result = run(context.schema, options, dmmf);
120
- if (result instanceof Promise) {
121
- result = await result;
136
+ getPluginModulePath(provider) {
137
+ let pluginModulePath = provider;
138
+ if (pluginModulePath.startsWith('@zenstack/')) {
139
+ pluginModulePath = pluginModulePath.replace(/^@zenstack/, path_1.default.join(__dirname, '../plugins'));
122
140
  }
123
- if (Array.isArray(result)) {
124
- warnings.push(...result);
125
- }
126
- });
127
- spinner.succeed();
128
- } catch (err) {
129
- spinner.fail();
130
- throw err;
131
- }
132
- }
133
- getPluginModulePath(provider) {
134
- let pluginModulePath = provider;
135
- if (pluginModulePath.startsWith('@zenstack/')) {
136
- pluginModulePath = pluginModulePath.replace(/^@zenstack/, _path.default.join(__dirname, '../plugins'));
141
+ return pluginModulePath;
137
142
  }
138
- return pluginModulePath;
139
- }
140
143
  }
141
144
  exports.PluginRunner = PluginRunner;
142
145
  //# sourceMappingURL=plugin-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-runner.js","names":["PluginRunner","run","context","version","require","console","log","colors","bold","plugins","pluginDecls","schema","declarations","filter","d","isPlugin","prereqPlugins","allPluginProviders","concat","map","p","getPluginProvider","includes","prismaOutput","pluginProvider","plugin","find","options","schemaPath","fields","forEach","f","value","getLiteral","getLiteralArray","CliError","name","pluginModulePath","getPluginModulePath","pluginModule","err","error","default","push","getPluginName","provider","output","warnings","dmmf","undefined","runPlugin","getDMMF","datamodel","fs","readFileSync","encoding","green","w","warn","yellow","providerField","spinner","ora","cyan","start","telemetry","trackSpan","result","Promise","Array","isArray","succeed","fail","startsWith","replace","path","join","__dirname"],"sources":["../../src/cli/plugin-runner.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-var-requires */\nimport { DMMF } from '@prisma/generator-helper';\nimport { getDMMF } from '@prisma/internals';\nimport { Plugin, isPlugin } from '@zenstackhq/language/ast';\nimport { PluginFunction, PluginOptions, getLiteral, getLiteralArray } from '@zenstackhq/sdk';\nimport colors from 'colors';\nimport fs from 'fs';\nimport ora from 'ora';\nimport path from 'path';\nimport telemetry from '../telemetry';\nimport { Context } from '../types';\nimport { CliError } from './cli-error';\n\n/**\n * ZenStack code generator\n */\nexport class PluginRunner {\n /**\n * Runs a series of nested generators\n */\n async run(context: Context): Promise<void> {\n const version = require('../package.json').version;\n console.log(colors.bold(`⌛️ ZenStack CLI v${version}, running plugins`));\n\n const plugins: Array<{\n provider: string;\n name: string;\n run: PluginFunction;\n options: PluginOptions;\n }> = [];\n\n const pluginDecls = context.schema.declarations.filter((d): d is Plugin => isPlugin(d));\n const prereqPlugins = ['@zenstack/prisma', '@zenstack/model-meta', '@zenstack/access-policy'];\n const allPluginProviders = prereqPlugins.concat(\n pluginDecls\n .map((p) => this.getPluginProvider(p))\n .filter((p): p is string => !!p && !prereqPlugins.includes(p))\n );\n let prismaOutput = './prisma/schema.prisma';\n\n for (const pluginProvider of allPluginProviders) {\n const plugin = pluginDecls.find((p) => this.getPluginProvider(p) === pluginProvider);\n if (plugin) {\n const options: PluginOptions = { schemaPath: context.schemaPath };\n\n plugin.fields.forEach((f) => {\n const value = getLiteral(f.value) || getLiteralArray(f.value);\n if (!value) {\n throw new CliError(`Invalid plugin value for ${f.name}`);\n }\n options[f.name] = value;\n });\n\n const pluginModulePath = this.getPluginModulePath(pluginProvider);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let pluginModule: any;\n try {\n pluginModule = require(pluginModulePath);\n } catch (err) {\n console.error(`Unable to load plugin module ${pluginProvider}: ${pluginModulePath}, ${err}`);\n throw new CliError(`Unable to load plugin module ${pluginProvider}`);\n }\n\n if (!pluginModule.default || typeof pluginModule.default !== 'function') {\n console.error(`Plugin provider ${pluginProvider} is missing a default function export`);\n throw new CliError(`Plugin provider ${pluginProvider} is missing a default function export`);\n }\n plugins.push({\n name: this.getPluginName(pluginModule, pluginProvider),\n provider: pluginProvider,\n run: pluginModule.default as PluginFunction,\n options,\n });\n\n if (pluginProvider === '@zenstack/prisma' && options.output) {\n // record custom prisma output path\n prismaOutput = options.output as string;\n }\n } else {\n // synthesize a plugin\n const pluginModule = require(this.getPluginModulePath(pluginProvider));\n plugins.push({\n name: this.getPluginName(pluginModule, pluginProvider),\n provider: pluginProvider,\n run: pluginModule.default,\n options: { schemaPath: context.schemaPath },\n });\n }\n }\n\n const warnings: string[] = [];\n\n let dmmf: DMMF.Document | undefined = undefined;\n for (const { name, provider, run, options } of plugins) {\n await this.runPlugin(name, run, context, options, dmmf, warnings);\n if (provider === '@zenstack/prisma') {\n // load prisma DMMF\n dmmf = await getDMMF({\n datamodel: fs.readFileSync(prismaOutput, { encoding: 'utf-8' }),\n });\n }\n }\n\n console.log(colors.green(colors.bold('\\n👻 All plugins completed successfully!')));\n\n warnings.forEach((w) => console.warn(colors.yellow(w)));\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private getPluginName(pluginModule: any, pluginProvider: string): string {\n return typeof pluginModule.name === 'string' ? (pluginModule.name as string) : pluginProvider;\n }\n\n private getPluginProvider(plugin: Plugin) {\n const providerField = plugin.fields.find((f) => f.name === 'provider');\n return getLiteral<string>(providerField?.value);\n }\n\n private async runPlugin(\n name: string,\n run: PluginFunction,\n context: Context,\n options: PluginOptions,\n dmmf: DMMF.Document | undefined,\n warnings: string[]\n ) {\n const spinner = ora(`Running plugin ${colors.cyan(name)}`).start();\n try {\n await telemetry.trackSpan(\n 'cli:plugin:start',\n 'cli:plugin:complete',\n 'cli:plugin:error',\n {\n plugin: name,\n },\n async () => {\n let result = run(context.schema, options, dmmf);\n if (result instanceof Promise) {\n result = await result;\n }\n if (Array.isArray(result)) {\n warnings.push(...result);\n }\n }\n );\n spinner.succeed();\n } catch (err) {\n spinner.fail();\n throw err;\n }\n }\n\n private getPluginModulePath(provider: string) {\n let pluginModulePath = provider;\n if (pluginModulePath.startsWith('@zenstack/')) {\n pluginModulePath = pluginModulePath.replace(/^@zenstack/, path.join(__dirname, '../plugins'));\n }\n return pluginModulePath;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"plugin-runner.js","sourceRoot":"","sources":["../../src/cli/plugin-runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAEA,iDAA4C;AAC5C,kDAA4D;AAC5D,yCAA6F;AAC7F,oDAA4B;AAC5B,4CAAoB;AACpB,8CAAsB;AACtB,gDAAwB;AACxB,6DAAqC;AAErC,2CAAuC;AAEvC;;GAEG;AACH,MAAa,YAAY;IACrB;;OAEG;IACG,GAAG,CAAC,OAAgB;;YACtB,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,IAAI,CAAC,oBAAoB,OAAO,mBAAmB,CAAC,CAAC,CAAC;YAEzE,MAAM,OAAO,GAKR,EAAE,CAAC;YAER,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,IAAA,cAAQ,EAAC,CAAC,CAAC,CAAC,CAAC;YACxF,MAAM,aAAa,GAAG,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;YAC9F,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAC3C,WAAW;iBACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBACrC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;YACF,IAAI,YAAY,GAAG,wBAAwB,CAAC;YAE5C,KAAK,MAAM,cAAc,IAAI,kBAAkB,EAAE;gBAC7C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC;gBACrF,IAAI,MAAM,EAAE;oBACR,MAAM,OAAO,GAAkB,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAElE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;wBACxB,MAAM,KAAK,GAAG,IAAA,gBAAU,EAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAA,qBAAe,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC;wBAC9D,IAAI,CAAC,KAAK,EAAE;4BACR,MAAM,IAAI,oBAAQ,CAAC,4BAA4B,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAC5D;wBACD,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAC5B,CAAC,CAAC,CAAC;oBAEH,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;oBAClE,8DAA8D;oBAC9D,IAAI,YAAiB,CAAC;oBACtB,IAAI;wBACA,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;qBAC5C;oBAAC,OAAO,GAAG,EAAE;wBACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,cAAc,KAAK,gBAAgB,KAAK,GAAG,EAAE,CAAC,CAAC;wBAC7F,MAAM,IAAI,oBAAQ,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;qBACxE;oBAED,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,OAAO,YAAY,CAAC,OAAO,KAAK,UAAU,EAAE;wBACrE,OAAO,CAAC,KAAK,CAAC,mBAAmB,cAAc,uCAAuC,CAAC,CAAC;wBACxF,MAAM,IAAI,oBAAQ,CAAC,mBAAmB,cAAc,uCAAuC,CAAC,CAAC;qBAChG;oBACD,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;wBACtD,QAAQ,EAAE,cAAc;wBACxB,GAAG,EAAE,YAAY,CAAC,OAAyB;wBAC3C,OAAO;qBACV,CAAC,CAAC;oBAEH,IAAI,cAAc,KAAK,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE;wBACzD,mCAAmC;wBACnC,YAAY,GAAG,OAAO,CAAC,MAAgB,CAAC;qBAC3C;iBACJ;qBAAM;oBACH,sBAAsB;oBACtB,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC;wBACT,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC;wBACtD,QAAQ,EAAE,cAAc;wBACxB,GAAG,EAAE,YAAY,CAAC,OAAO;wBACzB,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE;qBAC9C,CAAC,CAAC;iBACN;aACJ;YAED,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,IAAI,IAAI,GAA8B,SAAS,CAAC;YAChD,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE;gBACpD,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAClE,IAAI,QAAQ,KAAK,kBAAkB,EAAE;oBACjC,mBAAmB;oBACnB,IAAI,GAAG,MAAM,IAAA,mBAAO,EAAC;wBACjB,SAAS,EAAE,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;qBAClE,CAAC,CAAC;iBACN;aACJ;YAED,OAAO,CAAC,GAAG,CAAC,gBAAM,CAAC,KAAK,CAAC,gBAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC;YAEnF,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;KAAA;IAED,8DAA8D;IACtD,aAAa,CAAC,YAAiB,EAAE,cAAsB;QAC3D,OAAO,OAAO,YAAY,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,YAAY,CAAC,IAAe,CAAC,CAAC,CAAC,cAAc,CAAC;IAClG,CAAC;IAEO,iBAAiB,CAAC,MAAc;QACpC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACvE,OAAO,IAAA,gBAAU,EAAS,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,KAAK,CAAC,CAAC;IACpD,CAAC;IAEa,SAAS,CACnB,IAAY,EACZ,GAAmB,EACnB,OAAgB,EAChB,OAAsB,EACtB,IAA+B,EAC/B,QAAkB;;YAElB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,kBAAkB,gBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;YACnE,IAAI;gBACA,MAAM,mBAAS,CAAC,SAAS,CACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB;oBACI,MAAM,EAAE,IAAI;iBACf,EACD,GAAS,EAAE;oBACP,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBAChD,IAAI,MAAM,YAAY,OAAO,EAAE;wBAC3B,MAAM,GAAG,MAAM,MAAM,CAAC;qBACzB;oBACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;wBACvB,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;qBAC5B;gBACL,CAAC,CAAA,CACJ,CAAC;gBACF,OAAO,CAAC,OAAO,EAAE,CAAC;aACrB;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,CAAC;aACb;QACL,CAAC;KAAA;IAEO,mBAAmB,CAAC,QAAgB;QACxC,IAAI,gBAAgB,GAAG,QAAQ,CAAC;QAChC,IAAI,gBAAgB,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;YAC3C,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,CAAC,YAAY,EAAE,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;SACjG;QACD,OAAO,gBAAgB,CAAC;IAC5B,CAAC;CACJ;AA/ID,oCA+IC"}
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SUPPORTED_PROVIDERS = exports.STD_LIB_MODULE_NAME = exports.SCALAR_TYPES = void 0;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.STD_LIB_MODULE_NAME = exports.SCALAR_TYPES = exports.SUPPORTED_PROVIDERS = void 0;
7
4
  /**
8
5
  * Supported Prisma db providers
9
6
  */
10
- const SUPPORTED_PROVIDERS = ['sqlite', 'postgresql', 'mysql', 'sqlserver', 'cockroachdb'];
11
-
7
+ exports.SUPPORTED_PROVIDERS = ['sqlite', 'postgresql', 'mysql', 'sqlserver', 'cockroachdb'];
12
8
  /**
13
9
  * All scalar types
14
10
  */
15
- exports.SUPPORTED_PROVIDERS = SUPPORTED_PROVIDERS;
16
- const SCALAR_TYPES = ['String', 'Int', 'Float', 'Decimal', 'BigInt', 'Boolean', 'Bytes', 'DateTime'];
17
-
11
+ exports.SCALAR_TYPES = ['String', 'Int', 'Float', 'Decimal', 'BigInt', 'Boolean', 'Bytes', 'DateTime'];
18
12
  /**
19
13
  * Name of standard library module
20
14
  */
21
- exports.SCALAR_TYPES = SCALAR_TYPES;
22
- const STD_LIB_MODULE_NAME = 'stdlib.zmodel';
23
- exports.STD_LIB_MODULE_NAME = STD_LIB_MODULE_NAME;
15
+ exports.STD_LIB_MODULE_NAME = 'stdlib.zmodel';
24
16
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":["SUPPORTED_PROVIDERS","SCALAR_TYPES","STD_LIB_MODULE_NAME"],"sources":["../../src/language-server/constants.ts"],"sourcesContent":["/**\n * Supported Prisma db providers\n */\nexport const SUPPORTED_PROVIDERS = ['sqlite', 'postgresql', 'mysql', 'sqlserver', 'cockroachdb'];\n\n/**\n * All scalar types\n */\nexport const SCALAR_TYPES = ['String', 'Int', 'Float', 'Decimal', 'BigInt', 'Boolean', 'Bytes', 'DateTime'];\n\n/**\n * Name of standard library module\n */\nexport const STD_LIB_MODULE_NAME = 'stdlib.zmodel';\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,mBAAmB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC;;AAEhG;AACA;AACA;AAFA;AAGO,MAAMC,YAAY,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;;AAE3G;AACA;AACA;AAFA;AAGO,MAAMC,mBAAmB,GAAG,eAAe;AAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/language-server/constants.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACU,QAAA,mBAAmB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;AAEjG;;GAEG;AACU,QAAA,YAAY,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAE5G;;GAEG;AACU,QAAA,mBAAmB,GAAG,eAAe,CAAC"}
@@ -1,20 +1,13 @@
1
1
  "use strict";
2
-
3
- var _langium = require("langium");
4
- var _node = require("langium/node");
5
- var _node2 = require("vscode-languageserver/node");
6
- var _zmodelModule = require("./zmodel-module");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const langium_1 = require("langium");
4
+ const node_1 = require("langium/node");
5
+ const node_2 = require("vscode-languageserver/node");
6
+ const zmodel_module_1 = require("./zmodel-module");
7
7
  // Create a connection to the client
8
- const connection = (0, _node2.createConnection)(_node2.ProposedFeatures.all);
9
-
8
+ const connection = (0, node_2.createConnection)(node_2.ProposedFeatures.all);
10
9
  // Inject the shared services and language-specific services
11
- const {
12
- shared
13
- } = (0, _zmodelModule.createZModelServices)({
14
- connection,
15
- ..._node.NodeFileSystem
16
- });
17
-
10
+ const { shared } = (0, zmodel_module_1.createZModelServices)(Object.assign({ connection }, node_1.NodeFileSystem));
18
11
  // Start the language server with the shared services
19
- (0, _langium.startLanguageServer)(shared);
12
+ (0, langium_1.startLanguageServer)(shared);
20
13
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","names":["connection","createConnection","ProposedFeatures","all","shared","createZModelServices","NodeFileSystem","startLanguageServer"],"sources":["../../src/language-server/main.ts"],"sourcesContent":["import { startLanguageServer } from 'langium';\nimport { NodeFileSystem } from 'langium/node';\nimport { createConnection, ProposedFeatures } from 'vscode-languageserver/node';\nimport { createZModelServices } from './zmodel-module';\n\n// Create a connection to the client\nconst connection = createConnection(ProposedFeatures.all);\n\n// Inject the shared services and language-specific services\nconst { shared } = createZModelServices({ connection, ...NodeFileSystem });\n\n// Start the language server with the shared services\nstartLanguageServer(shared);\n"],"mappings":";;AAAA;AACA;AACA;AACA;AAEA;AACA,MAAMA,UAAU,GAAG,IAAAC,uBAAgB,EAACC,uBAAgB,CAACC,GAAG,CAAC;;AAEzD;AACA,MAAM;EAAEC;AAAO,CAAC,GAAG,IAAAC,kCAAoB,EAAC;EAAEL,UAAU;EAAE,GAAGM;AAAe,CAAC,CAAC;;AAE1E;AACA,IAAAC,4BAAmB,EAACH,MAAM,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/language-server/main.ts"],"names":[],"mappings":";;AAAA,qCAA8C;AAC9C,uCAA8C;AAC9C,qDAAgF;AAChF,mDAAuD;AAEvD,oCAAoC;AACpC,MAAM,UAAU,GAAG,IAAA,uBAAgB,EAAC,uBAAgB,CAAC,GAAG,CAAC,CAAC;AAE1D,4DAA4D;AAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,oCAAoB,kBAAG,UAAU,IAAK,qBAAc,EAAG,CAAC;AAE3E,qDAAqD;AACrD,IAAA,6BAAmB,EAAC,MAAM,CAAC,CAAC"}
@@ -1 +1,3 @@
1
- "use strict";
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../src/language-server/types.ts"],"sourcesContent":["import { AstNode, ValidationAcceptor } from 'langium';\n\n/**\n * AST validator contract\n */\nexport interface AstValidator<T extends AstNode> {\n /**\n * Validates an AST node\n */\n validate(node: T, accept: ValidationAcceptor): void;\n}\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/language-server/types.ts"],"names":[],"mappings":""}
@@ -1,28 +1,25 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.getContainingModel = getContainingModel;
7
- exports.isFromStdlib = isFromStdlib;
8
- var _constants = require("./constants");
9
- var _ast = require("@zenstackhq/language/ast");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isFromStdlib = exports.getContainingModel = void 0;
4
+ const constants_1 = require("./constants");
5
+ const ast_1 = require("@zenstackhq/language/ast");
10
6
  /**
11
7
  * Gets the toplevel Model containing the given node.
12
8
  */
13
9
  function getContainingModel(node) {
14
- if (!node) {
15
- return null;
16
- }
17
- return (0, _ast.isModel)(node) ? node : getContainingModel(node.$container);
10
+ if (!node) {
11
+ return null;
12
+ }
13
+ return (0, ast_1.isModel)(node) ? node : getContainingModel(node.$container);
18
14
  }
19
-
15
+ exports.getContainingModel = getContainingModel;
20
16
  /**
21
17
  * Returns if the given node is declared in stdlib.
22
18
  */
23
19
  function isFromStdlib(node) {
24
- var _model$$document;
25
- const model = getContainingModel(node);
26
- return model && ((_model$$document = model.$document) === null || _model$$document === void 0 ? void 0 : _model$$document.uri.path.endsWith(_constants.STD_LIB_MODULE_NAME));
20
+ var _a;
21
+ const model = getContainingModel(node);
22
+ return model && ((_a = model.$document) === null || _a === void 0 ? void 0 : _a.uri.path.endsWith(constants_1.STD_LIB_MODULE_NAME));
27
23
  }
24
+ exports.isFromStdlib = isFromStdlib;
28
25
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["getContainingModel","node","isModel","$container","isFromStdlib","model","$document","uri","path","endsWith","STD_LIB_MODULE_NAME"],"sources":["../../src/language-server/utils.ts"],"sourcesContent":["import { AstNode } from 'langium';\nimport { STD_LIB_MODULE_NAME } from './constants';\nimport { isModel, Model } from '@zenstackhq/language/ast';\n\n/**\n * Gets the toplevel Model containing the given node.\n */\nexport function getContainingModel(node: AstNode | undefined): Model | null {\n if (!node) {\n return null;\n }\n return isModel(node) ? node : getContainingModel(node.$container);\n}\n\n/**\n * Returns if the given node is declared in stdlib.\n */\nexport function isFromStdlib(node: AstNode) {\n const model = getContainingModel(node);\n return model && model.$document?.uri.path.endsWith(STD_LIB_MODULE_NAME);\n}\n"],"mappings":";;;;;;;AACA;AACA;AAEA;AACA;AACA;AACO,SAASA,kBAAkB,CAACC,IAAyB,EAAgB;EACxE,IAAI,CAACA,IAAI,EAAE;IACP,OAAO,IAAI;EACf;EACA,OAAO,IAAAC,YAAO,EAACD,IAAI,CAAC,GAAGA,IAAI,GAAGD,kBAAkB,CAACC,IAAI,CAACE,UAAU,CAAC;AACrE;;AAEA;AACA;AACA;AACO,SAASC,YAAY,CAACH,IAAa,EAAE;EAAA;EACxC,MAAMI,KAAK,GAAGL,kBAAkB,CAACC,IAAI,CAAC;EACtC,OAAOI,KAAK,yBAAIA,KAAK,CAACC,SAAS,qDAAf,iBAAiBC,GAAG,CAACC,IAAI,CAACC,QAAQ,CAACC,8BAAmB,CAAC;AAC3E"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/language-server/utils.ts"],"names":[],"mappings":";;;AACA,2CAAkD;AAClD,kDAA0D;AAE1D;;GAEG;AACH,SAAgB,kBAAkB,CAAC,IAAyB;IACxD,IAAI,CAAC,IAAI,EAAE;QACP,OAAO,IAAI,CAAC;KACf;IACD,OAAO,IAAA,aAAO,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACtE,CAAC;AALD,gDAKC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAa;;IACtC,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,KAAI,MAAA,KAAK,CAAC,SAAS,0CAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAAmB,CAAC,CAAA,CAAC;AAC5E,CAAC;AAHD,oCAGC"}
@@ -1,15 +1,11 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
7
3
  /**
8
4
  * Validates attribute declarations.
9
5
  */
10
6
  class AttributeValidator {
11
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
12
- validate(attr, accept) {}
7
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
8
+ validate(attr, accept) { }
13
9
  }
14
10
  exports.default = AttributeValidator;
15
11
  //# sourceMappingURL=attribute-validator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attribute-validator.js","names":["AttributeValidator","validate","attr","accept"],"sources":["../../../src/language-server/validator/attribute-validator.ts"],"sourcesContent":["import { Attribute } from '@zenstackhq/language/ast';\nimport { AstValidator } from '../types';\nimport { ValidationAcceptor } from 'langium';\n\n/**\n * Validates attribute declarations.\n */\nexport default class AttributeValidator implements AstValidator<Attribute> {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n validate(attr: Attribute, accept: ValidationAcceptor): void {}\n}\n"],"mappings":";;;;;;AAIA;AACA;AACA;AACe,MAAMA,kBAAkB,CAAoC;EACvE;EACAC,QAAQ,CAACC,IAAe,EAAEC,MAA0B,EAAQ,CAAC;AACjE;AAAC"}
1
+ {"version":3,"file":"attribute-validator.js","sourceRoot":"","sources":["../../../src/language-server/validator/attribute-validator.ts"],"names":[],"mappings":";;AAIA;;GAEG;AACH,MAAqB,kBAAkB;IACnC,mGAAmG;IACnG,QAAQ,CAAC,IAAe,EAAE,MAA0B,IAAS,CAAC;CACjE;AAHD,qCAGC"}