@looker/sdk-codegen-scripts 0.3.1-alpha.7 → 0.3.1-alpha.849
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/CHANGELOG.md +602 -0
- package/README.md +4 -2
- package/lib/convert.d.ts +1 -9
- package/lib/convert.js +30 -119
- package/lib/convert.js.map +1 -1
- package/lib/declarationMiner.d.ts +28 -0
- package/lib/declarationMiner.js +112 -0
- package/lib/declarationMiner.js.map +1 -0
- package/lib/esm/convert.js +33 -0
- package/lib/esm/convert.js.map +1 -0
- package/lib/esm/declarationMiner.js +112 -0
- package/lib/esm/declarationMiner.js.map +1 -0
- package/lib/esm/exampleMiner.js +286 -0
- package/lib/esm/exampleMiner.js.map +1 -0
- package/lib/esm/fetchSpec.js +258 -0
- package/lib/esm/fetchSpec.js.map +1 -0
- package/lib/esm/index.js +94 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/languages.js +29 -0
- package/lib/esm/languages.js.map +1 -0
- package/lib/esm/legacy.js +19 -0
- package/lib/esm/legacy.js.map +1 -0
- package/lib/esm/legacyGenerator.js +58 -0
- package/lib/esm/legacyGenerator.js.map +1 -0
- package/lib/esm/nodeUtils.js +119 -0
- package/lib/esm/nodeUtils.js.map +1 -0
- package/lib/esm/prettify.js +34 -0
- package/lib/esm/prettify.js.map +1 -0
- package/lib/esm/reformatter.js +233 -0
- package/lib/esm/reformatter.js.map +1 -0
- package/lib/esm/sdkConfig.js +44 -0
- package/lib/esm/sdkConfig.js.map +1 -0
- package/lib/esm/sdkGen.js +112 -0
- package/lib/esm/sdkGen.js.map +1 -0
- package/lib/esm/sdkGenerator.js +168 -0
- package/lib/esm/sdkGenerator.js.map +1 -0
- package/lib/esm/specConvert.js +59 -0
- package/lib/esm/specConvert.js.map +1 -0
- package/lib/esm/testUtils/index.js +28 -0
- package/lib/esm/testUtils/index.js.map +1 -0
- package/lib/esm/testUtils/mocks.js +16 -0
- package/lib/esm/testUtils/mocks.js.map +1 -0
- package/lib/esm/testUtils/testUtils.js +66 -0
- package/lib/esm/testUtils/testUtils.js.map +1 -0
- package/lib/esm/utils.js +183 -0
- package/lib/esm/utils.js.map +1 -0
- package/lib/esm/yamlToJson.js +19 -0
- package/lib/esm/yamlToJson.js.map +1 -0
- package/lib/exampleMiner.d.ts +53 -0
- package/lib/exampleMiner.js +286 -0
- package/lib/exampleMiner.js.map +1 -0
- package/lib/fetchSpec.d.ts +12 -15
- package/lib/fetchSpec.js +229 -189
- package/lib/fetchSpec.js.map +1 -1
- package/lib/index.d.ts +1 -4
- package/lib/index.js +92 -22
- package/lib/index.js.map +1 -1
- package/lib/languages.d.ts +2 -11
- package/lib/languages.js +25 -47
- package/lib/languages.js.map +1 -1
- package/lib/legacy.d.ts +0 -1
- package/lib/legacy.js +16 -54
- package/lib/legacy.js.map +1 -1
- package/lib/legacyGenerator.d.ts +2 -0
- package/lib/legacyGenerator.js +58 -0
- package/lib/legacyGenerator.js.map +1 -0
- package/lib/nodeUtils.d.ts +7 -3
- package/lib/nodeUtils.js +106 -85
- package/lib/nodeUtils.js.map +1 -1
- package/lib/prettify.d.ts +2 -0
- package/lib/prettify.js +34 -0
- package/lib/prettify.js.map +1 -0
- package/lib/reformatter.d.ts +5 -1
- package/lib/reformatter.js +220 -185
- package/lib/reformatter.js.map +1 -1
- package/lib/sdkConfig.d.ts +1 -1
- package/lib/sdkConfig.js +38 -29
- package/lib/sdkConfig.js.map +1 -1
- package/lib/sdkGen.d.ts +1 -2
- package/lib/sdkGen.js +104 -101
- package/lib/sdkGen.js.map +1 -1
- package/lib/sdkGenerator.d.ts +21 -8
- package/lib/sdkGenerator.js +150 -126
- package/lib/sdkGenerator.js.map +1 -1
- package/lib/specConvert.d.ts +0 -1
- package/lib/specConvert.js +53 -66
- package/lib/specConvert.js.map +1 -1
- package/lib/testUtils/index.js +28 -0
- package/lib/testUtils/index.js.map +1 -0
- package/lib/testUtils/mocks.js +16 -0
- package/lib/testUtils/mocks.js.map +1 -0
- package/lib/testUtils/testUtils.js +66 -0
- package/lib/testUtils/testUtils.js.map +1 -0
- package/lib/utils.d.ts +24 -0
- package/lib/utils.js +183 -0
- package/lib/utils.js.map +1 -0
- package/lib/yamlToJson.d.ts +0 -1
- package/lib/yamlToJson.js +14 -32
- package/lib/yamlToJson.js.map +1 -1
- package/package.json +24 -23
package/lib/reformatter.js
CHANGED
|
@@ -1,198 +1,233 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
13
5
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
6
|
exports.FilesFormatter = void 0;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
7
|
+
var path = _interopRequireWildcard(require("path"));
|
|
8
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
9
|
+
var _sdkCodegenUtils = require("@looker/sdk-codegen-utils");
|
|
10
|
+
var _nodeUtils = require("./nodeUtils");
|
|
11
|
+
var _prettify = require("./prettify");
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
15
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
16
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
17
|
+
var writeFile = (fileName, content) => {
|
|
18
|
+
fs.writeFileSync(fileName, content, _nodeUtils.utf8Encoding);
|
|
31
19
|
};
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
let content = nodeUtils_1.readFileSync(stampFile);
|
|
54
|
-
const lookerPattern = /looker_version = ['"].*['"]/i;
|
|
55
|
-
const apiPattern = /api_version = ['"].*['"]/i;
|
|
56
|
-
const envPattern = /environment_prefix = ['"].*['"]/i;
|
|
57
|
-
content = content.replace(lookerPattern, `looker_version = "${gen.versions.lookerVersion}"`);
|
|
58
|
-
content = content.replace(apiPattern, `api_version = "${gen.versions.apiVersion}"`);
|
|
59
|
-
content = content.replace(envPattern, `environment_prefix = "${gen.environmentPrefix}"`);
|
|
60
|
-
writeFile(stampFile, content);
|
|
61
|
-
return sdk_codegen_utils_1.success(`updated ${stampFile} to ${gen.versions.apiVersion}.${gen.versions.lookerVersion}`);
|
|
62
|
-
}
|
|
63
|
-
return sdk_codegen_utils_1.warn('Version information was not retrieved. Skipping Python SDK version updating.');
|
|
64
|
-
}
|
|
20
|
+
var noFormatter = (language, files) => {
|
|
21
|
+
var list = files.join('\n ');
|
|
22
|
+
return (0, _sdkCodegenUtils.warn)("There is no ".concat(language, " formatter. Skipped reformatting of:\n ").concat(list));
|
|
23
|
+
};
|
|
24
|
+
var fullPath = weirdPath => path.resolve(weirdPath);
|
|
25
|
+
class BaseFormatter {
|
|
26
|
+
constructor(language) {
|
|
27
|
+
var fileSep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : " \n";
|
|
28
|
+
this.language = language;
|
|
29
|
+
this.fileSep = fileSep;
|
|
30
|
+
}
|
|
31
|
+
reformat(files) {
|
|
32
|
+
return noFormatter(this.language, files);
|
|
33
|
+
}
|
|
34
|
+
skipping() {
|
|
35
|
+
return (0, _sdkCodegenUtils.warn)("Version information was not retrieved. Skipping ".concat(this.language, " SDK version updating."));
|
|
36
|
+
}
|
|
37
|
+
reformatted(files) {
|
|
38
|
+
return (0, _sdkCodegenUtils.success)("Reformatted ".concat(this.language, " files:\n ").concat(files.join(this.fileSep)));
|
|
39
|
+
}
|
|
65
40
|
}
|
|
66
|
-
class
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
let content = nodeUtils_1.readFileSync(stampFile);
|
|
99
|
-
const lookerPattern = /lookerVersion = ['"].*['"]/i;
|
|
100
|
-
const apiPattern = /\bapiVersion = ['"].*['"]/i;
|
|
101
|
-
const envPattern = /environmentPrefix = ['"].*['"]/i;
|
|
102
|
-
content = content.replace(lookerPattern, `lookerVersion = '${gen.versions.lookerVersion}'`);
|
|
103
|
-
content = content.replace(apiPattern, `apiVersion = '${gen.versions.apiVersion}'`);
|
|
104
|
-
content = content.replace(envPattern, `environmentPrefix = '${gen.environmentPrefix}'`);
|
|
105
|
-
writeFile(stampFile, content);
|
|
106
|
-
return sdk_codegen_utils_1.success(`updated ${stampFile} to ${gen.versions.apiVersion}.${gen.versions.lookerVersion}`);
|
|
107
|
-
}
|
|
108
|
-
return sdk_codegen_utils_1.warn('Version information was not retrieved. Skipping Typescript SDK version updating.');
|
|
109
|
-
}
|
|
41
|
+
class PythonFormatter extends BaseFormatter {
|
|
42
|
+
constructor() {
|
|
43
|
+
super('Python');
|
|
44
|
+
_defineProperty(this, "instructions", 'To reformat Python files, please install pipenv: https://docs.pipenv.org/en/latest/install/#installing-pipenv');
|
|
45
|
+
}
|
|
46
|
+
reformat(files) {
|
|
47
|
+
var pipEnvExists = (0, _nodeUtils.run)('command', ['-v', 'pipenv'], this.instructions, true);
|
|
48
|
+
if (pipEnvExists.includes('pipenv')) {
|
|
49
|
+
var list = files.join(' ');
|
|
50
|
+
(0, _nodeUtils.run)('pipenv', ['run', 'black', list], 'Python reformat', true);
|
|
51
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
52
|
+
} else {
|
|
53
|
+
return (0, _sdkCodegenUtils.danger)(this.instructions);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
versionStamp(gen) {
|
|
57
|
+
if (gen.versions && gen.versions.lookerVersion) {
|
|
58
|
+
var stampFile = fullPath(gen.fileName('sdk/constants'));
|
|
59
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
60
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
61
|
+
}
|
|
62
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
63
|
+
var sdkVersionPattern = /sdk_version = ['"].*['"]/i;
|
|
64
|
+
var envPattern = /environment_prefix = ['"].*['"]/i;
|
|
65
|
+
content = content.replace(sdkVersionPattern, "sdk_version = \"".concat(gen.versions.lookerVersion, "\""));
|
|
66
|
+
content = content.replace(envPattern, "environment_prefix = \"".concat(gen.environmentPrefix, "\""));
|
|
67
|
+
writeFile(stampFile, content);
|
|
68
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
69
|
+
}
|
|
70
|
+
return this.skipping();
|
|
71
|
+
}
|
|
110
72
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
73
|
+
class TypescriptFormatter extends BaseFormatter {
|
|
74
|
+
constructor() {
|
|
75
|
+
super('TypeScript');
|
|
76
|
+
}
|
|
77
|
+
reformat(files) {
|
|
78
|
+
files.forEach(f => {
|
|
79
|
+
this.reformatFile(f);
|
|
80
|
+
});
|
|
81
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
82
|
+
}
|
|
83
|
+
reformatFile(fileName) {
|
|
84
|
+
var source = (0, _prettify.prettify)((0, _nodeUtils.readFileSync)(fileName));
|
|
85
|
+
if (source) {
|
|
86
|
+
writeFile(fileName, source);
|
|
87
|
+
}
|
|
88
|
+
return fileName;
|
|
89
|
+
}
|
|
90
|
+
versionStamp(gen) {
|
|
91
|
+
if (gen.versions && gen.versions.lookerVersion) {
|
|
92
|
+
var stampFile = fullPath(gen.fileName('../../sdk/src/constants'));
|
|
93
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
94
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
95
|
+
}
|
|
96
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
97
|
+
var sdkVersionPattern = /sdkVersion = ['"].*['"]/i;
|
|
98
|
+
var envPattern = /environmentPrefix = ['"].*['"]/i;
|
|
99
|
+
content = content.replace(sdkVersionPattern, "sdkVersion = '".concat(gen.versions.lookerVersion, "'"));
|
|
100
|
+
content = content.replace(envPattern, "environmentPrefix = '".concat(gen.environmentPrefix, "'"));
|
|
101
|
+
writeFile(stampFile, content);
|
|
102
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.lookerVersion));
|
|
103
|
+
}
|
|
104
|
+
return this.skipping();
|
|
105
|
+
}
|
|
137
106
|
}
|
|
138
|
-
class
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
107
|
+
class KotlinFormatter extends BaseFormatter {
|
|
108
|
+
constructor() {
|
|
109
|
+
super('Kotlin');
|
|
110
|
+
}
|
|
111
|
+
versionStamp(gen) {
|
|
112
|
+
if (gen.versions && gen.versions.lookerVersion) {
|
|
113
|
+
var stampFile = fullPath(gen.fileName('sdk/Constants'));
|
|
114
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
115
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
116
|
+
}
|
|
117
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
118
|
+
var lookerPattern = /\bLOOKER_VERSION = ['"].*['"]/i;
|
|
119
|
+
var apiPattern = /\bAPI_VERSION = ['"].*['"]/i;
|
|
120
|
+
var envPattern = /\bENVIRONMENT_PREFIX = ['"].*['"]/i;
|
|
121
|
+
content = content.replace(lookerPattern, "LOOKER_VERSION = \"".concat(gen.versions.lookerVersion, "\""));
|
|
122
|
+
content = content.replace(apiPattern, "API_VERSION = \"".concat(gen.versions.spec.version, "\""));
|
|
123
|
+
content = content.replace(envPattern, "ENVIRONMENT_PREFIX = \"".concat(gen.environmentPrefix, "\""));
|
|
124
|
+
writeFile(stampFile, content);
|
|
125
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
126
|
+
}
|
|
127
|
+
return this.skipping();
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
class SwiftFormatter extends BaseFormatter {
|
|
131
|
+
constructor() {
|
|
132
|
+
super('Swift');
|
|
133
|
+
}
|
|
134
|
+
versionStamp(gen) {
|
|
135
|
+
if (gen.versions && gen.versions.lookerVersion) {
|
|
136
|
+
var stampFile = fullPath(gen.fileName('rtl/constants'));
|
|
137
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
138
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
139
|
+
}
|
|
140
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
141
|
+
var lookerPattern = /lookerVersion = ['"].*['"]/i;
|
|
142
|
+
var apiPattern = /apiVersion = ['"].*['"]/i;
|
|
143
|
+
var envPattern = /environmentPrefix = ['"].*['"]/i;
|
|
144
|
+
content = content.replace(lookerPattern, "lookerVersion = \"".concat(gen.versions.lookerVersion, "\""));
|
|
145
|
+
content = content.replace(apiPattern, "apiVersion = \"".concat(gen.versions.spec.version, "\""));
|
|
146
|
+
content = content.replace(envPattern, "environmentPrefix = \"".concat(gen.environmentPrefix, "\""));
|
|
147
|
+
writeFile(stampFile, content);
|
|
148
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
149
|
+
}
|
|
150
|
+
return this.skipping();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
class CsharpFormatter extends BaseFormatter {
|
|
154
|
+
constructor() {
|
|
155
|
+
super('C#');
|
|
156
|
+
}
|
|
157
|
+
versionStamp(gen) {
|
|
158
|
+
if (gen.versions && gen.versions.lookerVersion) {
|
|
159
|
+
var stampFile = fullPath(gen.fileName('rtl/Constants'));
|
|
160
|
+
if (!(0, _nodeUtils.isFileSync)(stampFile)) {
|
|
161
|
+
(0, _sdkCodegenUtils.warn)("".concat(stampFile, " was not found. Skipping version update."));
|
|
162
|
+
}
|
|
163
|
+
var content = (0, _nodeUtils.readFileSync)(stampFile);
|
|
164
|
+
var lookerPattern = /LookerVersion = ['"].*['"]/i;
|
|
165
|
+
var apiPattern = /ApiVersion = ['"].*['"]/i;
|
|
166
|
+
var envPattern = /EnvironmentPrefix = ['"].*['"]/i;
|
|
167
|
+
content = content.replace(lookerPattern, "LookerVersion = \"".concat(gen.versions.lookerVersion, "\""));
|
|
168
|
+
content = content.replace(apiPattern, "ApiVersion = \"".concat(gen.versions.spec.version, "\""));
|
|
169
|
+
content = content.replace(envPattern, "EnvironmentPrefix = \"".concat(gen.environmentPrefix, "\""));
|
|
170
|
+
writeFile(stampFile, content);
|
|
171
|
+
return (0, _sdkCodegenUtils.success)("updated ".concat(stampFile, " to ").concat(gen.versions.spec.version, ".").concat(gen.versions.lookerVersion));
|
|
172
|
+
}
|
|
173
|
+
return this.skipping();
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
class GoFormatter extends BaseFormatter {
|
|
177
|
+
constructor() {
|
|
178
|
+
super('Go');
|
|
179
|
+
_defineProperty(this, "instructions", 'To reformat Go files, please install gofmt: https://go.dev/blog/gofmt');
|
|
180
|
+
}
|
|
181
|
+
reformat(files) {
|
|
182
|
+
var gofmtExists = (0, _nodeUtils.run)('command', ['-v', 'gofmt'], this.instructions, true);
|
|
183
|
+
if (gofmtExists.includes('gofmt')) {
|
|
184
|
+
var list = files.join(' ');
|
|
185
|
+
(0, _nodeUtils.run)('gofmt', ['-w', list], 'Go reformat', true);
|
|
186
|
+
return (0, _sdkCodegenUtils.success)(files);
|
|
187
|
+
} else {
|
|
188
|
+
return (0, _sdkCodegenUtils.danger)(this.instructions);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
versionStamp() {
|
|
192
|
+
return (0, _sdkCodegenUtils.warn)('Skipping SDK version updating - not implemented for Go.');
|
|
193
|
+
}
|
|
160
194
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
195
|
+
var fileFormatters = {
|
|
196
|
+
'.cs': new CsharpFormatter(),
|
|
197
|
+
'.kt': new KotlinFormatter(),
|
|
198
|
+
'.py': new PythonFormatter(),
|
|
199
|
+
'.swift': new SwiftFormatter(),
|
|
200
|
+
'.ts': new TypescriptFormatter(),
|
|
201
|
+
'.go': new GoFormatter()
|
|
166
202
|
};
|
|
167
203
|
class FilesFormatter {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
204
|
+
constructor() {
|
|
205
|
+
_defineProperty(this, "files", {});
|
|
206
|
+
}
|
|
207
|
+
addFile(fileName) {
|
|
208
|
+
var key = path.extname(fileName);
|
|
209
|
+
if (key in this.files) {
|
|
210
|
+
this.files[key].push(fileName);
|
|
211
|
+
} else {
|
|
212
|
+
this.files[key] = [fileName];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
clear() {
|
|
216
|
+
this.files = {};
|
|
217
|
+
}
|
|
218
|
+
reformat(files) {
|
|
219
|
+
if (files) files.forEach(f => this.addFile(f));
|
|
220
|
+
Object.entries(this.files).forEach(_ref => {
|
|
221
|
+
var [key, list] = _ref;
|
|
222
|
+
if (key in fileFormatters) {
|
|
223
|
+
fileFormatters[key].reformat(list);
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
versionStamp(gen) {
|
|
228
|
+
var formatter = fileFormatters[gen.fileExtension];
|
|
229
|
+
return formatter.versionStamp(gen);
|
|
230
|
+
}
|
|
196
231
|
}
|
|
197
232
|
exports.FilesFormatter = FilesFormatter;
|
|
198
233
|
//# sourceMappingURL=reformatter.js.map
|
package/lib/reformatter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reformatter.js","sourceRoot":"","sources":["../src/reformatter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reformatter.js","names":["path","_interopRequireWildcard","require","fs","_sdkCodegenUtils","_nodeUtils","_prettify","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_defineProperty","value","_toPropertyKey","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","writeFile","fileName","content","writeFileSync","utf8Encoding","noFormatter","language","files","list","join","warn","concat","fullPath","weirdPath","resolve","BaseFormatter","constructor","fileSep","arguments","length","reformat","skipping","reformatted","success","PythonFormatter","pipEnvExists","run","instructions","includes","danger","versionStamp","gen","versions","lookerVersion","stampFile","isFileSync","readFileSync","sdkVersionPattern","envPattern","replace","environmentPrefix","TypescriptFormatter","forEach","f","reformatFile","source","prettify","KotlinFormatter","lookerPattern","apiPattern","spec","version","SwiftFormatter","CsharpFormatter","GoFormatter","gofmtExists","fileFormatters","FilesFormatter","addFile","extname","push","clear","entries","_ref","formatter","fileExtension","exports"],"sources":["../src/reformatter.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as path from 'path'\nimport * as fs from 'fs'\nimport { danger, success, warn } from '@looker/sdk-codegen-utils'\nimport type { ICodeGen } from '@looker/sdk-codegen'\nimport { isFileSync, readFileSync, run, utf8Encoding } from './nodeUtils'\nimport { prettify } from './prettify'\n\nexport interface IReformat {\n fileSep: string\n language: string\n reformat(files: string[]): string\n versionStamp(gen: ICodeGen): string\n skipping(): string\n reformatted(files: string[]): string\n}\n\n/**\n * wrapper function for writing reformatted files with utf-8 encoding synchronously\n * @param {string} fileName name of file to write\n * @param {string} content content to write\n */\nconst writeFile = (fileName: string, content: string) => {\n fs.writeFileSync(fileName, content, utf8Encoding)\n}\n\nconst noFormatter = (language: string, files: string[]) => {\n const list = files.join('\\n ')\n return warn(\n `There is no ${language} formatter. Skipped reformatting of:\\n ${list}`\n )\n}\n\nconst fullPath = (weirdPath: string) => path.resolve(weirdPath)\n\nabstract class BaseFormatter implements IReformat {\n constructor(public language: string, public fileSep = ` \\n`) {}\n reformat(files: string[]): string {\n return noFormatter(this.language, files)\n }\n\n abstract versionStamp(gen: ICodeGen): string\n\n skipping() {\n return warn(\n `Version information was not retrieved. Skipping ${this.language} SDK version updating.`\n )\n }\n\n reformatted(files: string[]) {\n return success(\n `Reformatted ${this.language} files:\\n ${files.join(this.fileSep)}`\n )\n }\n}\n\nclass PythonFormatter extends BaseFormatter {\n constructor() {\n super('Python')\n }\n\n instructions =\n 'To reformat Python files, please install pipenv: https://docs.pipenv.org/en/latest/install/#installing-pipenv'\n\n reformat(files: string[]): string {\n const pipEnvExists = run(\n 'command',\n ['-v', 'pipenv'],\n this.instructions,\n true\n )\n if (pipEnvExists.includes('pipenv')) {\n const list = files.join(' ')\n // pipenv check completed without error\n run('pipenv', ['run', 'black', list], 'Python reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdk_version = ['\"].*['\"]/i\n const envPattern = /environment_prefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdk_version = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n envPattern,\n `environment_prefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass TypescriptFormatter extends BaseFormatter {\n constructor() {\n super('TypeScript')\n }\n\n reformat(files: string[]): string {\n files.forEach((f) => {\n this.reformatFile(f)\n })\n return success(files)\n }\n\n reformatFile(fileName: string) {\n const source = prettify(readFileSync(fileName))\n if (source) {\n writeFile(fileName, source)\n }\n return fileName\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('../../sdk/src/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const sdkVersionPattern = /sdkVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n sdkVersionPattern,\n `sdkVersion = '${gen.versions.lookerVersion}'`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = '${gen.environmentPrefix}'`\n )\n writeFile(stampFile, content)\n return success(`updated ${stampFile} to ${gen.versions.lookerVersion}`)\n }\n\n return this.skipping()\n }\n}\n\nclass KotlinFormatter extends BaseFormatter {\n // TODO Kotlin formatter\n constructor() {\n super('Kotlin')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('sdk/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /\\bLOOKER_VERSION = ['\"].*['\"]/i\n const apiPattern = /\\bAPI_VERSION = ['\"].*['\"]/i\n const envPattern = /\\bENVIRONMENT_PREFIX = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LOOKER_VERSION = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `API_VERSION = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `ENVIRONMENT_PREFIX = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass SwiftFormatter extends BaseFormatter {\n // TODO Swift formatter\n constructor() {\n super('Swift')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /lookerVersion = ['\"].*['\"]/i\n const apiPattern = /apiVersion = ['\"].*['\"]/i\n const envPattern = /environmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `lookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `apiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `environmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass CsharpFormatter extends BaseFormatter {\n // TODO C# formatter https://github.com/dotnet/format\n constructor() {\n super('C#')\n }\n\n versionStamp(gen: ICodeGen) {\n if (gen.versions && gen.versions.lookerVersion) {\n const stampFile = fullPath(gen.fileName('rtl/Constants'))\n if (!isFileSync(stampFile)) {\n warn(`${stampFile} was not found. Skipping version update.`)\n }\n let content = readFileSync(stampFile)\n const lookerPattern = /LookerVersion = ['\"].*['\"]/i\n const apiPattern = /ApiVersion = ['\"].*['\"]/i\n const envPattern = /EnvironmentPrefix = ['\"].*['\"]/i\n content = content.replace(\n lookerPattern,\n `LookerVersion = \"${gen.versions.lookerVersion}\"`\n )\n content = content.replace(\n apiPattern,\n `ApiVersion = \"${gen.versions.spec.version}\"`\n )\n content = content.replace(\n envPattern,\n `EnvironmentPrefix = \"${gen.environmentPrefix}\"`\n )\n writeFile(stampFile, content)\n return success(\n `updated ${stampFile} to ${gen.versions.spec.version}.${gen.versions.lookerVersion}`\n )\n }\n return this.skipping()\n }\n}\n\nclass GoFormatter extends BaseFormatter {\n // TODO Go formatter\n constructor() {\n super('Go')\n }\n\n instructions =\n 'To reformat Go files, please install gofmt: https://go.dev/blog/gofmt'\n\n reformat(files: string[]): string {\n const gofmtExists = run('command', ['-v', 'gofmt'], this.instructions, true)\n if (gofmtExists.includes('gofmt')) {\n const list = files.join(' ')\n // gofmt check completed without error\n run('gofmt', ['-w', list], 'Go reformat', true)\n return success(files)\n } else {\n return danger(this.instructions)\n }\n }\n\n versionStamp() {\n return warn('Skipping SDK version updating - not implemented for Go.')\n }\n}\n\ntype IFormatFiles = { [key: string]: string[] }\n\ntype IFormatters = { [key: string]: IReformat }\n\nconst fileFormatters: IFormatters = {\n '.cs': new CsharpFormatter(),\n '.kt': new KotlinFormatter(),\n '.py': new PythonFormatter(),\n '.swift': new SwiftFormatter(),\n '.ts': new TypescriptFormatter(),\n '.go': new GoFormatter(),\n}\n\nexport class FilesFormatter {\n files: IFormatFiles = {}\n\n addFile(fileName: string) {\n const key = path.extname(fileName)\n if (key in this.files) {\n this.files[key].push(fileName)\n } else {\n this.files[key] = [fileName]\n }\n }\n\n clear() {\n this.files = {}\n }\n\n reformat(files?: string[]) {\n if (files) files.forEach((f) => this.addFile(f))\n Object.entries(this.files).forEach(([key, list]) => {\n if (key in fileFormatters) {\n fileFormatters[key].reformat(list)\n }\n })\n }\n\n versionStamp(gen: ICodeGen) {\n const formatter = fileFormatters[gen.fileExtension]\n return formatter.versionStamp(gen)\n }\n}\n"],"mappings":"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"}
|
package/lib/sdkConfig.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ export interface ISDKConfigProps {
|
|
|
9
9
|
export interface ISDKConfigSection {
|
|
10
10
|
[key: string]: ISDKConfigProps;
|
|
11
11
|
}
|
|
12
|
-
export declare const SDKConfig: (fileName?: string) => ISDKConfigSection;
|
|
12
|
+
export declare const SDKConfig: (fileName?: string, envPrefix?: string, sectionName?: string) => ISDKConfigSection;
|
package/lib/sdkConfig.js
CHANGED
|
@@ -1,35 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
13
5
|
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
6
|
exports.SDKConfig = void 0;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
7
|
+
var fs = _interopRequireWildcard(require("fs"));
|
|
8
|
+
var _dotenv = _interopRequireDefault(require("dotenv"));
|
|
9
|
+
var _sdkRtl = require("@looker/sdk-rtl");
|
|
10
|
+
var _sdkNode = require("@looker/sdk-node");
|
|
11
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
14
|
+
var SDKConfig = function SDKConfig() {
|
|
15
|
+
var fileName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : './looker.ini';
|
|
16
|
+
var envPrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'LOOKERSDK';
|
|
17
|
+
var sectionName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'Looker';
|
|
18
|
+
_dotenv.default.config();
|
|
19
|
+
if (process.env.DOT_ENV_FILE) {
|
|
20
|
+
var name = process.env.DOT_ENV_FILE;
|
|
21
|
+
var vals = _dotenv.default.parse(fs.readFileSync(name, 'utf-8'));
|
|
22
|
+
Object.entries(vals).forEach(_ref => {
|
|
23
|
+
var [key, val] = _ref;
|
|
24
|
+
if (val) process.env[key] = val;
|
|
32
25
|
});
|
|
33
|
-
|
|
26
|
+
}
|
|
27
|
+
var section = (0, _sdkNode.readIniConfig)(fileName, envPrefix, sectionName);
|
|
28
|
+
var config = {
|
|
29
|
+
api_version: section.api_version,
|
|
30
|
+
api_versions: section.api_versions,
|
|
31
|
+
base_url: section.base_url,
|
|
32
|
+
client_id: section.client_id,
|
|
33
|
+
client_secret: section.client_secret,
|
|
34
|
+
verify_ssl: (0, _sdkRtl.boolDefault)(section.verify_ssl, true)
|
|
35
|
+
};
|
|
36
|
+
if (!config.base_url) {
|
|
37
|
+
throw Error('Fatal error: base_url is not configured. Exiting.');
|
|
38
|
+
}
|
|
39
|
+
return {
|
|
40
|
+
[sectionName]: config
|
|
41
|
+
};
|
|
34
42
|
};
|
|
43
|
+
exports.SDKConfig = SDKConfig;
|
|
35
44
|
//# sourceMappingURL=sdkConfig.js.map
|
package/lib/sdkConfig.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdkConfig.js","
|
|
1
|
+
{"version":3,"file":"sdkConfig.js","names":["fs","_interopRequireWildcard","require","_dotenv","_interopRequireDefault","_sdkRtl","_sdkNode","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SDKConfig","fileName","arguments","length","undefined","envPrefix","sectionName","dotenv","config","process","env","DOT_ENV_FILE","name","vals","parse","readFileSync","entries","forEach","_ref","val","section","readIniConfig","api_version","api_versions","base_url","client_id","client_secret","verify_ssl","boolDefault","Error","exports"],"sources":["../src/sdkConfig.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport * as fs from 'fs'\nimport dotenv from 'dotenv'\nimport { boolDefault } from '@looker/sdk-rtl'\nimport { readIniConfig } from '@looker/sdk-node'\n\nexport interface ISDKConfigProps {\n api_version: string\n api_versions: string\n base_url: string\n client_id: string\n client_secret: string\n verify_ssl: boolean\n}\n\nexport interface ISDKConfigSection {\n [key: string]: ISDKConfigProps\n}\n\nexport const SDKConfig = (\n fileName = './looker.ini',\n envPrefix = 'LOOKERSDK',\n sectionName = 'Looker'\n): ISDKConfigSection => {\n dotenv.config()\n if (process.env.DOT_ENV_FILE) {\n // Load custom env file\n const name = process.env.DOT_ENV_FILE\n const vals = dotenv.parse(fs.readFileSync(name, 'utf-8'))\n Object.entries(vals).forEach(([key, val]) => {\n if (val) process.env[key] = val\n })\n }\n\n const section = readIniConfig(fileName, envPrefix, sectionName)\n const config: ISDKConfigProps = {\n api_version: section.api_version,\n api_versions: section.api_versions,\n base_url: section.base_url,\n client_id: section.client_id,\n client_secret: section.client_secret,\n verify_ssl: boolDefault(section.verify_ssl, true),\n }\n\n if (!config.base_url) {\n throw Error('Fatal error: base_url is not configured. Exiting.')\n }\n return { [sectionName]: config }\n}\n"],"mappings":"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"}
|
package/lib/sdkGen.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export {};
|
|
1
|
+
export declare const writeCodeFile: (fileName: string, content: string) => string;
|