ide-assi 0.702.0 → 0.705.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/bundle.cjs.js +48 -71
- package/dist/bundle.esm.js +48 -71
- package/dist/components/ideAi.js +47 -70
- package/dist/components/ideDiffPopup.js +1 -1
- package/package.json +1 -1
- package/src/components/ideAi.js +47 -70
- package/src/components/ideDiffPopup.js +1 -1
package/dist/bundle.cjs.js
CHANGED
|
@@ -203084,64 +203084,47 @@ console.log(el, href, title);
|
|
|
203084
203084
|
console.log(srcPath);
|
|
203085
203085
|
*/
|
|
203086
203086
|
|
|
203087
|
+
let where;
|
|
203088
|
+
let href;
|
|
203087
203089
|
|
|
203088
|
-
|
|
203089
|
-
|
|
203090
|
+
if (what === "C1") {
|
|
203091
|
+
where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
203092
|
+
href = where.menu.url;
|
|
203093
|
+
}
|
|
203094
|
+
else if (what === "U1") {
|
|
203095
|
+
const el = ninegrid.querySelector("nx-side-menu-item.active");
|
|
203096
|
+
if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
|
|
203090
203097
|
|
|
203091
|
-
|
|
203098
|
+
href = el.getAttribute("href");
|
|
203099
|
+
const title = el.getAttribute("title");
|
|
203092
203100
|
|
|
203093
|
-
|
|
203094
|
-
|
|
203101
|
+
where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
203102
|
+
}
|
|
203103
|
+
else {
|
|
203104
|
+
throw new Error("invalid command type.");
|
|
203105
|
+
}
|
|
203095
203106
|
|
|
203107
|
+
const srcPath = this.#getSourcePath(href);
|
|
203108
|
+
console.log(where, srcPath);
|
|
203096
203109
|
|
|
203097
|
-
/**
|
|
203098
|
-
* {
|
|
203099
|
-
* "package": "ide.assi.be.tmpla",
|
|
203100
|
-
* "namespace": "ide.assi.be.tmpla.docmanager",
|
|
203101
|
-
* "baseClass": "DocManager",
|
|
203102
|
-
* "resultType": "ide.assi.core.utils.CamelCaseMap",
|
|
203103
|
-
* "mybatis": "tmpla/DocManagerMapper.xml",
|
|
203104
|
-
* "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
|
|
203105
|
-
* "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
|
|
203106
|
-
* "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
|
|
203107
|
-
* "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
|
|
203108
|
-
* }
|
|
203109
|
-
*/
|
|
203110
203110
|
const src = await api.post("/api/source/read", srcPath);
|
|
203111
|
-
console.log(
|
|
203112
|
-
|
|
203113
|
-
/**
|
|
203114
|
-
const response = await fetch(srcPath.javascript);
|
|
203115
|
-
src.javascript = await response.text();*/
|
|
203116
|
-
|
|
203117
|
-
//console.log(src);
|
|
203118
|
-
//const template = await fetch(path).then(res => res.text());
|
|
203119
|
-
/*
|
|
203120
|
-
arr.push({
|
|
203121
|
-
//menuId: elem.getAttribute("menu-id"),
|
|
203122
|
-
url: elem.getAttribute("href"),
|
|
203123
|
-
title: elem.getAttribute("title"),
|
|
203124
|
-
})*/
|
|
203125
|
-
|
|
203126
|
-
|
|
203127
|
-
|
|
203128
|
-
|
|
203111
|
+
console.log(src);
|
|
203129
203112
|
|
|
203130
|
-
//const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
203131
|
-
//this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
203132
203113
|
progressMessageInstance.updateProgress('prepare2', 'completed');
|
|
203133
203114
|
|
|
203134
|
-
//console.log(where);
|
|
203135
|
-
|
|
203136
|
-
//const srcPath = this.#getSourcePath(where.menu.url);
|
|
203137
|
-
|
|
203138
|
-
|
|
203139
203115
|
|
|
203140
203116
|
const columnInfo = await this.#getColumnInfo(where.table);
|
|
203141
203117
|
|
|
203142
|
-
let
|
|
203118
|
+
let generatedSource = {
|
|
203119
|
+
mybatis: src.mybatis,
|
|
203120
|
+
service: src.service,
|
|
203121
|
+
controller: src.controller,
|
|
203122
|
+
javascriptFrom: src.javascriptFrom,
|
|
203123
|
+
javascriptTo: src.javascriptTo,
|
|
203124
|
+
};
|
|
203125
|
+
|
|
203143
203126
|
if (apply.mybatis) {
|
|
203144
|
-
|
|
203127
|
+
generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
203145
203128
|
userPrompt: userPrompt,
|
|
203146
203129
|
originSrc: src.mybatis,
|
|
203147
203130
|
resultType: srcPath.resultType,
|
|
@@ -203151,13 +203134,9 @@ console.log(el, href, title);
|
|
|
203151
203134
|
//this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
203152
203135
|
progressMessageInstance.updateProgress('mybatis', 'completed');
|
|
203153
203136
|
}
|
|
203154
|
-
else {
|
|
203155
|
-
mybatisXmlSource = src.mybatis;
|
|
203156
|
-
}
|
|
203157
203137
|
|
|
203158
|
-
let serviceSrc;
|
|
203159
203138
|
if (apply.service) {
|
|
203160
|
-
|
|
203139
|
+
generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
|
|
203161
203140
|
userPrompt: userPrompt,
|
|
203162
203141
|
originSrc: src.service,
|
|
203163
203142
|
baseClass: srcPath.baseClass,
|
|
@@ -203169,13 +203148,9 @@ console.log(el, href, title);
|
|
|
203169
203148
|
//this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
203170
203149
|
progressMessageInstance.updateProgress('service', 'completed');
|
|
203171
203150
|
}
|
|
203172
|
-
else {
|
|
203173
|
-
serviceSrc = src.service;
|
|
203174
|
-
}
|
|
203175
203151
|
|
|
203176
|
-
let controllerSrc;
|
|
203177
203152
|
if (apply.controller) {
|
|
203178
|
-
|
|
203153
|
+
generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
|
|
203179
203154
|
userPrompt: userPrompt,
|
|
203180
203155
|
originSrc: src.controller,
|
|
203181
203156
|
baseClass: srcPath.baseClass,
|
|
@@ -203186,13 +203161,9 @@ console.log(el, href, title);
|
|
|
203186
203161
|
//this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
203187
203162
|
progressMessageInstance.updateProgress('controller', 'completed');
|
|
203188
203163
|
}
|
|
203189
|
-
else {
|
|
203190
|
-
controllerSrc = src.controller;
|
|
203191
|
-
}
|
|
203192
203164
|
|
|
203193
|
-
let jsSrc;
|
|
203194
203165
|
if (apply.javascript) {
|
|
203195
|
-
|
|
203166
|
+
generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
|
|
203196
203167
|
userPrompt: userPrompt,
|
|
203197
203168
|
mybatis: srcPath.mybatis,
|
|
203198
203169
|
originSrc: src.javascriptFrom,
|
|
@@ -203206,9 +203177,6 @@ console.log(el, href, title);
|
|
|
203206
203177
|
//this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
203207
203178
|
progressMessageInstance.updateProgress('javascript', 'completed');
|
|
203208
203179
|
}
|
|
203209
|
-
else {
|
|
203210
|
-
jsSrc = src.javascript;
|
|
203211
|
-
}
|
|
203212
203180
|
|
|
203213
203181
|
//await this.#generateRealFile(srcPath, apply);
|
|
203214
203182
|
|
|
@@ -203217,22 +203185,31 @@ console.log(el, href, title);
|
|
|
203217
203185
|
const mapping = {
|
|
203218
203186
|
mybatis: {
|
|
203219
203187
|
path: srcPath.mybatisPullPath,
|
|
203220
|
-
src:
|
|
203188
|
+
src: generatedSource.mybatis,
|
|
203221
203189
|
},
|
|
203222
203190
|
service: {
|
|
203223
203191
|
path: srcPath.servicePullPath,
|
|
203224
|
-
src:
|
|
203192
|
+
src: generatedSource.service,
|
|
203225
203193
|
},
|
|
203226
203194
|
controller: {
|
|
203227
203195
|
path: srcPath.controllerPullPath,
|
|
203228
|
-
src:
|
|
203196
|
+
src: generatedSource.controller,
|
|
203197
|
+
},
|
|
203198
|
+
javascriptFrom: {
|
|
203199
|
+
path: srcPath.javascriptFrom,
|
|
203200
|
+
src: generatedSource.javascriptFrom,
|
|
203201
|
+
},
|
|
203202
|
+
javascriptTo: {
|
|
203203
|
+
path: srcPath.javascriptTo,
|
|
203204
|
+
src: generatedSource.javascriptTo,
|
|
203229
203205
|
},
|
|
203230
|
-
javascript: {
|
|
203231
|
-
path: srcPath.javascriptPullPath,
|
|
203232
|
-
src: jsSrc,
|
|
203233
|
-
}
|
|
203234
203206
|
};
|
|
203235
203207
|
|
|
203208
|
+
if (apply.javascript) {
|
|
203209
|
+
apply.javascriptFrom = true;
|
|
203210
|
+
apply.javascriptTo = true;
|
|
203211
|
+
}
|
|
203212
|
+
|
|
203236
203213
|
for (const key in apply) {
|
|
203237
203214
|
if (apply[key]) {
|
|
203238
203215
|
returnSrc.push({
|
|
@@ -204748,7 +204725,7 @@ class IdeDiffPopup extends HTMLElement
|
|
|
204748
204725
|
//this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
|
|
204749
204726
|
|
|
204750
204727
|
tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
|
|
204751
|
-
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "
|
|
204728
|
+
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
|
|
204752
204729
|
});
|
|
204753
204730
|
|
|
204754
204731
|
tab.initialize();
|
package/dist/bundle.esm.js
CHANGED
|
@@ -203080,64 +203080,47 @@ console.log(el, href, title);
|
|
|
203080
203080
|
console.log(srcPath);
|
|
203081
203081
|
*/
|
|
203082
203082
|
|
|
203083
|
+
let where;
|
|
203084
|
+
let href;
|
|
203083
203085
|
|
|
203084
|
-
|
|
203085
|
-
|
|
203086
|
+
if (what === "C1") {
|
|
203087
|
+
where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
203088
|
+
href = where.menu.url;
|
|
203089
|
+
}
|
|
203090
|
+
else if (what === "U1") {
|
|
203091
|
+
const el = ninegrid.querySelector("nx-side-menu-item.active");
|
|
203092
|
+
if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
|
|
203086
203093
|
|
|
203087
|
-
|
|
203094
|
+
href = el.getAttribute("href");
|
|
203095
|
+
const title = el.getAttribute("title");
|
|
203088
203096
|
|
|
203089
|
-
|
|
203090
|
-
|
|
203097
|
+
where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
203098
|
+
}
|
|
203099
|
+
else {
|
|
203100
|
+
throw new Error("invalid command type.");
|
|
203101
|
+
}
|
|
203091
203102
|
|
|
203103
|
+
const srcPath = this.#getSourcePath(href);
|
|
203104
|
+
console.log(where, srcPath);
|
|
203092
203105
|
|
|
203093
|
-
/**
|
|
203094
|
-
* {
|
|
203095
|
-
* "package": "ide.assi.be.tmpla",
|
|
203096
|
-
* "namespace": "ide.assi.be.tmpla.docmanager",
|
|
203097
|
-
* "baseClass": "DocManager",
|
|
203098
|
-
* "resultType": "ide.assi.core.utils.CamelCaseMap",
|
|
203099
|
-
* "mybatis": "tmpla/DocManagerMapper.xml",
|
|
203100
|
-
* "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
|
|
203101
|
-
* "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
|
|
203102
|
-
* "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
|
|
203103
|
-
* "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
|
|
203104
|
-
* }
|
|
203105
|
-
*/
|
|
203106
203106
|
const src = await api.post("/api/source/read", srcPath);
|
|
203107
|
-
console.log(
|
|
203108
|
-
|
|
203109
|
-
/**
|
|
203110
|
-
const response = await fetch(srcPath.javascript);
|
|
203111
|
-
src.javascript = await response.text();*/
|
|
203112
|
-
|
|
203113
|
-
//console.log(src);
|
|
203114
|
-
//const template = await fetch(path).then(res => res.text());
|
|
203115
|
-
/*
|
|
203116
|
-
arr.push({
|
|
203117
|
-
//menuId: elem.getAttribute("menu-id"),
|
|
203118
|
-
url: elem.getAttribute("href"),
|
|
203119
|
-
title: elem.getAttribute("title"),
|
|
203120
|
-
})*/
|
|
203121
|
-
|
|
203122
|
-
|
|
203123
|
-
|
|
203124
|
-
|
|
203107
|
+
console.log(src);
|
|
203125
203108
|
|
|
203126
|
-
//const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
203127
|
-
//this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
203128
203109
|
progressMessageInstance.updateProgress('prepare2', 'completed');
|
|
203129
203110
|
|
|
203130
|
-
//console.log(where);
|
|
203131
|
-
|
|
203132
|
-
//const srcPath = this.#getSourcePath(where.menu.url);
|
|
203133
|
-
|
|
203134
|
-
|
|
203135
203111
|
|
|
203136
203112
|
const columnInfo = await this.#getColumnInfo(where.table);
|
|
203137
203113
|
|
|
203138
|
-
let
|
|
203114
|
+
let generatedSource = {
|
|
203115
|
+
mybatis: src.mybatis,
|
|
203116
|
+
service: src.service,
|
|
203117
|
+
controller: src.controller,
|
|
203118
|
+
javascriptFrom: src.javascriptFrom,
|
|
203119
|
+
javascriptTo: src.javascriptTo,
|
|
203120
|
+
};
|
|
203121
|
+
|
|
203139
203122
|
if (apply.mybatis) {
|
|
203140
|
-
|
|
203123
|
+
generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
203141
203124
|
userPrompt: userPrompt,
|
|
203142
203125
|
originSrc: src.mybatis,
|
|
203143
203126
|
resultType: srcPath.resultType,
|
|
@@ -203147,13 +203130,9 @@ console.log(el, href, title);
|
|
|
203147
203130
|
//this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
203148
203131
|
progressMessageInstance.updateProgress('mybatis', 'completed');
|
|
203149
203132
|
}
|
|
203150
|
-
else {
|
|
203151
|
-
mybatisXmlSource = src.mybatis;
|
|
203152
|
-
}
|
|
203153
203133
|
|
|
203154
|
-
let serviceSrc;
|
|
203155
203134
|
if (apply.service) {
|
|
203156
|
-
|
|
203135
|
+
generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
|
|
203157
203136
|
userPrompt: userPrompt,
|
|
203158
203137
|
originSrc: src.service,
|
|
203159
203138
|
baseClass: srcPath.baseClass,
|
|
@@ -203165,13 +203144,9 @@ console.log(el, href, title);
|
|
|
203165
203144
|
//this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
203166
203145
|
progressMessageInstance.updateProgress('service', 'completed');
|
|
203167
203146
|
}
|
|
203168
|
-
else {
|
|
203169
|
-
serviceSrc = src.service;
|
|
203170
|
-
}
|
|
203171
203147
|
|
|
203172
|
-
let controllerSrc;
|
|
203173
203148
|
if (apply.controller) {
|
|
203174
|
-
|
|
203149
|
+
generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
|
|
203175
203150
|
userPrompt: userPrompt,
|
|
203176
203151
|
originSrc: src.controller,
|
|
203177
203152
|
baseClass: srcPath.baseClass,
|
|
@@ -203182,13 +203157,9 @@ console.log(el, href, title);
|
|
|
203182
203157
|
//this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
203183
203158
|
progressMessageInstance.updateProgress('controller', 'completed');
|
|
203184
203159
|
}
|
|
203185
|
-
else {
|
|
203186
|
-
controllerSrc = src.controller;
|
|
203187
|
-
}
|
|
203188
203160
|
|
|
203189
|
-
let jsSrc;
|
|
203190
203161
|
if (apply.javascript) {
|
|
203191
|
-
|
|
203162
|
+
generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
|
|
203192
203163
|
userPrompt: userPrompt,
|
|
203193
203164
|
mybatis: srcPath.mybatis,
|
|
203194
203165
|
originSrc: src.javascriptFrom,
|
|
@@ -203202,9 +203173,6 @@ console.log(el, href, title);
|
|
|
203202
203173
|
//this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
203203
203174
|
progressMessageInstance.updateProgress('javascript', 'completed');
|
|
203204
203175
|
}
|
|
203205
|
-
else {
|
|
203206
|
-
jsSrc = src.javascript;
|
|
203207
|
-
}
|
|
203208
203176
|
|
|
203209
203177
|
//await this.#generateRealFile(srcPath, apply);
|
|
203210
203178
|
|
|
@@ -203213,22 +203181,31 @@ console.log(el, href, title);
|
|
|
203213
203181
|
const mapping = {
|
|
203214
203182
|
mybatis: {
|
|
203215
203183
|
path: srcPath.mybatisPullPath,
|
|
203216
|
-
src:
|
|
203184
|
+
src: generatedSource.mybatis,
|
|
203217
203185
|
},
|
|
203218
203186
|
service: {
|
|
203219
203187
|
path: srcPath.servicePullPath,
|
|
203220
|
-
src:
|
|
203188
|
+
src: generatedSource.service,
|
|
203221
203189
|
},
|
|
203222
203190
|
controller: {
|
|
203223
203191
|
path: srcPath.controllerPullPath,
|
|
203224
|
-
src:
|
|
203192
|
+
src: generatedSource.controller,
|
|
203193
|
+
},
|
|
203194
|
+
javascriptFrom: {
|
|
203195
|
+
path: srcPath.javascriptFrom,
|
|
203196
|
+
src: generatedSource.javascriptFrom,
|
|
203197
|
+
},
|
|
203198
|
+
javascriptTo: {
|
|
203199
|
+
path: srcPath.javascriptTo,
|
|
203200
|
+
src: generatedSource.javascriptTo,
|
|
203225
203201
|
},
|
|
203226
|
-
javascript: {
|
|
203227
|
-
path: srcPath.javascriptPullPath,
|
|
203228
|
-
src: jsSrc,
|
|
203229
|
-
}
|
|
203230
203202
|
};
|
|
203231
203203
|
|
|
203204
|
+
if (apply.javascript) {
|
|
203205
|
+
apply.javascriptFrom = true;
|
|
203206
|
+
apply.javascriptTo = true;
|
|
203207
|
+
}
|
|
203208
|
+
|
|
203232
203209
|
for (const key in apply) {
|
|
203233
203210
|
if (apply[key]) {
|
|
203234
203211
|
returnSrc.push({
|
|
@@ -204744,7 +204721,7 @@ class IdeDiffPopup extends HTMLElement
|
|
|
204744
204721
|
//this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
|
|
204745
204722
|
|
|
204746
204723
|
tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
|
|
204747
|
-
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "
|
|
204724
|
+
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
|
|
204748
204725
|
});
|
|
204749
204726
|
|
|
204750
204727
|
tab.initialize();
|
package/dist/components/ideAi.js
CHANGED
|
@@ -558,64 +558,47 @@ console.log(el, href, title);
|
|
|
558
558
|
console.log(srcPath);
|
|
559
559
|
*/
|
|
560
560
|
|
|
561
|
+
let where;
|
|
562
|
+
let href;
|
|
561
563
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
+
if (what === "C1") {
|
|
565
|
+
where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
566
|
+
href = where.menu.url;
|
|
567
|
+
}
|
|
568
|
+
else if (what === "U1") {
|
|
569
|
+
const el = ninegrid.querySelector("nx-side-menu-item.active");
|
|
570
|
+
if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
|
|
564
571
|
|
|
565
|
-
|
|
572
|
+
href = el.getAttribute("href");
|
|
573
|
+
const title = el.getAttribute("title");
|
|
566
574
|
|
|
567
|
-
|
|
568
|
-
|
|
575
|
+
where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
throw new Error("invalid command type.");
|
|
579
|
+
}
|
|
569
580
|
|
|
581
|
+
const srcPath = this.#getSourcePath(href);
|
|
582
|
+
console.log(where, srcPath);
|
|
570
583
|
|
|
571
|
-
/**
|
|
572
|
-
* {
|
|
573
|
-
* "package": "ide.assi.be.tmpla",
|
|
574
|
-
* "namespace": "ide.assi.be.tmpla.docmanager",
|
|
575
|
-
* "baseClass": "DocManager",
|
|
576
|
-
* "resultType": "ide.assi.core.utils.CamelCaseMap",
|
|
577
|
-
* "mybatis": "tmpla/DocManagerMapper.xml",
|
|
578
|
-
* "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
|
|
579
|
-
* "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
|
|
580
|
-
* "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
|
|
581
|
-
* "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
|
|
582
|
-
* }
|
|
583
|
-
*/
|
|
584
584
|
const src = await api.post("/api/source/read", srcPath);
|
|
585
|
-
console.log(
|
|
586
|
-
|
|
587
|
-
/**
|
|
588
|
-
const response = await fetch(srcPath.javascript);
|
|
589
|
-
src.javascript = await response.text();*/
|
|
590
|
-
|
|
591
|
-
//console.log(src);
|
|
592
|
-
//const template = await fetch(path).then(res => res.text());
|
|
593
|
-
/*
|
|
594
|
-
arr.push({
|
|
595
|
-
//menuId: elem.getAttribute("menu-id"),
|
|
596
|
-
url: elem.getAttribute("href"),
|
|
597
|
-
title: elem.getAttribute("title"),
|
|
598
|
-
})*/
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
585
|
+
console.log(src);
|
|
603
586
|
|
|
604
|
-
//const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
605
|
-
//this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
606
587
|
progressMessageInstance.updateProgress('prepare2', 'completed');
|
|
607
588
|
|
|
608
|
-
//console.log(where);
|
|
609
|
-
|
|
610
|
-
//const srcPath = this.#getSourcePath(where.menu.url);
|
|
611
|
-
|
|
612
|
-
|
|
613
589
|
|
|
614
590
|
const columnInfo = await this.#getColumnInfo(where.table);
|
|
615
591
|
|
|
616
|
-
let
|
|
592
|
+
let generatedSource = {
|
|
593
|
+
mybatis: src.mybatis,
|
|
594
|
+
service: src.service,
|
|
595
|
+
controller: src.controller,
|
|
596
|
+
javascriptFrom: src.javascriptFrom,
|
|
597
|
+
javascriptTo: src.javascriptTo,
|
|
598
|
+
};
|
|
599
|
+
|
|
617
600
|
if (apply.mybatis) {
|
|
618
|
-
|
|
601
|
+
generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
619
602
|
userPrompt: userPrompt,
|
|
620
603
|
originSrc: src.mybatis,
|
|
621
604
|
resultType: srcPath.resultType,
|
|
@@ -625,13 +608,9 @@ console.log(el, href, title);
|
|
|
625
608
|
//this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
626
609
|
progressMessageInstance.updateProgress('mybatis', 'completed');
|
|
627
610
|
}
|
|
628
|
-
else {
|
|
629
|
-
mybatisXmlSource = src.mybatis;
|
|
630
|
-
}
|
|
631
611
|
|
|
632
|
-
let serviceSrc;
|
|
633
612
|
if (apply.service) {
|
|
634
|
-
|
|
613
|
+
generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
|
|
635
614
|
userPrompt: userPrompt,
|
|
636
615
|
originSrc: src.service,
|
|
637
616
|
baseClass: srcPath.baseClass,
|
|
@@ -643,13 +622,9 @@ console.log(el, href, title);
|
|
|
643
622
|
//this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
644
623
|
progressMessageInstance.updateProgress('service', 'completed');
|
|
645
624
|
}
|
|
646
|
-
else {
|
|
647
|
-
serviceSrc = src.service;
|
|
648
|
-
}
|
|
649
625
|
|
|
650
|
-
let controllerSrc;
|
|
651
626
|
if (apply.controller) {
|
|
652
|
-
|
|
627
|
+
generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
|
|
653
628
|
userPrompt: userPrompt,
|
|
654
629
|
originSrc: src.controller,
|
|
655
630
|
baseClass: srcPath.baseClass,
|
|
@@ -660,13 +635,9 @@ console.log(el, href, title);
|
|
|
660
635
|
//this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
661
636
|
progressMessageInstance.updateProgress('controller', 'completed');
|
|
662
637
|
}
|
|
663
|
-
else {
|
|
664
|
-
controllerSrc = src.controller;
|
|
665
|
-
}
|
|
666
638
|
|
|
667
|
-
let jsSrc;
|
|
668
639
|
if (apply.javascript) {
|
|
669
|
-
|
|
640
|
+
generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
|
|
670
641
|
userPrompt: userPrompt,
|
|
671
642
|
mybatis: srcPath.mybatis,
|
|
672
643
|
originSrc: src.javascriptFrom,
|
|
@@ -680,9 +651,6 @@ console.log(el, href, title);
|
|
|
680
651
|
//this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
681
652
|
progressMessageInstance.updateProgress('javascript', 'completed');
|
|
682
653
|
}
|
|
683
|
-
else {
|
|
684
|
-
jsSrc = src.javascript;
|
|
685
|
-
}
|
|
686
654
|
|
|
687
655
|
//await this.#generateRealFile(srcPath, apply);
|
|
688
656
|
|
|
@@ -691,22 +659,31 @@ console.log(el, href, title);
|
|
|
691
659
|
const mapping = {
|
|
692
660
|
mybatis: {
|
|
693
661
|
path: srcPath.mybatisPullPath,
|
|
694
|
-
src:
|
|
662
|
+
src: generatedSource.mybatis,
|
|
695
663
|
},
|
|
696
664
|
service: {
|
|
697
665
|
path: srcPath.servicePullPath,
|
|
698
|
-
src:
|
|
666
|
+
src: generatedSource.service,
|
|
699
667
|
},
|
|
700
668
|
controller: {
|
|
701
669
|
path: srcPath.controllerPullPath,
|
|
702
|
-
src:
|
|
670
|
+
src: generatedSource.controller,
|
|
671
|
+
},
|
|
672
|
+
javascriptFrom: {
|
|
673
|
+
path: srcPath.javascriptFrom,
|
|
674
|
+
src: generatedSource.javascriptFrom,
|
|
675
|
+
},
|
|
676
|
+
javascriptTo: {
|
|
677
|
+
path: srcPath.javascriptTo,
|
|
678
|
+
src: generatedSource.javascriptTo,
|
|
703
679
|
},
|
|
704
|
-
javascript: {
|
|
705
|
-
path: srcPath.javascriptPullPath,
|
|
706
|
-
src: jsSrc,
|
|
707
|
-
}
|
|
708
680
|
};
|
|
709
681
|
|
|
682
|
+
if (apply.javascript) {
|
|
683
|
+
apply.javascriptFrom = true;
|
|
684
|
+
apply.javascriptTo = true;
|
|
685
|
+
}
|
|
686
|
+
|
|
710
687
|
for (const key in apply) {
|
|
711
688
|
if (apply[key]) {
|
|
712
689
|
returnSrc.push({
|
|
@@ -137,7 +137,7 @@ class IdeDiffPopup extends HTMLElement
|
|
|
137
137
|
//this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
|
|
138
138
|
|
|
139
139
|
tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
|
|
140
|
-
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "
|
|
140
|
+
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
|
|
141
141
|
});
|
|
142
142
|
|
|
143
143
|
tab.initialize();
|
package/package.json
CHANGED
package/src/components/ideAi.js
CHANGED
|
@@ -558,64 +558,47 @@ console.log(el, href, title);
|
|
|
558
558
|
console.log(srcPath);
|
|
559
559
|
*/
|
|
560
560
|
|
|
561
|
+
let where;
|
|
562
|
+
let href;
|
|
561
563
|
|
|
562
|
-
|
|
563
|
-
|
|
564
|
+
if (what === "C1") {
|
|
565
|
+
where = await this.#where(userPrompt, this.#getMenuInfo(), await this.#getTableList());
|
|
566
|
+
href = where.menu.url;
|
|
567
|
+
}
|
|
568
|
+
else if (what === "U1") {
|
|
569
|
+
const el = ninegrid.querySelector("nx-side-menu-item.active");
|
|
570
|
+
if (!el) throw new Error("관련 메뉴를 찾을 수 없습니다.");
|
|
564
571
|
|
|
565
|
-
|
|
572
|
+
href = el.getAttribute("href");
|
|
573
|
+
const title = el.getAttribute("title");
|
|
566
574
|
|
|
567
|
-
|
|
568
|
-
|
|
575
|
+
where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
576
|
+
}
|
|
577
|
+
else {
|
|
578
|
+
throw new Error("invalid command type.");
|
|
579
|
+
}
|
|
569
580
|
|
|
581
|
+
const srcPath = this.#getSourcePath(href);
|
|
582
|
+
console.log(where, srcPath);
|
|
570
583
|
|
|
571
|
-
/**
|
|
572
|
-
* {
|
|
573
|
-
* "package": "ide.assi.be.tmpla",
|
|
574
|
-
* "namespace": "ide.assi.be.tmpla.docmanager",
|
|
575
|
-
* "baseClass": "DocManager",
|
|
576
|
-
* "resultType": "ide.assi.core.utils.CamelCaseMap",
|
|
577
|
-
* "mybatis": "tmpla/DocManagerMapper.xml",
|
|
578
|
-
* "mybatisPullPath": "ide-assi-be/src/main/resources/mapper/tmpla/DocManagerMapper.xml",
|
|
579
|
-
* "controllerPullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/controller/DocManagerController.java",
|
|
580
|
-
* "servicePullPath": "ide-assi-be/src/main/java/ide/assi/be/tmpla/service/DocManagerService.java",
|
|
581
|
-
* "javascriptPullPath": "ide-assi-fe-vite-react-js/src/views/tmpla/doc-manager.jsx"
|
|
582
|
-
* }
|
|
583
|
-
*/
|
|
584
584
|
const src = await api.post("/api/source/read", srcPath);
|
|
585
|
-
console.log(
|
|
586
|
-
|
|
587
|
-
/**
|
|
588
|
-
const response = await fetch(srcPath.javascript);
|
|
589
|
-
src.javascript = await response.text();*/
|
|
590
|
-
|
|
591
|
-
//console.log(src);
|
|
592
|
-
//const template = await fetch(path).then(res => res.text());
|
|
593
|
-
/*
|
|
594
|
-
arr.push({
|
|
595
|
-
//menuId: elem.getAttribute("menu-id"),
|
|
596
|
-
url: elem.getAttribute("href"),
|
|
597
|
-
title: elem.getAttribute("title"),
|
|
598
|
-
})*/
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
585
|
+
console.log(src);
|
|
603
586
|
|
|
604
|
-
//const where = await this.#where(`${title}에서 ${userPrompt}`, [{url: href, title: title}], await this.#getTableList());
|
|
605
|
-
//this.#parent.addMessage("대상 메뉴와 테이블을 찾았습니다.");
|
|
606
587
|
progressMessageInstance.updateProgress('prepare2', 'completed');
|
|
607
588
|
|
|
608
|
-
//console.log(where);
|
|
609
|
-
|
|
610
|
-
//const srcPath = this.#getSourcePath(where.menu.url);
|
|
611
|
-
|
|
612
|
-
|
|
613
589
|
|
|
614
590
|
const columnInfo = await this.#getColumnInfo(where.table);
|
|
615
591
|
|
|
616
|
-
let
|
|
592
|
+
let generatedSource = {
|
|
593
|
+
mybatis: src.mybatis,
|
|
594
|
+
service: src.service,
|
|
595
|
+
controller: src.controller,
|
|
596
|
+
javascriptFrom: src.javascriptFrom,
|
|
597
|
+
javascriptTo: src.javascriptTo,
|
|
598
|
+
};
|
|
599
|
+
|
|
617
600
|
if (apply.mybatis) {
|
|
618
|
-
|
|
601
|
+
generatedSource.mybatis = await this.#generateTmplFile("/prompts/meta/U.BuildMyBatisMapper.txt", "mybatis.xml", {
|
|
619
602
|
userPrompt: userPrompt,
|
|
620
603
|
originSrc: src.mybatis,
|
|
621
604
|
resultType: srcPath.resultType,
|
|
@@ -625,13 +608,9 @@ console.log(el, href, title);
|
|
|
625
608
|
//this.#parent.addMessage("MyBatis 소스파일을 생성했습니다.");
|
|
626
609
|
progressMessageInstance.updateProgress('mybatis', 'completed');
|
|
627
610
|
}
|
|
628
|
-
else {
|
|
629
|
-
mybatisXmlSource = src.mybatis;
|
|
630
|
-
}
|
|
631
611
|
|
|
632
|
-
let serviceSrc;
|
|
633
612
|
if (apply.service) {
|
|
634
|
-
|
|
613
|
+
generatedSource.service = await this.#generateTmplFile("/prompts/meta/U.BuildService.txt", "service.java", {
|
|
635
614
|
userPrompt: userPrompt,
|
|
636
615
|
originSrc: src.service,
|
|
637
616
|
baseClass: srcPath.baseClass,
|
|
@@ -643,13 +622,9 @@ console.log(el, href, title);
|
|
|
643
622
|
//this.#parent.addMessage("Java(Service) 소스파일을 생성했습니다.");
|
|
644
623
|
progressMessageInstance.updateProgress('service', 'completed');
|
|
645
624
|
}
|
|
646
|
-
else {
|
|
647
|
-
serviceSrc = src.service;
|
|
648
|
-
}
|
|
649
625
|
|
|
650
|
-
let controllerSrc;
|
|
651
626
|
if (apply.controller) {
|
|
652
|
-
|
|
627
|
+
generatedSource.controller = await this.#generateTmplFile("/prompts/meta/U.BuildController.txt", "controller.java", {
|
|
653
628
|
userPrompt: userPrompt,
|
|
654
629
|
originSrc: src.controller,
|
|
655
630
|
baseClass: srcPath.baseClass,
|
|
@@ -660,13 +635,9 @@ console.log(el, href, title);
|
|
|
660
635
|
//this.#parent.addMessage("Java(Controller) 소스파일을 생성했습니다.");
|
|
661
636
|
progressMessageInstance.updateProgress('controller', 'completed');
|
|
662
637
|
}
|
|
663
|
-
else {
|
|
664
|
-
controllerSrc = src.controller;
|
|
665
|
-
}
|
|
666
638
|
|
|
667
|
-
let jsSrc;
|
|
668
639
|
if (apply.javascript) {
|
|
669
|
-
|
|
640
|
+
generatedSource.javascriptFrom = await this.#generateTmplFile(this.prompt.react.filter(item => item.includes(".main.") || item.includes(".all.")), "react.jsx", {
|
|
670
641
|
userPrompt: userPrompt,
|
|
671
642
|
mybatis: srcPath.mybatis,
|
|
672
643
|
originSrc: src.javascriptFrom,
|
|
@@ -680,9 +651,6 @@ console.log(el, href, title);
|
|
|
680
651
|
//this.#parent.addMessage("Jsx(React) 소스파일을 생성했습니다.");
|
|
681
652
|
progressMessageInstance.updateProgress('javascript', 'completed');
|
|
682
653
|
}
|
|
683
|
-
else {
|
|
684
|
-
jsSrc = src.javascript;
|
|
685
|
-
}
|
|
686
654
|
|
|
687
655
|
//await this.#generateRealFile(srcPath, apply);
|
|
688
656
|
|
|
@@ -691,22 +659,31 @@ console.log(el, href, title);
|
|
|
691
659
|
const mapping = {
|
|
692
660
|
mybatis: {
|
|
693
661
|
path: srcPath.mybatisPullPath,
|
|
694
|
-
src:
|
|
662
|
+
src: generatedSource.mybatis,
|
|
695
663
|
},
|
|
696
664
|
service: {
|
|
697
665
|
path: srcPath.servicePullPath,
|
|
698
|
-
src:
|
|
666
|
+
src: generatedSource.service,
|
|
699
667
|
},
|
|
700
668
|
controller: {
|
|
701
669
|
path: srcPath.controllerPullPath,
|
|
702
|
-
src:
|
|
670
|
+
src: generatedSource.controller,
|
|
671
|
+
},
|
|
672
|
+
javascriptFrom: {
|
|
673
|
+
path: srcPath.javascriptFrom,
|
|
674
|
+
src: generatedSource.javascriptFrom,
|
|
675
|
+
},
|
|
676
|
+
javascriptTo: {
|
|
677
|
+
path: srcPath.javascriptTo,
|
|
678
|
+
src: generatedSource.javascriptTo,
|
|
703
679
|
},
|
|
704
|
-
javascript: {
|
|
705
|
-
path: srcPath.javascriptPullPath,
|
|
706
|
-
src: jsSrc,
|
|
707
|
-
}
|
|
708
680
|
};
|
|
709
681
|
|
|
682
|
+
if (apply.javascript) {
|
|
683
|
+
apply.javascriptFrom = true;
|
|
684
|
+
apply.javascriptTo = true;
|
|
685
|
+
}
|
|
686
|
+
|
|
710
687
|
for (const key in apply) {
|
|
711
688
|
if (apply[key]) {
|
|
712
689
|
returnSrc.push({
|
|
@@ -137,7 +137,7 @@ class IdeDiffPopup extends HTMLElement
|
|
|
137
137
|
//this.shadowRoot.querySelector('nx-tab').tabpage.hide("mybatis");
|
|
138
138
|
|
|
139
139
|
tab.shadowRoot.querySelectorAll(".tab-button").forEach((el,index) => {
|
|
140
|
-
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "
|
|
140
|
+
el.innerHTML = getTitle(ninegrid.decode(index, 0, "mybatis", 1, "service", 2, "controller", 3, "javascriptFrom", "javascriptTo"));
|
|
141
141
|
});
|
|
142
142
|
|
|
143
143
|
tab.initialize();
|