@cubejs-backend/shared 0.31.66 → 0.32.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.
@@ -0,0 +1,20 @@
1
+ export interface FileContent {
2
+ fileName: string;
3
+ content: string;
4
+ readOnly?: boolean;
5
+ }
6
+ export interface SchemaFileRepository {
7
+ localPath: () => string;
8
+ dataSchemaFiles: (includeDependencies?: boolean) => Promise<FileContent[]>;
9
+ }
10
+ export declare class FileRepository implements SchemaFileRepository {
11
+ protected readonly repositoryPath: string;
12
+ constructor(repositoryPath: string);
13
+ localPath(): string;
14
+ protected getFiles(dir: string, fileList?: string[]): Promise<string[]>;
15
+ dataSchemaFiles(includeDependencies?: boolean): Promise<FileContent[]>;
16
+ writeDataSchemaFile(fileName: string, source: string): void;
17
+ protected readModules(): Promise<FileContent[]>;
18
+ protected readModuleFiles(modulePath: string): Promise<FileContent[]>;
19
+ }
20
+ //# sourceMappingURL=FileRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileRepository.d.ts","sourceRoot":"","sources":["../../src/FileRepository.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,MAAM,CAAC;IACxB,eAAe,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5E;AAED,qBAAa,cAAe,YAAW,oBAAoB;IAEvD,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;IAIpC,SAAS,IAAI,MAAM;cAIV,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAM,EAAO;IAchD,eAAe,CAAC,mBAAmB,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAuBnF,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;cAM3C,WAAW;cAgBX,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;CA0B5E"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.FileRepository = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_extra_1 = __importDefault(require("fs-extra"));
9
+ class FileRepository {
10
+ constructor(repositoryPath) {
11
+ this.repositoryPath = repositoryPath;
12
+ }
13
+ localPath() {
14
+ return path_1.default.join(process.cwd(), this.repositoryPath);
15
+ }
16
+ async getFiles(dir, fileList = []) {
17
+ const files = await fs_extra_1.default.readdir(path_1.default.join(this.localPath(), dir));
18
+ // eslint-disable-next-line no-restricted-syntax
19
+ for (const file of files) {
20
+ const stat = await fs_extra_1.default.stat(path_1.default.join(this.localPath(), dir, file));
21
+ if (stat.isDirectory()) {
22
+ fileList = await this.getFiles(path_1.default.join(dir, file), fileList);
23
+ }
24
+ else
25
+ fileList.push(path_1.default.join(dir, file));
26
+ }
27
+ return fileList;
28
+ }
29
+ async dataSchemaFiles(includeDependencies = false) {
30
+ const files = await this.getFiles('');
31
+ let result = await Promise.all(files
32
+ .filter(file => file.endsWith('.js') || file.endsWith('.yml') || file.endsWith('.yaml'))
33
+ .map(async (file) => {
34
+ const content = await fs_extra_1.default.readFile(path_1.default.join(this.localPath(), file), 'utf-8');
35
+ return {
36
+ fileName: file,
37
+ content
38
+ };
39
+ }));
40
+ if (includeDependencies) {
41
+ result = result.concat(await this.readModules());
42
+ }
43
+ return result;
44
+ }
45
+ writeDataSchemaFile(fileName, source) {
46
+ fs_extra_1.default.writeFileSync(path_1.default.join(this.localPath(), fileName), source, {
47
+ encoding: 'utf-8'
48
+ });
49
+ }
50
+ async readModules() {
51
+ const packageJson = JSON.parse(await fs_extra_1.default.readFile('package.json', 'utf-8'));
52
+ const files = await Promise.all(Object.keys(packageJson.dependencies).map(async (module) => {
53
+ if (module.endsWith('-schema')) {
54
+ return this.readModuleFiles(path_1.default.join('node_modules', module));
55
+ }
56
+ return [];
57
+ }));
58
+ return files.reduce((a, b) => a.concat(b));
59
+ }
60
+ async readModuleFiles(modulePath) {
61
+ const files = await fs_extra_1.default.readdir(modulePath);
62
+ const result = await Promise.all(files.map(async (file) => {
63
+ const fileName = path_1.default.join(modulePath, file);
64
+ const stats = await fs_extra_1.default.lstat(fileName);
65
+ if (stats.isDirectory()) {
66
+ return this.readModuleFiles(fileName);
67
+ }
68
+ else if (file.endsWith('.js')) {
69
+ const content = await fs_extra_1.default.readFile(fileName, 'utf-8');
70
+ return [
71
+ {
72
+ fileName,
73
+ content,
74
+ readOnly: true
75
+ }
76
+ ];
77
+ }
78
+ else {
79
+ return [];
80
+ }
81
+ }));
82
+ return result.reduce((a, b) => a.concat(b), []);
83
+ }
84
+ }
85
+ exports.FileRepository = FileRepository;
86
+ //# sourceMappingURL=FileRepository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileRepository.js","sourceRoot":"","sources":["../../src/FileRepository.ts"],"names":[],"mappings":"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"}
@@ -13,4 +13,5 @@ export * from './cli';
13
13
  export * from './proxy';
