@cubejs-backend/schema-compiler 1.3.7 → 1.3.9

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 (27) hide show
  1. package/dist/src/adapter/BaseTimeDimension.d.ts.map +1 -1
  2. package/dist/src/adapter/BaseTimeDimension.js +4 -5
  3. package/dist/src/adapter/BaseTimeDimension.js.map +1 -1
  4. package/dist/src/adapter/Granularity.js +1 -1
  5. package/dist/src/adapter/Granularity.js.map +1 -1
  6. package/dist/src/compiler/CubeEvaluator.d.ts.map +1 -1
  7. package/dist/src/compiler/CubeEvaluator.js +3 -3
  8. package/dist/src/compiler/CubeEvaluator.js.map +1 -1
  9. package/dist/src/compiler/CubeSymbols.d.ts +13 -13
  10. package/dist/src/compiler/CubeSymbols.d.ts.map +1 -1
  11. package/dist/src/compiler/CubeSymbols.js +60 -27
  12. package/dist/src/compiler/CubeSymbols.js.map +1 -1
  13. package/dist/src/compiler/CubeValidator.js +15 -15
  14. package/dist/src/compiler/CubeValidator.js.map +1 -1
  15. package/dist/src/compiler/YamlCompiler.d.ts +2 -1
  16. package/dist/src/compiler/YamlCompiler.d.ts.map +1 -1
  17. package/dist/src/compiler/YamlCompiler.js +5 -2
  18. package/dist/src/compiler/YamlCompiler.js.map +1 -1
  19. package/dist/src/compiler/converters/CubePreAggregationConverter.d.ts +3 -1
  20. package/dist/src/compiler/converters/CubePreAggregationConverter.d.ts.map +1 -1
  21. package/dist/src/compiler/converters/CubePreAggregationConverter.js +45 -2
  22. package/dist/src/compiler/converters/CubePreAggregationConverter.js.map +1 -1
  23. package/dist/src/compiler/converters/CubeSchemaConverter.d.ts +19 -5
  24. package/dist/src/compiler/converters/CubeSchemaConverter.d.ts.map +1 -1
  25. package/dist/src/compiler/converters/CubeSchemaConverter.js +97 -35
  26. package/dist/src/compiler/converters/CubeSchemaConverter.js.map +1 -1
  27. package/package.json +10 -37
