@nestia/editor 0.6.2 → 0.7.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/dist/assets/index-CTk_peMA.js +4623 -0
- package/dist/index.html +19 -0
- package/lib/NestiaEditorModule.d.ts +30 -0
- package/lib/NestiaEditorModule.js +219 -0
- package/lib/NestiaEditorModule.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +51 -1
- package/lib/index.mjs.map +1 -1
- package/package.json +11 -3
- package/src/NestiaEditorModule.ts +130 -0
- package/src/index.ts +1 -0
package/dist/index.html
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<html lang="en">
|
|
2
|
+
<head>
|
|
3
|
+
<meta charset="UTF-8" />
|
|
4
|
+
<meta
|
|
5
|
+
name="viewport"
|
|
6
|
+
content="width=device-width, height=device-height, initial-scale=1, minimum-scale=1.0, maximum-scale=3.0s"
|
|
7
|
+
/>
|
|
8
|
+
<title>Nestia Editor</title>
|
|
9
|
+
<script type="module" src="./assets/index-CTk_peMA.js"></script>
|
|
10
|
+
</head>
|
|
11
|
+
<body style="width: 100%; height: 100%; margin: 0px; overflow: hidden;">
|
|
12
|
+
<div id="root" style="width: 100%; height: 100%"></div>
|
|
13
|
+
<script>
|
|
14
|
+
window.package = "@ORGANIZATION/PROJECT";
|
|
15
|
+
window.simulate = false;
|
|
16
|
+
window.e2e = false;
|
|
17
|
+
</script>
|
|
18
|
+
</body>
|
|
19
|
+
</html>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { OpenApiV3, OpenApiV3_1, SwaggerV2 } from "@samchon/openapi";
|
|
2
|
+
export declare namespace NestiaEditorModule {
|
|
3
|
+
const setup: (props: {
|
|
4
|
+
path: string;
|
|
5
|
+
application: INestApplication;
|
|
6
|
+
swagger: string | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;
|
|
7
|
+
package?: string;
|
|
8
|
+
simulate?: boolean;
|
|
9
|
+
e2e?: boolean;
|
|
10
|
+
}) => Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
interface INestApplication {
|
|
13
|
+
use(...args: any[]): this;
|
|
14
|
+
getUrl(): Promise<string>;
|
|
15
|
+
getHttpAdapter(): INestHttpAdaptor;
|
|
16
|
+
setGlobalPrefix(prefix: string, options?: any): this;
|
|
17
|
+
}
|
|
18
|
+
interface INestHttpAdaptor {
|
|
19
|
+
getType(): string;
|
|
20
|
+
close(): any;
|
|
21
|
+
init?(): Promise<void>;
|
|
22
|
+
get: Function;
|
|
23
|
+
post: Function;
|
|
24
|
+
put: Function;
|
|
25
|
+
patch: Function;
|
|
26
|
+
delete: Function;
|
|
27
|
+
head: Function;
|
|
28
|
+
all: Function;
|
|
29
|
+
}
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
|
|
36
|
+
return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
var __values = (this && this.__values) || function(o) {
|
|
62
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
63
|
+
if (m) return m.call(o);
|
|
64
|
+
if (o && typeof o.length === "number") return {
|
|
65
|
+
next: function () {
|
|
66
|
+
if (o && i >= o.length) o = void 0;
|
|
67
|
+
return { value: o && o[i++], done: !o };
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
71
|
+
};
|
|
72
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
73
|
+
exports.NestiaEditorModule = void 0;
|
|
74
|
+
var fs = __importStar(require("fs"));
|
|
75
|
+
var NestiaEditorModule;
|
|
76
|
+
(function (NestiaEditorModule) {
|
|
77
|
+
var _this = this;
|
|
78
|
+
NestiaEditorModule.setup = function (props) { return __awaiter(_this, void 0, void 0, function () {
|
|
79
|
+
var prefix, adaptor, staticFiles, _a, _b, _c, _d, _loop_1, staticFiles_1, staticFiles_1_1, f, _e, _f, p;
|
|
80
|
+
var _g, _h, e_1, _j, e_2, _k;
|
|
81
|
+
return __generator(this, function (_l) {
|
|
82
|
+
switch (_l.label) {
|
|
83
|
+
case 0:
|
|
84
|
+
prefix = "/" +
|
|
85
|
+
[getGlobalPrefix(props.application), props.path]
|
|
86
|
+
.join("/")
|
|
87
|
+
.split("/")
|
|
88
|
+
.filter(function (str) { return str.length !== 0; })
|
|
89
|
+
.join("/");
|
|
90
|
+
adaptor = props.application.getHttpAdapter();
|
|
91
|
+
_g = {
|
|
92
|
+
path: "/index.html",
|
|
93
|
+
type: "text/html"
|
|
94
|
+
};
|
|
95
|
+
return [4 /*yield*/, getIndex(props)];
|
|
96
|
+
case 1:
|
|
97
|
+
_a = [
|
|
98
|
+
(_g.content = _l.sent(),
|
|
99
|
+
_g)
|
|
100
|
+
];
|
|
101
|
+
_h = {
|
|
102
|
+
path: "/swagger.json",
|
|
103
|
+
type: "application/json"
|
|
104
|
+
};
|
|
105
|
+
_c = (_b = JSON).stringify;
|
|
106
|
+
if (!(typeof props.swagger === "string")) return [3 /*break*/, 3];
|
|
107
|
+
return [4 /*yield*/, getSwagger(props.swagger)];
|
|
108
|
+
case 2:
|
|
109
|
+
_d = _l.sent();
|
|
110
|
+
return [3 /*break*/, 4];
|
|
111
|
+
case 3:
|
|
112
|
+
_d = props.swagger;
|
|
113
|
+
_l.label = 4;
|
|
114
|
+
case 4:
|
|
115
|
+
_a = _a.concat([
|
|
116
|
+
(_h.content = _c.apply(_b, [_d, null,
|
|
117
|
+
2]),
|
|
118
|
+
_h)
|
|
119
|
+
]);
|
|
120
|
+
return [4 /*yield*/, getJavaScript()];
|
|
121
|
+
case 5:
|
|
122
|
+
staticFiles = _a.concat([
|
|
123
|
+
_l.sent()
|
|
124
|
+
]);
|
|
125
|
+
_loop_1 = function (f) {
|
|
126
|
+
adaptor.get(prefix + f.path, function (_, res) {
|
|
127
|
+
res.type(f.type);
|
|
128
|
+
return res.send(f.content);
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
try {
|
|
132
|
+
for (staticFiles_1 = __values(staticFiles), staticFiles_1_1 = staticFiles_1.next(); !staticFiles_1_1.done; staticFiles_1_1 = staticFiles_1.next()) {
|
|
133
|
+
f = staticFiles_1_1.value;
|
|
134
|
+
_loop_1(f);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
138
|
+
finally {
|
|
139
|
+
try {
|
|
140
|
+
if (staticFiles_1_1 && !staticFiles_1_1.done && (_j = staticFiles_1.return)) _j.call(staticFiles_1);
|
|
141
|
+
}
|
|
142
|
+
finally { if (e_1) throw e_1.error; }
|
|
143
|
+
}
|
|
144
|
+
try {
|
|
145
|
+
for (_e = __values(["", "/"]), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
146
|
+
p = _f.value;
|
|
147
|
+
adaptor.get(prefix + p, function (_, res) {
|
|
148
|
+
return res.redirect(prefix + "/index.html");
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
153
|
+
finally {
|
|
154
|
+
try {
|
|
155
|
+
if (_f && !_f.done && (_k = _e.return)) _k.call(_e);
|
|
156
|
+
}
|
|
157
|
+
finally { if (e_2) throw e_2.error; }
|
|
158
|
+
}
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}); };
|
|
163
|
+
var getGlobalPrefix = function (app) {
|
|
164
|
+
var _a;
|
|
165
|
+
return typeof ((_a = app.config) === null || _a === void 0 ? void 0 : _a.globalPrefix) === "string"
|
|
166
|
+
? app.config.globalPrefix
|
|
167
|
+
: "";
|
|
168
|
+
};
|
|
169
|
+
})(NestiaEditorModule || (exports.NestiaEditorModule = NestiaEditorModule = {}));
|
|
170
|
+
var getIndex = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
171
|
+
var content;
|
|
172
|
+
var _a;
|
|
173
|
+
return __generator(this, function (_b) {
|
|
174
|
+
switch (_b.label) {
|
|
175
|
+
case 0: return [4 /*yield*/, fs.promises.readFile("".concat(__dirname, "/../dist/index.html"), "utf8")];
|
|
176
|
+
case 1:
|
|
177
|
+
content = _b.sent();
|
|
178
|
+
return [2 /*return*/, content
|
|
179
|
+
.replace("\"@ORGANIZATION/PROJECT\"", JSON.stringify((_a = props.package) !== null && _a !== void 0 ? _a : "@ORGANIZATION/PROJECT"))
|
|
180
|
+
.replace("window.simulate = false", "window.simulate = ".concat(!!props.simulate))
|
|
181
|
+
.replace("window.e2e = false", "window.e2e = ".concat(!!props.e2e))];
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}); };
|
|
185
|
+
var getJavaScript = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
186
|
+
var directory, path;
|
|
187
|
+
var _a;
|
|
188
|
+
return __generator(this, function (_b) {
|
|
189
|
+
switch (_b.label) {
|
|
190
|
+
case 0: return [4 /*yield*/, fs.promises.readdir("".concat(__dirname, "/../dist/assets"))];
|
|
191
|
+
case 1:
|
|
192
|
+
directory = _b.sent();
|
|
193
|
+
path = directory[0];
|
|
194
|
+
if (path === undefined)
|
|
195
|
+
throw new Error("Unreachable code, no JS file exists.");
|
|
196
|
+
_a = {
|
|
197
|
+
path: "/assets/".concat(path),
|
|
198
|
+
type: "application/javascript"
|
|
199
|
+
};
|
|
200
|
+
return [4 /*yield*/, fs.promises.readFile("".concat(__dirname, "/../dist/assets/").concat(path), "utf8")];
|
|
201
|
+
case 2: return [2 /*return*/, (_a.content = _b.sent(),
|
|
202
|
+
_a)];
|
|
203
|
+
}
|
|
204
|
+
});
|
|
205
|
+
}); };
|
|
206
|
+
var getSwagger = function (url) { return __awaiter(void 0, void 0, void 0, function () {
|
|
207
|
+
var response;
|
|
208
|
+
return __generator(this, function (_a) {
|
|
209
|
+
switch (_a.label) {
|
|
210
|
+
case 0: return [4 /*yield*/, fetch(url)];
|
|
211
|
+
case 1:
|
|
212
|
+
response = _a.sent();
|
|
213
|
+
if (response.status !== 200)
|
|
214
|
+
throw new Error("Failed to fetch Swagger document from ".concat(url));
|
|
215
|
+
return [2 /*return*/, response.json()];
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
}); };
|
|
219
|
+
//# sourceMappingURL=NestiaEditorModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NestiaEditorModule.js","sourceRoot":"","sources":["../src/NestiaEditorModule.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./NestiaEditorModule"), exports);
|
|
17
18
|
__exportStar(require("./NestiaEditorIframe"), exports);
|
|
18
19
|
__exportStar(require("./NestiaEditorUploader"), exports);
|
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,yDAAuC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC;AACrC,yDAAuC"}
|
package/lib/index.mjs
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as fs from "fs";
|
|
2
|
+
|
|
1
3
|
import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
4
|
|
|
3
5
|
import { Typography, Stepper, Step, StepLabel, StepContent, CircularProgress, Alert, AlertTitle, FormControl, TextField, FormLabel, RadioGroup, FormControlLabel, Radio, Switch, Button } from "@mui/material";
|
|
@@ -18,6 +20,54 @@ import { format } from "prettier/standalone";
|
|
|
18
20
|
|
|
19
21
|
import FileUpload from "react-mui-fileuploader";
|
|
20
22
|
|
|
23
|
+
var NestiaEditorModule;
|
|
24
|
+
|
|
25
|
+
(function(NestiaEditorModule) {
|
|
26
|
+
NestiaEditorModule.setup = async props => {
|
|
27
|
+
const prefix = "/" + [ getGlobalPrefix(props.application), props.path ].join("/").split("/").filter((str => str.length !== 0)).join("/");
|
|
28
|
+
const adaptor = props.application.getHttpAdapter();
|
|
29
|
+
const staticFiles = [ {
|
|
30
|
+
path: "/index.html",
|
|
31
|
+
type: "text/html",
|
|
32
|
+
content: await getIndex(props)
|
|
33
|
+
}, {
|
|
34
|
+
path: "/swagger.json",
|
|
35
|
+
type: "application/json",
|
|
36
|
+
content: JSON.stringify(typeof props.swagger === "string" ? await getSwagger(props.swagger) : props.swagger, null, 2)
|
|
37
|
+
}, await getJavaScript() ];
|
|
38
|
+
for (const f of staticFiles) {
|
|
39
|
+
adaptor.get(prefix + f.path, ((_, res) => {
|
|
40
|
+
res.type(f.type);
|
|
41
|
+
return res.send(f.content);
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
for (const p of [ "", "/" ]) adaptor.get(prefix + p, ((_, res) => res.redirect(prefix + "/index.html")));
|
|
45
|
+
};
|
|
46
|
+
const getGlobalPrefix = app => typeof app.config?.globalPrefix === "string" ? app.config.globalPrefix : "";
|
|
47
|
+
})(NestiaEditorModule || (NestiaEditorModule = {}));
|
|
48
|
+
|
|
49
|
+
const getIndex = async props => {
|
|
50
|
+
const content = await fs.promises.readFile(`${__dirname}/../dist/index.html`, "utf8");
|
|
51
|
+
return content.replace(`"@ORGANIZATION/PROJECT"`, JSON.stringify(props.package ?? "@ORGANIZATION/PROJECT")).replace("window.simulate = false", `window.simulate = ${!!props.simulate}`).replace("window.e2e = false", `window.e2e = ${!!props.e2e}`);
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
const getJavaScript = async () => {
|
|
55
|
+
const directory = await fs.promises.readdir(`${__dirname}/../dist/assets`);
|
|
56
|
+
const path = directory[0];
|
|
57
|
+
if (path === undefined) throw new Error("Unreachable code, no JS file exists.");
|
|
58
|
+
return {
|
|
59
|
+
path: `/assets/${path}`,
|
|
60
|
+
type: "application/javascript",
|
|
61
|
+
content: await fs.promises.readFile(`${__dirname}/../dist/assets/${path}`, "utf8")
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
const getSwagger = async url => {
|
|
66
|
+
const response = await fetch(url);
|
|
67
|
+
if (response.status !== 200) throw new Error(`Failed to fetch Swagger document from ${url}`);
|
|
68
|
+
return response.json();
|
|
69
|
+
};
|
|
70
|
+
|
|
21
71
|
var NestiaEditorComposer;
|
|
22
72
|
|
|
23
73
|
(function(NestiaEditorComposer) {
|
|
@@ -372,5 +422,5 @@ function NestiaEditorUploader(props) {
|
|
|
372
422
|
});
|
|
373
423
|
}
|
|
374
424
|
|
|
375
|
-
export { NestiaEditorIframe, NestiaEditorUploader };
|
|
425
|
+
export { NestiaEditorIframe, NestiaEditorModule, NestiaEditorUploader };
|
|
376
426
|
//# sourceMappingURL=index.mjs.map
|
package/lib/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/internal/NestiaEditorComposer.ts","../src/NestiaEditorIframe.tsx","../src/internal/NestiaEditorFileUploader.tsx","../src/NestiaEditorUploader.tsx"],"sourcesContent":[null,null,null,null],"names":["NestiaEditorComposer","nest","props","compose","openFile","startScript","migrate","app","sdk","async","console","log","config","files","undefined","success","data","errors","result","MigrateApplication","create","document","f","file","substring","length","content","format","parser","plugins","prettierEsTreePlugin","prettierTsPlugin","exp","Object","fromEntries","map","location","join","NestiaEditorIframe","id","React","useState","Math","random","toString","step","setStep","fetchError","setFetchError","operations","setOperationCount","composerError","setComposerError","useEffect","swagger","getDocument","aggregateOperation","mode","simulate","e2e","package","StackBlitzSDK","embedProject","title","info","template","width","height","catch","error","_jsx","style","overflow","children","_jsxs","padding","Typography","variant","Stepper","activeStep","orientation","nonLinear","Step","StepLabel","StepContent","CircularProgress","size","color","href","target","Alert","severity","AlertTitle","values","reduce","a","b","toLocaleString","entries","method","count","_Fragment","JSON","stringify","url","response","fetch","status","text","endsWith","load","json","Error","message","collection","paths","NestiaEditorFileUploader","elements","setElements","onChange","array","buffer","arrayBuffer","TextDecoder","decode","extension","name","split","pop","parse","FileUpload","defaultFiles","onFilesChange","acceptedType","getBase64","multiFile","maxUploadFiles","header","buttonLabel","rightLabel","buttonRemoveLabel","NestiaEditorUploader","setMode","setSimulate","setE2e","setName","setDocument","progress","setProgress","handleError","onError","alert","handleSwagger","generate","openProject","newWindow","FormControl","fullWidth","paddingLeft","TextField","e","value","defaultValue","label","FormLabel","paddingTop","RadioGroup","_e","FormControlLabel","control","Radio","Switch","checked","Button","component","disabled","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/NestiaEditorModule.ts","../src/internal/NestiaEditorComposer.ts","../src/NestiaEditorIframe.tsx","../src/internal/NestiaEditorFileUploader.tsx","../src/NestiaEditorUploader.tsx"],"sourcesContent":[null,null,null,null,null],"names":["NestiaEditorModule","setup","async","props","prefix","getGlobalPrefix","application","path","join","split","filter","str","length","adaptor","getHttpAdapter","staticFiles","type","content","getIndex","JSON","stringify","swagger","getSwagger","getJavaScript","f","get","_","res","send","p","redirect","app","config","globalPrefix","fs","promises","readFile","__dirname","replace","package","simulate","e2e","directory","readdir","undefined","Error","url","response","fetch","status","json","NestiaEditorComposer","nest","compose","openFile","startScript","migrate","sdk","console","log","files","success","data","errors","result","MigrateApplication","create","document","file","substring","format","parser","plugins","prettierEsTreePlugin","prettierTsPlugin","exp","Object","fromEntries","map","location","NestiaEditorIframe","id","React","useState","Math","random","toString","step","setStep","fetchError","setFetchError","operations","setOperationCount","composerError","setComposerError","useEffect","getDocument","aggregateOperation","mode","StackBlitzSDK","embedProject","title","info","template","width","height","catch","error","_jsx","style","overflow","children","_jsxs","padding","Typography","variant","Stepper","activeStep","orientation","nonLinear","Step","StepLabel","StepContent","CircularProgress","size","color","href","target","Alert","severity","AlertTitle","values","reduce","a","b","toLocaleString","entries","method","count","_Fragment","text","endsWith","load","message","collection","paths","NestiaEditorFileUploader","elements","setElements","onChange","array","buffer","arrayBuffer","TextDecoder","decode","extension","name","pop","parse","FileUpload","defaultFiles","onFilesChange","acceptedType","getBase64","multiFile","maxUploadFiles","header","buttonLabel","rightLabel","buttonRemoveLabel","NestiaEditorUploader","setMode","setSimulate","setE2e","setName","setDocument","progress","setProgress","handleError","onError","alert","handleSwagger","generate","openProject","newWindow","FormControl","fullWidth","paddingLeft","TextField","e","value","defaultValue","label","FormLabel","paddingTop","RadioGroup","_e","FormControlLabel","control","Radio","Switch","checked","Button","component","disabled","onClick"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/editor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"typings": "lib/index.d.ts",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"build
|
|
9
|
-
"build:static": "tsc -b && vite build",
|
|
8
|
+
"build": "npm run build:static && npm run build:lib",
|
|
9
|
+
"build:static": "rimraf dist && tsc -b && vite build",
|
|
10
|
+
"build:lib": "rimraf lib && tsc --project tsconfig.lib.json && rollup -c",
|
|
10
11
|
"dev": "vite",
|
|
11
12
|
"lint": "eslint .",
|
|
12
13
|
"preview": "vite preview"
|
|
@@ -42,9 +43,14 @@
|
|
|
42
43
|
},
|
|
43
44
|
"devDependencies": {
|
|
44
45
|
"@eslint/js": "^9.13.0",
|
|
46
|
+
"@nestjs/common": "^10.4.6",
|
|
47
|
+
"@nestjs/core": "^10.4.6",
|
|
48
|
+
"@nestjs/platform-express": "^10.4.6",
|
|
49
|
+
"@nestjs/platform-fastify": "^10.4.6",
|
|
45
50
|
"@rollup/plugin-terser": "^0.4.4",
|
|
46
51
|
"@rollup/plugin-typescript": "^12.1.1",
|
|
47
52
|
"@types/js-yaml": "^4.0.9",
|
|
53
|
+
"@types/node": "^22.8.6",
|
|
48
54
|
"@types/react": "^18.3.11",
|
|
49
55
|
"@types/react-dom": "^18.3.1",
|
|
50
56
|
"@vitejs/plugin-react": "^4.3.3",
|
|
@@ -55,6 +61,7 @@
|
|
|
55
61
|
"react": "^18.3.1",
|
|
56
62
|
"react-dom": "^18.3.1",
|
|
57
63
|
"rollup": "^4.24.2",
|
|
64
|
+
"ts-node": "^10.9.2",
|
|
58
65
|
"typescript": "^5.6.2",
|
|
59
66
|
"typescript-eslint": "^8.10.0",
|
|
60
67
|
"vite": "^5.4.9"
|
|
@@ -63,6 +70,7 @@
|
|
|
63
70
|
"README.md",
|
|
64
71
|
"LICENSE",
|
|
65
72
|
"package.json",
|
|
73
|
+
"dist",
|
|
66
74
|
"lib",
|
|
67
75
|
"src"
|
|
68
76
|
]
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import type { OpenApiV3, OpenApiV3_1, SwaggerV2 } from "@samchon/openapi";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
|
|
4
|
+
export namespace NestiaEditorModule {
|
|
5
|
+
export const setup = async (props: {
|
|
6
|
+
path: string;
|
|
7
|
+
application: INestApplication;
|
|
8
|
+
swagger:
|
|
9
|
+
| string
|
|
10
|
+
| SwaggerV2.IDocument
|
|
11
|
+
| OpenApiV3.IDocument
|
|
12
|
+
| OpenApiV3_1.IDocument;
|
|
13
|
+
package?: string;
|
|
14
|
+
simulate?: boolean;
|
|
15
|
+
e2e?: boolean;
|
|
16
|
+
}): Promise<void> => {
|
|
17
|
+
const prefix: string =
|
|
18
|
+
"/" +
|
|
19
|
+
[getGlobalPrefix(props.application), props.path]
|
|
20
|
+
.join("/")
|
|
21
|
+
.split("/")
|
|
22
|
+
.filter((str) => str.length !== 0)
|
|
23
|
+
.join("/");
|
|
24
|
+
const adaptor: INestHttpAdaptor = props.application.getHttpAdapter();
|
|
25
|
+
const staticFiles: IStaticFile[] = [
|
|
26
|
+
{
|
|
27
|
+
path: "/index.html",
|
|
28
|
+
type: "text/html",
|
|
29
|
+
content: await getIndex(props),
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
path: "/swagger.json",
|
|
33
|
+
type: "application/json",
|
|
34
|
+
content: JSON.stringify(
|
|
35
|
+
typeof props.swagger === "string"
|
|
36
|
+
? await getSwagger(props.swagger)
|
|
37
|
+
: props.swagger,
|
|
38
|
+
null,
|
|
39
|
+
2,
|
|
40
|
+
),
|
|
41
|
+
},
|
|
42
|
+
await getJavaScript(),
|
|
43
|
+
];
|
|
44
|
+
for (const f of staticFiles) {
|
|
45
|
+
adaptor.get(prefix + f.path, (_: any, res: any) => {
|
|
46
|
+
res.type(f.type);
|
|
47
|
+
return res.send(f.content);
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
for (const p of ["", "/"])
|
|
51
|
+
adaptor.get(prefix + p, (_: any, res: any) => {
|
|
52
|
+
return res.redirect(prefix + "/index.html");
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const getGlobalPrefix = (app: INestApplication): string =>
|
|
57
|
+
typeof (app as any).config?.globalPrefix === "string"
|
|
58
|
+
? (app as any).config.globalPrefix
|
|
59
|
+
: "";
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interface INestApplication {
|
|
63
|
+
use(...args: any[]): this;
|
|
64
|
+
getUrl(): Promise<string>;
|
|
65
|
+
getHttpAdapter(): INestHttpAdaptor;
|
|
66
|
+
setGlobalPrefix(prefix: string, options?: any): this;
|
|
67
|
+
}
|
|
68
|
+
interface INestHttpAdaptor {
|
|
69
|
+
getType(): string;
|
|
70
|
+
close(): any;
|
|
71
|
+
init?(): Promise<void>;
|
|
72
|
+
get: Function;
|
|
73
|
+
post: Function;
|
|
74
|
+
put: Function;
|
|
75
|
+
patch: Function;
|
|
76
|
+
delete: Function;
|
|
77
|
+
head: Function;
|
|
78
|
+
all: Function;
|
|
79
|
+
}
|
|
80
|
+
interface IStaticFile {
|
|
81
|
+
path: string;
|
|
82
|
+
type: string;
|
|
83
|
+
content: string;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
const getIndex = async (props: {
|
|
87
|
+
package?: string;
|
|
88
|
+
simulate?: boolean;
|
|
89
|
+
e2e?: boolean;
|
|
90
|
+
}): Promise<string> => {
|
|
91
|
+
const content: string = await fs.promises.readFile(
|
|
92
|
+
`${__dirname}/../dist/index.html`,
|
|
93
|
+
"utf8",
|
|
94
|
+
);
|
|
95
|
+
return content
|
|
96
|
+
.replace(
|
|
97
|
+
`"@ORGANIZATION/PROJECT"`,
|
|
98
|
+
JSON.stringify(props.package ?? "@ORGANIZATION/PROJECT"),
|
|
99
|
+
)
|
|
100
|
+
.replace("window.simulate = false", `window.simulate = ${!!props.simulate}`)
|
|
101
|
+
.replace("window.e2e = false", `window.e2e = ${!!props.e2e}`);
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
const getJavaScript = async (): Promise<IStaticFile> => {
|
|
105
|
+
const directory: string[] = await fs.promises.readdir(
|
|
106
|
+
`${__dirname}/../dist/assets`,
|
|
107
|
+
);
|
|
108
|
+
const path: string | undefined = directory[0];
|
|
109
|
+
if (path === undefined)
|
|
110
|
+
throw new Error("Unreachable code, no JS file exists.");
|
|
111
|
+
return {
|
|
112
|
+
path: `/assets/${path}`,
|
|
113
|
+
type: "application/javascript",
|
|
114
|
+
content: await fs.promises.readFile(
|
|
115
|
+
`${__dirname}/../dist/assets/${path}`,
|
|
116
|
+
"utf8",
|
|
117
|
+
),
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
const getSwagger = async (
|
|
122
|
+
url: string,
|
|
123
|
+
): Promise<
|
|
124
|
+
SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument
|
|
125
|
+
> => {
|
|
126
|
+
const response: Response = await fetch(url);
|
|
127
|
+
if (response.status !== 200)
|
|
128
|
+
throw new Error(`Failed to fetch Swagger document from ${url}`);
|
|
129
|
+
return response.json();
|
|
130
|
+
};
|
package/src/index.ts
CHANGED