@odata2ts/odata2ts 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +601 -0
- package/LICENSE +21 -0
- package/README.md +129 -0
- package/lib/FactoryFunctionModel.d.ts +13 -0
- package/lib/FactoryFunctionModel.js +3 -0
- package/lib/FactoryFunctionModel.js.map +1 -0
- package/lib/NamingModel.d.ts +191 -0
- package/lib/NamingModel.js +12 -0
- package/lib/NamingModel.js.map +1 -0
- package/lib/OptionModel.d.ts +208 -0
- package/lib/OptionModel.js +24 -0
- package/lib/OptionModel.js.map +1 -0
- package/lib/app.d.ts +8 -0
- package/lib/app.js +61 -0
- package/lib/app.js.map +1 -0
- package/lib/cli.d.ts +3 -0
- package/lib/cli.js +154 -0
- package/lib/cli.js.map +1 -0
- package/lib/data-model/DataModel.d.ts +68 -0
- package/lib/data-model/DataModel.js +114 -0
- package/lib/data-model/DataModel.js.map +1 -0
- package/lib/data-model/DataModelDigestion.d.ts +43 -0
- package/lib/data-model/DataModelDigestion.js +224 -0
- package/lib/data-model/DataModelDigestion.js.map +1 -0
- package/lib/data-model/DataModelDigestionV2.d.ts +10 -0
- package/lib/data-model/DataModelDigestionV2.js +201 -0
- package/lib/data-model/DataModelDigestionV2.js.map +1 -0
- package/lib/data-model/DataModelDigestionV4.d.ts +3 -0
- package/lib/data-model/DataModelDigestionV4.js +196 -0
- package/lib/data-model/DataModelDigestionV4.js.map +1 -0
- package/lib/data-model/DataTypeModel.d.ts +102 -0
- package/lib/data-model/DataTypeModel.js +9 -0
- package/lib/data-model/DataTypeModel.js.map +1 -0
- package/lib/data-model/NamingHelper.d.ts +57 -0
- package/lib/data-model/NamingHelper.js +225 -0
- package/lib/data-model/NamingHelper.js.map +1 -0
- package/lib/data-model/ServiceConfigHelper.d.ts +13 -0
- package/lib/data-model/ServiceConfigHelper.js +63 -0
- package/lib/data-model/ServiceConfigHelper.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.d.ts +79 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelBase.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.d.ts +63 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelV3.js.map +1 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.d.ts +67 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.js +3 -0
- package/lib/data-model/edmx/ODataEdmxModelV4.js.map +1 -0
- package/lib/defaultConfig.d.ts +9 -0
- package/lib/defaultConfig.js +176 -0
- package/lib/defaultConfig.js.map +1 -0
- package/lib/evaluateConfig.d.ts +25 -0
- package/lib/evaluateConfig.js +78 -0
- package/lib/evaluateConfig.js.map +1 -0
- package/lib/generator/ImportContainer.d.ts +16 -0
- package/lib/generator/ImportContainer.js +92 -0
- package/lib/generator/ImportContainer.js.map +1 -0
- package/lib/generator/ModelGenerator.d.ts +2 -0
- package/lib/generator/ModelGenerator.js +178 -0
- package/lib/generator/ModelGenerator.js.map +1 -0
- package/lib/generator/QueryObjectGenerator.d.ts +2 -0
- package/lib/generator/QueryObjectGenerator.js +234 -0
- package/lib/generator/QueryObjectGenerator.js.map +1 -0
- package/lib/generator/ServiceGenerator.d.ts +5 -0
- package/lib/generator/ServiceGenerator.js +412 -0
- package/lib/generator/ServiceGenerator.js.map +1 -0
- package/lib/generator/index.d.ts +3 -0
- package/lib/generator/index.js +10 -0
- package/lib/generator/index.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +7 -0
- package/lib/index.js.map +1 -0
- package/lib/project/ProjectManager.d.ts +30 -0
- package/lib/project/ProjectManager.js +177 -0
- package/lib/project/ProjectManager.js.map +1 -0
- package/lib/project/formatter/BaseFormatter.d.ts +49 -0
- package/lib/project/formatter/BaseFormatter.js +31 -0
- package/lib/project/formatter/BaseFormatter.js.map +1 -0
- package/lib/project/formatter/FileFormatter.d.ts +16 -0
- package/lib/project/formatter/FileFormatter.js +3 -0
- package/lib/project/formatter/FileFormatter.js.map +1 -0
- package/lib/project/formatter/NoopFormatter.d.ts +29 -0
- package/lib/project/formatter/NoopFormatter.js +43 -0
- package/lib/project/formatter/NoopFormatter.js.map +1 -0
- package/lib/project/formatter/PrettierFormatter.d.ts +46 -0
- package/lib/project/formatter/PrettierFormatter.js +93 -0
- package/lib/project/formatter/PrettierFormatter.js.map +1 -0
- package/lib/project/formatter/index.d.ts +2 -0
- package/lib/project/formatter/index.js +15 -0
- package/lib/project/formatter/index.js.map +1 -0
- package/lib/project/logger/logFilePath.d.ts +1 -0
- package/lib/project/logger/logFilePath.js +13 -0
- package/lib/project/logger/logFilePath.js.map +1 -0
- package/lib/run-cli.d.ts +2 -0
- package/lib/run-cli.js +7 -0
- package/lib/run-cli.js.map +1 -0
- package/package.json +91 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServiceGenerator.js","sourceRoot":"","sources":["../../src/generator/ServiceGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateServices = exports.generateQueryObjects = exports.generateModels = void 0;
|
|
4
|
+
var ModelGenerator_1 = require("./ModelGenerator");
|
|
5
|
+
Object.defineProperty(exports, "generateModels", { enumerable: true, get: function () { return ModelGenerator_1.generateModels; } });
|
|
6
|
+
var QueryObjectGenerator_1 = require("./QueryObjectGenerator");
|
|
7
|
+
Object.defineProperty(exports, "generateQueryObjects", { enumerable: true, get: function () { return QueryObjectGenerator_1.generateQueryObjects; } });
|
|
8
|
+
var ServiceGenerator_1 = require("./ServiceGenerator");
|
|
9
|
+
Object.defineProperty(exports, "generateServices", { enumerable: true, get: function () { return ServiceGenerator_1.generateServices; } });
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/generator/index.ts"],"names":[],"mappings":";;;AAAA,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,uDAAsD;AAA7C,oHAAA,gBAAgB,OAAA"}
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./OptionModel"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./NamingModel"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./defaultConfig"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,wDAA8B;AAC9B,0DAAgC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CompilerOptions, SourceFile } from "ts-morph";
|
|
2
|
+
import { ProjectFiles } from "../data-model/DataModel";
|
|
3
|
+
import { EmitModes } from "../OptionModel";
|
|
4
|
+
import { FileFormatter } from "./formatter/FileFormatter";
|
|
5
|
+
export declare function createProjectManager(projectFiles: ProjectFiles, outputDir: string, emitMode: EmitModes, usePrettier: boolean, tsConfigPath?: string): Promise<ProjectManager>;
|
|
6
|
+
export declare class ProjectManager {
|
|
7
|
+
private projectFiles;
|
|
8
|
+
private outputDir;
|
|
9
|
+
private emitMode;
|
|
10
|
+
private formatter;
|
|
11
|
+
private project;
|
|
12
|
+
private files;
|
|
13
|
+
private serviceFiles;
|
|
14
|
+
constructor(projectFiles: ProjectFiles, outputDir: string, emitMode: EmitModes, formatter: FileFormatter, compilerOptions: CompilerOptions | undefined);
|
|
15
|
+
private createFile;
|
|
16
|
+
createModelFile(): Promise<SourceFile>;
|
|
17
|
+
getModelFile(): SourceFile;
|
|
18
|
+
createQObjectFile(): Promise<SourceFile>;
|
|
19
|
+
getQObjectFile(): SourceFile;
|
|
20
|
+
createMainServiceFile(): Promise<SourceFile>;
|
|
21
|
+
getMainServiceFile(): SourceFile;
|
|
22
|
+
getServiceDir(): string;
|
|
23
|
+
cleanServiceDir(): Promise<void>;
|
|
24
|
+
createServiceFile(name: string): Promise<SourceFile>;
|
|
25
|
+
getServiceFiles(): SourceFile[];
|
|
26
|
+
writeFiles(): Promise<void>;
|
|
27
|
+
private emitJsFiles;
|
|
28
|
+
private emitTsFiles;
|
|
29
|
+
private formatAndWriteFile;
|
|
30
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProjectManager = exports.createProjectManager = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path = tslib_1.__importStar(require("path"));
|
|
6
|
+
const fs_extra_1 = require("fs-extra");
|
|
7
|
+
const ts_morph_1 = require("ts-morph");
|
|
8
|
+
const tsconfig_loader_1 = tslib_1.__importDefault(require("tsconfig-loader"));
|
|
9
|
+
const typescript_1 = require("typescript");
|
|
10
|
+
const OptionModel_1 = require("../OptionModel");
|
|
11
|
+
const formatter_1 = require("./formatter");
|
|
12
|
+
function createProjectManager(projectFiles, outputDir, emitMode, usePrettier, tsConfigPath = "tsconfig.json") {
|
|
13
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
const generateDeclarations = [OptionModel_1.EmitModes.js_dts, OptionModel_1.EmitModes.dts].includes(emitMode);
|
|
15
|
+
const conf = (0, tsconfig_loader_1.default)({ filename: tsConfigPath });
|
|
16
|
+
const formatter = yield (0, formatter_1.createFormatter)(outputDir, usePrettier);
|
|
17
|
+
const _a = (conf === null || conf === void 0 ? void 0 : conf.tsConfig.compilerOptions) || {}, {
|
|
18
|
+
// ignored props
|
|
19
|
+
noEmit, // we always want to emit
|
|
20
|
+
importsNotUsedAsValues, // type is missing
|
|
21
|
+
jsx, plugins,
|
|
22
|
+
// mapped props
|
|
23
|
+
moduleResolution, lib, module, newLine, target } = _a, passThrough = tslib_1.__rest(_a, ["noEmit", "importsNotUsedAsValues", "jsx", "plugins", "moduleResolution", "lib", "module", "newLine", "target"]);
|
|
24
|
+
const compilerOpts = Object.assign(Object.assign({}, passThrough), { outDir: outputDir, declaration: generateDeclarations, moduleResolution: getModuleResolutionKind(moduleResolution), module: getModuleKind(module), target: getTarget(target), lib: lib, newLine: (newLine === null || newLine === void 0 ? void 0 : newLine.toLowerCase()) === "crlf"
|
|
25
|
+
? ts_morph_1.NewLineKind.CarriageReturnLineFeed
|
|
26
|
+
: (newLine === null || newLine === void 0 ? void 0 : newLine.toLowerCase()) === "lf"
|
|
27
|
+
? ts_morph_1.NewLineKind.LineFeed
|
|
28
|
+
: undefined });
|
|
29
|
+
return new ProjectManager(projectFiles, outputDir, emitMode, formatter, compilerOpts);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.createProjectManager = createProjectManager;
|
|
33
|
+
function getModuleResolutionKind(moduleResolution) {
|
|
34
|
+
const modRes = typeof moduleResolution === "string"
|
|
35
|
+
? moduleResolution.toLowerCase() === "node"
|
|
36
|
+
? "nodejs"
|
|
37
|
+
: moduleResolution.toLowerCase()
|
|
38
|
+
: undefined;
|
|
39
|
+
const matchedKey = Object.keys(ts_morph_1.ModuleResolutionKind).find((mk) => mk.toLowerCase() === modRes);
|
|
40
|
+
return matchedKey ? ts_morph_1.ModuleResolutionKind[matchedKey] : undefined;
|
|
41
|
+
}
|
|
42
|
+
function getModuleKind(module) {
|
|
43
|
+
const mod = typeof module === "string" ? module.toLowerCase() : undefined;
|
|
44
|
+
const matchedKey = Object.keys(typescript_1.ModuleKind).find((mk) => mk.toLowerCase() === mod);
|
|
45
|
+
return matchedKey ? typescript_1.ModuleKind[matchedKey] : undefined;
|
|
46
|
+
}
|
|
47
|
+
function getTarget(target) {
|
|
48
|
+
const t = typeof target === "string" ? target.toLowerCase() : undefined;
|
|
49
|
+
const matchedKey = Object.keys(ts_morph_1.ScriptTarget).find((st) => st.toLowerCase() === t);
|
|
50
|
+
return matchedKey ? ts_morph_1.ScriptTarget[matchedKey] : undefined;
|
|
51
|
+
}
|
|
52
|
+
const STATIC_SERVICE_DIR = "service";
|
|
53
|
+
class ProjectManager {
|
|
54
|
+
constructor(projectFiles, outputDir, emitMode, formatter, compilerOptions) {
|
|
55
|
+
this.projectFiles = projectFiles;
|
|
56
|
+
this.outputDir = outputDir;
|
|
57
|
+
this.emitMode = emitMode;
|
|
58
|
+
this.formatter = formatter;
|
|
59
|
+
this.files = {};
|
|
60
|
+
this.serviceFiles = [];
|
|
61
|
+
this.formatAndWriteFile = (file) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
const fileName = file.getFilePath();
|
|
63
|
+
const content = file.getFullText();
|
|
64
|
+
try {
|
|
65
|
+
const formatted = yield this.formatter.format(content);
|
|
66
|
+
try {
|
|
67
|
+
return (0, fs_extra_1.writeFile)(fileName, formatted);
|
|
68
|
+
}
|
|
69
|
+
catch (writeError) {
|
|
70
|
+
console.error(`Failed to write file [/${fileName}]`, writeError);
|
|
71
|
+
process.exit(3);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
catch (formattingError) {
|
|
75
|
+
console.error("Formatting failed");
|
|
76
|
+
yield (0, fs_extra_1.writeFile)("error.log", formattingError);
|
|
77
|
+
process.exit(99);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
// Create ts-morph project
|
|
81
|
+
this.project = new ts_morph_1.Project({
|
|
82
|
+
manipulationSettings: this.formatter.getSettings(),
|
|
83
|
+
skipAddingFilesFromTsConfig: true,
|
|
84
|
+
compilerOptions,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
createFile(name) {
|
|
88
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const fileName = path.join(this.outputDir, `${name}.ts`);
|
|
90
|
+
yield (0, fs_extra_1.remove)(fileName);
|
|
91
|
+
return this.project.createSourceFile(fileName);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
createModelFile() {
|
|
95
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
this.files.model = yield this.createFile(this.projectFiles.model);
|
|
97
|
+
return this.getModelFile();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
getModelFile() {
|
|
101
|
+
return this.files.model;
|
|
102
|
+
}
|
|
103
|
+
createQObjectFile() {
|
|
104
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
this.files.qobject = yield this.createFile(this.projectFiles.qObject);
|
|
106
|
+
return this.getQObjectFile();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
getQObjectFile() {
|
|
110
|
+
return this.files.qobject;
|
|
111
|
+
}
|
|
112
|
+
createMainServiceFile() {
|
|
113
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
this.files.mainService = yield this.createFile(this.projectFiles.service);
|
|
115
|
+
return this.getMainServiceFile();
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
getMainServiceFile() {
|
|
119
|
+
return this.files.mainService;
|
|
120
|
+
}
|
|
121
|
+
getServiceDir() {
|
|
122
|
+
return path.join(this.outputDir, STATIC_SERVICE_DIR);
|
|
123
|
+
}
|
|
124
|
+
cleanServiceDir() {
|
|
125
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
return (0, fs_extra_1.emptyDir)(this.getServiceDir());
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
createServiceFile(name) {
|
|
130
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
const file = yield this.createFile(path.join(STATIC_SERVICE_DIR, name));
|
|
132
|
+
this.serviceFiles.push(file);
|
|
133
|
+
return file;
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
getServiceFiles() {
|
|
137
|
+
return this.serviceFiles;
|
|
138
|
+
}
|
|
139
|
+
writeFiles() {
|
|
140
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
switch (this.emitMode) {
|
|
142
|
+
case OptionModel_1.EmitModes.js:
|
|
143
|
+
case OptionModel_1.EmitModes.js_dts:
|
|
144
|
+
yield this.emitJsFiles();
|
|
145
|
+
break;
|
|
146
|
+
case OptionModel_1.EmitModes.dts:
|
|
147
|
+
yield this.emitJsFiles(true);
|
|
148
|
+
break;
|
|
149
|
+
case OptionModel_1.EmitModes.ts:
|
|
150
|
+
yield this.emitTsFiles();
|
|
151
|
+
break;
|
|
152
|
+
default:
|
|
153
|
+
throw new Error(`Emit mode "${this.emitMode}" is invalid!`);
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
emitJsFiles(declarationOnly) {
|
|
158
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
159
|
+
console.log(declarationOnly
|
|
160
|
+
? "Emitting declaration files"
|
|
161
|
+
: `Emitting JS files (${this.emitMode === OptionModel_1.EmitModes.js_dts ? "including" : "without"} declaration files)`);
|
|
162
|
+
yield this.project.emit({ emitOnlyDtsFiles: !!declarationOnly });
|
|
163
|
+
/* for (const diagnostic of this.project.getPreEmitDiagnostics()) {
|
|
164
|
+
console.log(diagnostic.getMessageText());
|
|
165
|
+
} */
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
emitTsFiles() {
|
|
169
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const files = [this.getModelFile(), this.getQObjectFile(), this.getMainServiceFile(), ...this.getServiceFiles()];
|
|
171
|
+
console.log(`Emitting ${files.length} TS files`);
|
|
172
|
+
return Promise.all([...files.filter((file) => !!file).map(this.formatAndWriteFile)]);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
exports.ProjectManager = ProjectManager;
|
|
177
|
+
//# sourceMappingURL=ProjectManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectManager.js","sourceRoot":"","sources":["../../src/project/ProjectManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { ManipulationSettings } from "ts-morph";
|
|
2
|
+
import { FileFormatter } from "./FileFormatter";
|
|
3
|
+
/**
|
|
4
|
+
* Abstract formatter.
|
|
5
|
+
*
|
|
6
|
+
* @export
|
|
7
|
+
* @abstract
|
|
8
|
+
* @class Formatter
|
|
9
|
+
*/
|
|
10
|
+
export declare abstract class BaseFormatter implements FileFormatter {
|
|
11
|
+
/**
|
|
12
|
+
* Path of the output file.
|
|
13
|
+
*
|
|
14
|
+
* @protected
|
|
15
|
+
* @type {string}
|
|
16
|
+
* @memberof Formatter
|
|
17
|
+
*/
|
|
18
|
+
protected output: string;
|
|
19
|
+
/**
|
|
20
|
+
* Initialized ts-morph manipulation settings for project creation.
|
|
21
|
+
*
|
|
22
|
+
* @protected
|
|
23
|
+
* @type {Partial<ManipulationSettings>}
|
|
24
|
+
* @memberof Formatter
|
|
25
|
+
*/
|
|
26
|
+
protected settings: Partial<ManipulationSettings>;
|
|
27
|
+
/**
|
|
28
|
+
* Default constructor
|
|
29
|
+
* @param {string} output Path of the output file
|
|
30
|
+
* @memberof Formatter
|
|
31
|
+
*/
|
|
32
|
+
constructor(output: string);
|
|
33
|
+
/**
|
|
34
|
+
* Initializes the formatter.
|
|
35
|
+
*
|
|
36
|
+
* @abstract
|
|
37
|
+
* @returns {Promise<BaseFormatter>} Initialized formatter
|
|
38
|
+
* @memberof Formatter
|
|
39
|
+
*/
|
|
40
|
+
abstract init(): Promise<BaseFormatter>;
|
|
41
|
+
/**
|
|
42
|
+
* Returns initialized ts-morph manipuation settings.
|
|
43
|
+
*
|
|
44
|
+
* @returns {Promise<Partial<ManipulationSettings>>} ts-morph manipulation settings
|
|
45
|
+
* @memberof Formatter
|
|
46
|
+
*/
|
|
47
|
+
getSettings(): Partial<ManipulationSettings>;
|
|
48
|
+
abstract format(source: string): Promise<string>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseFormatter = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Abstract formatter.
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @abstract
|
|
9
|
+
* @class Formatter
|
|
10
|
+
*/
|
|
11
|
+
class BaseFormatter {
|
|
12
|
+
/**
|
|
13
|
+
* Default constructor
|
|
14
|
+
* @param {string} output Path of the output file
|
|
15
|
+
* @memberof Formatter
|
|
16
|
+
*/
|
|
17
|
+
constructor(output) {
|
|
18
|
+
this.output = output;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Returns initialized ts-morph manipuation settings.
|
|
22
|
+
*
|
|
23
|
+
* @returns {Promise<Partial<ManipulationSettings>>} ts-morph manipulation settings
|
|
24
|
+
* @memberof Formatter
|
|
25
|
+
*/
|
|
26
|
+
getSettings() {
|
|
27
|
+
return this.settings;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BaseFormatter = BaseFormatter;
|
|
31
|
+
//# sourceMappingURL=BaseFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BaseFormatter.js","sourceRoot":"","sources":["../../../src/project/formatter/BaseFormatter.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,MAAsB,aAAa;IAmBjC;;;;OAIG;IACH,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAWD;;;;;OAKG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CAGF;AAhDD,sCAgDC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ManipulationSettings } from "ts-morph";
|
|
2
|
+
export interface FileFormatter {
|
|
3
|
+
/**
|
|
4
|
+
* Returns initialized ts-morph manipulation settings.
|
|
5
|
+
*
|
|
6
|
+
* @returns {Partial<ManipulationSettings>} ts-morph manipulation settings
|
|
7
|
+
*/
|
|
8
|
+
getSettings(): Partial<ManipulationSettings>;
|
|
9
|
+
/**
|
|
10
|
+
* Formats a given source code.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} source Source code to format
|
|
13
|
+
* @returns {string} Formatted source code
|
|
14
|
+
*/
|
|
15
|
+
format(source: string): Promise<string>;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileFormatter.js","sourceRoot":"","sources":["../../../src/project/formatter/FileFormatter.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BaseFormatter } from "./BaseFormatter";
|
|
2
|
+
/**
|
|
3
|
+
* Prettier formatter.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: Should be created like this => const formatter = await new NoopFormatter("./test.ts").init();
|
|
6
|
+
*
|
|
7
|
+
* @export
|
|
8
|
+
* @class NoopFormatter
|
|
9
|
+
* @extends {Formatter}
|
|
10
|
+
*/
|
|
11
|
+
export declare class NoopFormatter extends BaseFormatter {
|
|
12
|
+
/**
|
|
13
|
+
* Initializes the formatter.
|
|
14
|
+
*
|
|
15
|
+
* @abstract
|
|
16
|
+
* @returns {Promise<Formatter>} Initialized formatter
|
|
17
|
+
* @memberof Formatter
|
|
18
|
+
*/
|
|
19
|
+
init(): Promise<BaseFormatter>;
|
|
20
|
+
/**
|
|
21
|
+
* Formats a given source code.
|
|
22
|
+
*
|
|
23
|
+
* @abstract
|
|
24
|
+
* @param {string} source Source code to format
|
|
25
|
+
* @returns {string} Formatted source code
|
|
26
|
+
* @memberof Formatter
|
|
27
|
+
*/
|
|
28
|
+
format(source: string): Promise<string>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NoopFormatter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const BaseFormatter_1 = require("./BaseFormatter");
|
|
6
|
+
/**
|
|
7
|
+
* Prettier formatter.
|
|
8
|
+
*
|
|
9
|
+
* NOTE: Should be created like this => const formatter = await new NoopFormatter("./test.ts").init();
|
|
10
|
+
*
|
|
11
|
+
* @export
|
|
12
|
+
* @class NoopFormatter
|
|
13
|
+
* @extends {Formatter}
|
|
14
|
+
*/
|
|
15
|
+
class NoopFormatter extends BaseFormatter_1.BaseFormatter {
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the formatter.
|
|
18
|
+
*
|
|
19
|
+
* @abstract
|
|
20
|
+
* @returns {Promise<Formatter>} Initialized formatter
|
|
21
|
+
* @memberof Formatter
|
|
22
|
+
*/
|
|
23
|
+
init() {
|
|
24
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
return this;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Formats a given source code.
|
|
30
|
+
*
|
|
31
|
+
* @abstract
|
|
32
|
+
* @param {string} source Source code to format
|
|
33
|
+
* @returns {string} Formatted source code
|
|
34
|
+
* @memberof Formatter
|
|
35
|
+
*/
|
|
36
|
+
format(source) {
|
|
37
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
38
|
+
return source;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.NoopFormatter = NoopFormatter;
|
|
43
|
+
//# sourceMappingURL=NoopFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoopFormatter.js","sourceRoot":"","sources":["../../../src/project/formatter/NoopFormatter.ts"],"names":[],"mappings":";;;;AAAA,mDAAgD;AAEhD;;;;;;;;GAQG;AACH,MAAa,aAAc,SAAQ,6BAAa;IAC9C;;;;;;OAMG;IACU,IAAI;;YACf,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,MAAM,CAAC,MAAc;;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;CACF;AAvBD,sCAuBC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { BaseFormatter } from "./BaseFormatter";
|
|
2
|
+
export declare class PrettierFormatter extends BaseFormatter {
|
|
3
|
+
/**
|
|
4
|
+
* Prettier options found in the project.
|
|
5
|
+
*
|
|
6
|
+
* @private
|
|
7
|
+
* @type {prettier.Options}
|
|
8
|
+
* @memberof PrettierFormatter
|
|
9
|
+
*/
|
|
10
|
+
private options;
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the formatter.
|
|
13
|
+
*
|
|
14
|
+
* @returns {Promise<PrettierFormatter>} Initialized formatter
|
|
15
|
+
* @memberof PrettierFormatter
|
|
16
|
+
*/
|
|
17
|
+
init(): Promise<PrettierFormatter>;
|
|
18
|
+
/**
|
|
19
|
+
* Formats a given source code.
|
|
20
|
+
*
|
|
21
|
+
* @abstract
|
|
22
|
+
* @param {string} source Source code to format
|
|
23
|
+
* @returns {string} Formatted source code
|
|
24
|
+
* @memberof Formatter
|
|
25
|
+
*/
|
|
26
|
+
format(source: string): Promise<string>;
|
|
27
|
+
/**
|
|
28
|
+
* Converts prettier indentation config to ts-morph settings.
|
|
29
|
+
*
|
|
30
|
+
* @private
|
|
31
|
+
* @param {boolean | undefined} useTabs Flag, whether to use tabs or not
|
|
32
|
+
* @param {number | undefined} tabWidth Width of a simulated tab, each number represents a space
|
|
33
|
+
* @returns {IndentationText} Converted indentation text
|
|
34
|
+
* @memberof PrettierFormatter
|
|
35
|
+
*/
|
|
36
|
+
private convertIndentation;
|
|
37
|
+
/**
|
|
38
|
+
* Converts prettier newline config to ts-morph settings.
|
|
39
|
+
*
|
|
40
|
+
* @private
|
|
41
|
+
* @param {string | undefined} eol prettier end-of-line config
|
|
42
|
+
* @returns {NewLineKind | undefined} Converted new line kind
|
|
43
|
+
* @memberof PrettierFormatter
|
|
44
|
+
*/
|
|
45
|
+
private convertNewline;
|
|
46
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrettierFormatter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const prettier_1 = tslib_1.__importDefault(require("prettier"));
|
|
6
|
+
const ts_morph_1 = require("ts-morph");
|
|
7
|
+
const BaseFormatter_1 = require("./BaseFormatter");
|
|
8
|
+
class PrettierFormatter extends BaseFormatter_1.BaseFormatter {
|
|
9
|
+
/**
|
|
10
|
+
* Initializes the formatter.
|
|
11
|
+
*
|
|
12
|
+
* @returns {Promise<PrettierFormatter>} Initialized formatter
|
|
13
|
+
* @memberof PrettierFormatter
|
|
14
|
+
*/
|
|
15
|
+
init() {
|
|
16
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const options = yield prettier_1.default.resolveConfig(this.output);
|
|
18
|
+
if (options) {
|
|
19
|
+
this.options = options;
|
|
20
|
+
this.settings = {
|
|
21
|
+
indentationText: this.convertIndentation(this.options.useTabs, this.options.tabWidth),
|
|
22
|
+
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: this.options.bracketSpacing !== undefined ? this.options.bracketSpacing : true,
|
|
23
|
+
newLineKind: this.convertNewline(this.options.endOfLine),
|
|
24
|
+
quoteKind: this.options.singleQuote ? ts_morph_1.QuoteKind.Single : ts_morph_1.QuoteKind.Double,
|
|
25
|
+
useTrailingCommas: this.options.trailingComma === "none" ? false : true,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
else
|
|
29
|
+
this.settings = {};
|
|
30
|
+
return this;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Formats a given source code.
|
|
35
|
+
*
|
|
36
|
+
* @abstract
|
|
37
|
+
* @param {string} source Source code to format
|
|
38
|
+
* @returns {string} Formatted source code
|
|
39
|
+
* @memberof Formatter
|
|
40
|
+
*/
|
|
41
|
+
format(source) {
|
|
42
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
return prettier_1.default.format(source, Object.assign({ parser: "typescript" }, this.options));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Converts prettier indentation config to ts-morph settings.
|
|
48
|
+
*
|
|
49
|
+
* @private
|
|
50
|
+
* @param {boolean | undefined} useTabs Flag, whether to use tabs or not
|
|
51
|
+
* @param {number | undefined} tabWidth Width of a simulated tab, each number represents a space
|
|
52
|
+
* @returns {IndentationText} Converted indentation text
|
|
53
|
+
* @memberof PrettierFormatter
|
|
54
|
+
*/
|
|
55
|
+
convertIndentation(useTabs, tabWidth) {
|
|
56
|
+
if (useTabs)
|
|
57
|
+
return ts_morph_1.IndentationText.Tab;
|
|
58
|
+
switch (tabWidth) {
|
|
59
|
+
case 2:
|
|
60
|
+
return ts_morph_1.IndentationText.TwoSpaces;
|
|
61
|
+
case 4:
|
|
62
|
+
return ts_morph_1.IndentationText.FourSpaces;
|
|
63
|
+
case 8:
|
|
64
|
+
return ts_morph_1.IndentationText.EightSpaces;
|
|
65
|
+
default:
|
|
66
|
+
return ts_morph_1.IndentationText.TwoSpaces;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Converts prettier newline config to ts-morph settings.
|
|
71
|
+
*
|
|
72
|
+
* @private
|
|
73
|
+
* @param {string | undefined} eol prettier end-of-line config
|
|
74
|
+
* @returns {NewLineKind | undefined} Converted new line kind
|
|
75
|
+
* @memberof PrettierFormatter
|
|
76
|
+
*/
|
|
77
|
+
convertNewline(eol) {
|
|
78
|
+
switch (eol) {
|
|
79
|
+
case "lf":
|
|
80
|
+
return ts_morph_1.NewLineKind.LineFeed;
|
|
81
|
+
case "crlf":
|
|
82
|
+
return ts_morph_1.NewLineKind.CarriageReturnLineFeed;
|
|
83
|
+
case "cr":
|
|
84
|
+
return ts_morph_1.NewLineKind.CarriageReturnLineFeed;
|
|
85
|
+
case "auto":
|
|
86
|
+
return ts_morph_1.NewLineKind.LineFeed;
|
|
87
|
+
default:
|
|
88
|
+
return ts_morph_1.NewLineKind.LineFeed;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.PrettierFormatter = PrettierFormatter;
|
|
93
|
+
//# sourceMappingURL=PrettierFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrettierFormatter.js","sourceRoot":"","sources":["../../../src/project/formatter/PrettierFormatter.ts"],"names":[],"mappings":";;;;AAAA,gEAAgC;AAChC,uCAAmE;AACnE,mDAAgD;AAEhD,MAAa,iBAAkB,SAAQ,6BAAa;IAUlD;;;;;OAKG;IACU,IAAI;;YACf,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE1D,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACvB,IAAI,CAAC,QAAQ,GAAG;oBACd,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACrF,qDAAqD,EACnD,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI;oBAChF,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBACxD,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAS,CAAC,MAAM;oBACzE,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;iBACxE,CAAC;aACH;;gBAAM,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YAE1B,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;;;;OAOG;IACU,MAAM,CAAC,MAAc;;YAChC,OAAO,kBAAQ,CAAC,MAAM,CAAC,MAAM,kBAC3B,MAAM,EAAE,YAAY,IACjB,IAAI,CAAC,OAAO,EACf,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;OAQG;IACK,kBAAkB,CAAC,OAA4B,EAAE,QAA4B;QACnF,IAAI,OAAO;YAAE,OAAO,0BAAe,CAAC,GAAG,CAAC;QAExC,QAAQ,QAAQ,EAAE;YAChB,KAAK,CAAC;gBACJ,OAAO,0BAAe,CAAC,SAAS,CAAC;YACnC,KAAK,CAAC;gBACJ,OAAO,0BAAe,CAAC,UAAU,CAAC;YACpC,KAAK,CAAC;gBACJ,OAAO,0BAAe,CAAC,WAAW,CAAC;YACrC;gBACE,OAAO,0BAAe,CAAC,SAAS,CAAC;SACpC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CAAC,GAAuB;QAC5C,QAAQ,GAAG,EAAE;YACX,KAAK,IAAI;gBACP,OAAO,sBAAW,CAAC,QAAQ,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,sBAAW,CAAC,sBAAsB,CAAC;YAC5C,KAAK,IAAI;gBACP,OAAO,sBAAW,CAAC,sBAAsB,CAAC;YAC5C,KAAK,MAAM;gBACT,OAAO,sBAAW,CAAC,QAAQ,CAAC;YAC9B;gBACE,OAAO,sBAAW,CAAC,QAAQ,CAAC;SAC/B;IACH,CAAC;CACF;AA/FD,8CA+FC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createFormatter = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const PrettierFormatter_1 = require("./PrettierFormatter");
|
|
6
|
+
const NoopFormatter_1 = require("./NoopFormatter");
|
|
7
|
+
function createFormatter(outputDir, usePrettier) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
const formatter = usePrettier ? new PrettierFormatter_1.PrettierFormatter(outputDir) : new NoopFormatter_1.NoopFormatter(outputDir);
|
|
10
|
+
yield formatter.init();
|
|
11
|
+
return formatter;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
exports.createFormatter = createFormatter;
|
|
15
|
+
//# sourceMappingURL=index.js.map
|