@@ -1 +1 @@
1
- {"version":3,"file":"CubeSchemaConverter.d.ts","sourceRoot":"","sources":["../../../../src/compiler/converters/CubeSchemaConverter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAElC,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;IACZ,cAAc,EAAE,CAAC,CAAC,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7C;AAED,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,mBAAmB;IAKX,SAAS,CAAC,cAAc,EAAE,GAAG;IAAE,SAAS,CAAC,UAAU,EAAE,sBAAsB,EAAE;IAJhG,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,CAAM;IAE7C,SAAS,CAAC,WAAW,EAAE,aAAa,CAAM;gBAEb,cAAc,EAAE,GAAG,EAAY,UAAU,EAAE,sBAAsB,EAAE;cAEhF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAwCxC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU;IAmBnB,QAAQ;IAQd,cAAc;;;;;CAOtB"}
1
+ {"version":3,"file":"CubeSchemaConverter.d.ts","sourceRoot":"","sources":["../../../../src/compiler/converters/CubeSchemaConverter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,cAAc,CAAC;AAClC,OAAO,IAAsB,MAAM,MAAM,CAAC;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC;IACZ,cAAc,EAAE,CAAC,CAAC,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC;IACpB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC;CAC9B,CAAC;AAIF,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AAE9D,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7C;AAED,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,mBAAmB;IAKX,SAAS,CAAC,cAAc,EAAE,GAAG;IAAE,SAAS,CAAC,UAAU,EAAE,sBAAsB,EAAE;IAJhG,SAAS,CAAC,eAAe,EAAE,UAAU,EAAE,CAAM;IAE7C,SAAS,CAAC,WAAW,EAAE,aAAa,CAAM;gBAEb,cAAc,EAAE,GAAG,EAAY,UAAU,EAAE,sBAAsB,EAAE;IAEhG;;;;;OAKG;cACa,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAczD,SAAS,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM;IAiDvE,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,MAAM;IAoCrE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU;IAmBrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM;IAQhC,cAAc;;;;;CAatB"}
@@ -31,6 +31,8 @@ const generator_1 = __importDefault(require("@babel/generator"));
31
31
  const parser_1 = require("@babel/parser");
32
32
  const traverse_1 = __importDefault(require("@babel/traverse"));
33
33
  const t = __importStar(require("@babel/types"));
34
+ const yaml_1 = __importStar(require("yaml"));
35
+ const JINJA_SYNTAX = /{%|%}|{{|}}/ig;
34
36
  class CubeSchemaConverter {
35
37
  fileRepository;
36
38
  converters;
@@ -40,41 +42,96 @@ class CubeSchemaConverter {
40
42
  this.fileRepository = fileRepository;
41
43
  this.converters = converters;
42
44
  }
43
- async prepare() {
45
+ /**
46
+ * Parse Schema files from the repository and create a mapping of cube names to schema files.
47
+ * If optional `cubeName` parameter is passed - only file with asked cube is parsed and stored.
48
+ * @param cubeName
49
+ * @protected
50
+ */
51
+ async prepare(cubeName) {
44
52
  this.dataSchemaFiles = await this.fileRepository.dataSchemaFiles();
45
53
  this.dataSchemaFiles.forEach((schemaFile) => {
46
- const ast = this.parse(schemaFile);
47
- (0, traverse_1.default)(ast, {
48
- CallExpression: (path) => {
49
- if (t.isIdentifier(path.node.callee)) {
50
- const args = path.get('arguments');
51
- if (path.node.callee.name === 'cube') {
52
- if (args?.[args.length - 1]) {
53
- let cubeName;
54
- if (args[0].node.type === 'StringLiteral' && args[0].node.value) {
55
- cubeName = args[0].node.value;
56
- }
57
- else if (args[0].node.type === 'TemplateLiteral' && args[0].node.quasis?.[0]?.value.cooked) {
58
- cubeName = args[0].node.quasis?.[0]?.value.cooked;
59
- }
60
- if (cubeName == null) {
61
- throw new Error(`Error parsing ${schemaFile.fileName}`);
62
- }
63
- if (t.isObjectExpression(args[1]?.node) && ast != null) {
64
- this.parsedFiles[cubeName] = {
65
- fileName: schemaFile.fileName,
66
- ast,
67
- cubeDefinition: args[1].node,
68
- };
69
- }
54
+ if (schemaFile.fileName.endsWith('.js')) {
55
+ this.transformJS(schemaFile, cubeName);
56
+ }
57
+ else if ((schemaFile.fileName.endsWith('.yml') || schemaFile.fileName.endsWith('.yaml')) && !schemaFile.content.match(JINJA_SYNTAX)) {
58
+ // Jinja-templated data models are not supported in Rollup Designer yet, so we're ignoring them,
59
+ // and if user has chosen the cube from such file - it won't be found during generation.
60
+ this.transformYaml(schemaFile, cubeName);
61
+ }
62
+ });
63
+ }
64
+ transformYaml(schemaFile, filterCubeName) {
65
+ if (!schemaFile.content.trim()) {
66
+ return;
67
+ }
68
+ const yamlDoc = yaml_1.default.parseDocument(schemaFile.content);
69
+ if (!yamlDoc?.contents) {
70
+ return;
71
+ }
72
+ const root = yamlDoc.contents;
73
+ if (!(0, yaml_1.isMap)(root)) {
74
+ return;
75
+ }
76
+ const cubesPair = root.items.find((item) => {
77
+ const key = item.key;
78
+ return key?.value === 'cubes';
79
+ });
80
+ if (!cubesPair || !(0, yaml_1.isSeq)(cubesPair.value)) {
81
+ return;
82
+ }
83
+ for (const cubeNode of cubesPair.value.items) {
84
+ if ((0, yaml_1.isMap)(cubeNode)) {
85
+ const cubeNamePair = cubeNode.items.find((item) => {
86
+ const key = item.key;
87
+ return key?.value === 'name';
88
+ });
89
+ const cubeName = (cubeNamePair?.value).value;
90
+ if (cubeName && typeof cubeName === 'string' && (!filterCubeName || cubeName === filterCubeName)) {
91
+ this.parsedFiles[cubeName] = {
92
+ fileName: schemaFile.fileName,
93
+ yaml: yamlDoc,
94
+ cubeDefinition: cubeNode,
95
+ };
96
+ if (cubeName === filterCubeName) {
97
+ return;
98
+ }
99
+ }
100
+ }
101
+ }
102
+ }
103
+ transformJS(schemaFile, filterCubeName) {
104
+ const ast = this.parseJS(schemaFile);
105
+ (0, traverse_1.default)(ast, {
106
+ CallExpression: (path) => {
107
+ if (t.isIdentifier(path.node.callee)) {
108
+ const args = path.get('arguments');
109
+ if (path.node.callee.name === 'cube') {
110
+ if (args?.[args.length - 1]) {
111
+ let cubeName;
112
+ if (args[0].node.type === 'StringLiteral' && args[0].node.value) {
113
+ cubeName = args[0].node.value;
114
+ }
115
+ else if (args[0].node.type === 'TemplateLiteral' && args[0].node.quasis?.[0]?.value.cooked) {
116
+ cubeName = args[0].node.quasis?.[0]?.value.cooked;
117
+ }
118
+ if (cubeName == null) {
119
+ throw new Error(`Error parsing ${schemaFile.fileName}`);
120
+ }
121
+ if (t.isObjectExpression(args[1]?.node) && ast != null && (!filterCubeName || cubeName === filterCubeName)) {
122
+ this.parsedFiles[cubeName] = {
123
+ fileName: schemaFile.fileName,
124
+ ast,
125
+ cubeDefinition: args[1].node,
126
+ };
70
127
  }
71
128
  }
72
129
  }
73
- },
74
- });
130
+ }
131
+ },
75
132
  });
76
133
  }
77
- parse(file) {
134
+ parseJS(file) {
78
135
  try {
79
136
  return (0, parser_1.parse)(file.content, {
80
137
  sourceFilename: file.fileName,
@@ -91,18 +148,23 @@ class CubeSchemaConverter {
91
148
  throw error;
92
149
  }
93
150
  }
94
- async generate() {
95
- await this.prepare();
151
+ async generate(cubeName) {
152
+ await this.prepare(cubeName);
96
153
  this.converters.forEach((converter) => {
97
154
  converter.convert(this.parsedFiles);
98
155
  });
99
156
  }
100
157
  getSourceFiles() {
101
- return Object.entries(this.parsedFiles).map(([cubeName, file]) => ({
102
- cubeName,
103
- fileName: file.fileName,
104
- source: (0, generator_1.default)(file.ast, {}).code,
105
- }));
158
+ return Object.entries(this.parsedFiles).map(([cubeName, file]) => {
159
+ const source = 'ast' in file
160
+ ? (0, generator_1.default)(file.ast, {}).code
161
+ : String(file.yaml);
162
+ return {
163
+ cubeName,
164
+ fileName: file.fileName,
165
+ source,
166
+ };
167
+ });
106
168
  }
107
169
  }
108
170
  exports.CubeSchemaConverter = CubeSchemaConverter;
@@ -1 +1 @@
1
- {"version":3,"file":"CubeSchemaConverter.js","sourceRoot":"","sources":["../../../../src/compiler/converters/CubeSchemaConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CubeSchemaConverter.js","sourceRoot":"","sources":["../../../../src/compiler/converters/CubeSchemaConverter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/schema-compiler",
3
3
  "description": "Cube schema compiler",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "1.3.7",
5
+ "version": "1.3.9",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -40,8 +40,8 @@
40
40
  "@babel/standalone": "^7.24",
41
41
  "@babel/traverse": "^7.24",
42
42
  "@babel/types": "^7.24",
43
- "@cubejs-backend/native": "1.3.7",
44
- "@cubejs-backend/shared": "1.3.7",
43
+ "@cubejs-backend/native": "1.3.9",
44
+ "@cubejs-backend/shared": "1.3.9",
45
45
  "antlr4ts": "0.5.0-alpha.4",
46
46
  "camelcase": "^6.2.0",
47
47
  "cron-parser": "^4.9.0",
@@ -55,24 +55,25 @@
55
55
  "ramda": "^0.27.2",
56
56
  "syntax-error": "^1.3.0",
57
57
  "uuid": "^8.3.2",
58
- "workerpool": "^9.2.0"
58
+ "workerpool": "^9.2.0",
59
+ "yaml": "^2.7.1"
59
60
  },
60
61
  "devDependencies": {
61
62
  "@clickhouse/client": "^1.7.0",
62
- "@cubejs-backend/linter": "1.3.7",
63
- "@cubejs-backend/query-orchestrator": "1.3.7",
63
+ "@cubejs-backend/linter": "1.3.9",
64
+ "@cubejs-backend/query-orchestrator": "1.3.9",
64
65
  "@types/babel__code-frame": "^7.0.6",
65
66
  "@types/babel__generator": "^7.6.8",
66
67
  "@types/babel__traverse": "^7.20.5",
67
68
  "@types/inflection": "^1.5.28",
68
- "@types/jest": "^27",
69
+ "@types/jest": "^29",
69
70
  "@types/node": "^20",
70
71
  "@types/ramda": "^0.27.34",
71
72
  "@types/sqlstring": "^2.3.0",
72
73
  "@types/syntax-error": "^1.4.1",
73
74
  "@types/uuid": "^8.3.0",
74
75
  "antlr4ts-cli": "^0.5.0-alpha.4",
75
- "jest": "^27",
76
+ "jest": "^29",
76
77
  "mssql": "^10.0.2",
77
78
  "mysql": "^2.18.1",
78
79
  "node-fetch": "2",
@@ -87,33 +88,5 @@
87
88
  "eslintConfig": {
88
89
  "extends": "../cubejs-linter"
89
90
  },
90
- "jest": {
91
- "testEnvironment": "node",
92
- "collectCoverage": true,
93
- "coverageReporters": [
94
- "text",
95
- "html",
96
- "lcov"
97
- ],
98
- "coverageDirectory": "coverage/",
99
- "collectCoverageFrom": [
100
- "dist/src/**/*.js",
101
- "dist/src/**/*.ts",
102
- "!dist/src/parser/GenericSql*.js",
103
- "!dist/src/parser/Python3*.js"
104
- ],
105
- "coveragePathIgnorePatterns": [
106
- ".*\\.d\\.ts"
107
- ],
108
- "globalSetup": "<rootDir>/dist/test/global-setup.js",
109
- "snapshotResolver": "<rootDir>/test/snapshotResolver.js",
110
- "transformIgnorePatterns": [
111
- "/node_modules/(?!node-fetch).+\\.js$",
112
- "node_modules/(?!axios)/"
113
- ],
114
- "moduleNameMapper": {
115
- "^axios$": "axios/dist/node/axios.cjs"
116
- }
117
- },
118
- "gitHead": "1d1518253701f13691856f5de7759608a8e060c1"
91
+ "gitHead": "39ff5e955562a0a143486dd0ea5c1cc12f016e98"
119
92
  }