14
14
  export * from './time';
15
15
  export * from './process';
16
+ export * from './FileRepository';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,eAAe,EACf,aAAa,GACd,MAAM,OAAO,CAAC;AACf,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -34,4 +34,5 @@ __exportStar(require("./cli"), exports);
34
34
  __exportStar(require("./proxy"), exports);
35
35
  __exportStar(require("./time"), exports);
36
36
  __exportStar(require("./process"), exports);
37
+ __exportStar(require("./FileRepository"), exports);
37
38
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAKe;AAJb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AAEf,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAKe;AAJb,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,sGAAA,eAAe,OAAA;AACf,oGAAA,aAAa,OAAA;AAEf,0CAAwB;AACxB,4CAA0B;AAC1B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,+CAA6B;AAC7B,iDAA+B;AAC/B,+CAA6B;AAC7B,wCAAsB;AACtB,0CAAwB;AACxB,yCAAuB;AACvB,4CAA0B;AAC1B,mDAAiC"}
@@ -9,14 +9,14 @@ const currentNodeVersion = process_1.default.versions.node;
9
9
  const semver = currentNodeVersion.split('.');
10
10
  const major = parseInt(semver[0], 10);
11
11
  const _minor = parseInt(semver[1], 10);
12
- if (major < 12 || major === 15) {
12
+ if (major < 14 || major === 15) {
13
13
  console.error(color_1.default.red(`You are running Node.js ${currentNodeVersion}.\n` +
14
- 'Cube.js CLI requires Node.js 12 or higher (except 15). \n' +
14
+ 'Cube.js CLI requires Node.js 16 or higher \n' +
15
15
  'Please update your Node.js version.'));
16
16
  process_1.default.exit(1);
17
17
  }
18
- if (major === 12) {
18
+ if (major === 14) {
19
19
  process_1.default.emitWarning(color_1.default.red(`You are running Node.js ${currentNodeVersion}.\n` +
20
- 'Support for Node.js 12 will be removed soon. Please upgrade to Node.js 14 or higher.'));
20
+ 'Support for Node.js 14 will be removed soon. Please upgrade to Node.js 16 or higher.'));
21
21
  }
22
22
  //# sourceMappingURL=node-check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-check.js","sourceRoot":"","sources":["../../src/node-check.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,yDAAiC;AAEjC,MAAM,kBAAkB,GAAG,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,MAAM,KAAK,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhD,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,2BAA2B,kBAAkB,KAAK;QAClD,2DAA2D;QAC3D,qCAAqC,CACtC,CACF,CAAC;IACF,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,IAAI,KAAK,KAAK,EAAE,EAAE;IAChB,iBAAO,CAAC,WAAW,CACjB,eAAK,CAAC,GAAG,CACP,2BAA2B,kBAAkB,KAAK;QAClD,sFAAsF,CACvF,CACF,CAAC;CACH"}
1
+ {"version":3,"file":"node-check.js","sourceRoot":"","sources":["../../src/node-check.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,yDAAiC;AAEjC,MAAM,kBAAkB,GAAG,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjD,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC7C,MAAM,KAAK,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAEhD,IAAI,KAAK,GAAG,EAAE,IAAI,KAAK,KAAK,EAAE,EAAE;IAC9B,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CACP,2BAA2B,kBAAkB,KAAK;QAClD,8CAA8C;QAC9C,qCAAqC,CACtC,CACF,CAAC;IACF,iBAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CACjB;AAED,IAAI,KAAK,KAAK,EAAE,EAAE;IAChB,iBAAO,CAAC,WAAW,CACjB,eAAK,CAAC,GAAG,CACP,2BAA2B,kBAAkB,KAAK;QAClD,sFAAsF,CACvF,CACF,CAAC;CACH"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cubejs-backend/shared",
3
- "version": "0.31.66",
3
+ "version": "0.32.0",
4
4
  "description": "Shared code for Cube.js backend packages",
5
5
  "main": "dist/src/index.js",
6
6
  "typings": "dist/src/index.d.ts",
@@ -17,12 +17,12 @@
17
17
  "dist/src/*"
18
18
  ],
19
19
  "engines": {
20
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
20
+ "node": "^14.0.0 || ^16.0.0 || >=17.0.0"
21
21
  },
22
22
  "author": "Cube Dev, Inc.",
23
23
  "license": "Apache-2.0",
24
24
  "devDependencies": {
25
- "@cubejs-backend/linter": "^0.31.0",
25
+ "@cubejs-backend/linter": "^0.32.0",
26
26
  "@types/bytes": "^3.1.0",
27
27
  "@types/cli-progress": "^3.9.1",
28
28
  "@types/decompress": "^4.2.3",
@@ -71,5 +71,5 @@
71
71
  ".*\\.d\\.ts"
72
72
  ]
73
73
  },
74
- "gitHead": "d0f9187b134c5c5ba3a280a1efbe7bad178a3c20"
74
+ "gitHead": "42f54aed393b75c93704f6205c123bf325639923"
75
75
  }