@@ -18,15 +18,17 @@ Description:
18
18
</q-btn>
19
19
</template>
20
20
21
- <script>
21
+ <script lang="ts">
22
+ import * as types from "types";
22
23
import { useExportComponent } from "../composables/useExportComponent.js";
23
24
import { mapState } from "vuex";
25
+ import { defineComponent } from "vue";
24
26
const { fs, ipcRenderer } = window;
25
27
26
28
import writeNested from "../../mixins/writeNested";
27
29
28
30
29
- export default {
31
+ export default defineComponent( {
30
32
name: "ExportProjectComponent",
31
33
mixins: [writeNested],
32
34
methods: {
@@ -40,11 +42,11 @@ export default {
40
42
message: "Choose location to save folder in",
41
43
nameFieldLabel: "Application Name",
42
44
})
43
- .then((result) => {
45
+ .then((result:any ) => {
44
46
this.exportFile(result.filePath)
45
47
alert('Successfully Exported')
46
48
})
47
- .catch((err) => console.log(err));
49
+ .catch((err:string ) => console.log(err));
48
50
},
49
51
exportProject: function () {
50
52
@@ -56,7 +58,7 @@ export default {
56
58
* invokes: createRouterImports(this.componentMap['App'].children),
57
59
* createExport(this.componentMap['App'].children)
58
60
* */
59
- createRouter(location) {
61
+ createRouter(location:string ) {
60
62
if (this.exportAsTypescript === "on") {
61
63
fs.writeFileSync(
62
64
path.join(location, "src", "router", "index.ts"),
@@ -75,8 +77,8 @@ export default {
75
77
* @description import routed components from the /views/ dir
76
78
* @argument: this.componentMap['App'].children
77
79
*/
78
- createRouterImports(routes) {
79
- let str = "import { createRouter, createWebHistory } from 'vue-router';\n";
80
+ createRouterImports(routes):string {
81
+ let str:string = "import { createRouter, createWebHistory } from 'vue-router';\n";
80
82
for(let view in routes) {
81
83
str += `import ${view} from '../views/${view}.vue';\n`;
82
84
}
@@ -85,8 +87,8 @@ export default {
85
87
/**
86
88
* @description creates the `export default` code in <script>
87
89
*/
88
- createExport(routes) {
89
- let str = "export default createRouter({\n\thistory: createWebHistory(import.meta.env.BASE_URL),\n\troutes: [\n";
90
+ createExport(routes):string {
91
+ let str:string = "export default createRouter({\n\thistory: createWebHistory(import.meta.env.BASE_URL),\n\troutes: [\n";
90
92
for(let view in routes) {
91
93
// HomeView route is initialized to "localhost:3000/" url
92
94
if (view === "HomeView") {
@@ -105,7 +107,7 @@ export default {
105
107
* @description: creates component code <template>, <script>, <style>
106
108
* invokes writeTemplate, writeScript, writeStyle
107
109
*/
108
- createComponentCode(componentLocation, componentName, children, routes) {
110
+ createComponentCode(componentLocation, componentName, children, routes):void {
109
111
if (componentName === "App") {
110
112
fs.writeFileSync(
111
113
componentLocation + ".vue",
@@ -123,14 +125,14 @@ export default {
123
125
}
124
126
},
125
127
// creates assets folder
126
- createAssetFile(targetLocation, assetLocation) {
128
+ createAssetFile(targetLocation:string , assetLocation):void {
127
129
let saved = remote.nativeImage.createFromPath(assetLocation);
128
130
let urlData = saved.toPNG();
129
131
fs.writeFileSync(targetLocation + ".png", urlData);
130
132
},
131
- writeTemplateTag(componentName) {
132
- // create reference object
133
- const htmlElementMap = {
133
+ writeTemplateTag(componentName:string):string {
134
+ // create reference object - replace later
135
+ const htmlElementMap:types.HtmlElementMap = {
134
136
div: ["<div", "</div>"],
135
137
button: ["<button", "</button>"],
136
138
form: ["<form", "</form>"],
@@ -268,7 +270,7 @@ export default {
268
270
/**
269
271
* @description imports child components into <script>
270
272
*/
271
- writeScript(componentName, children) {
273
+ writeScript(componentName: string , children) {
272
274
// add import mapstate and mapactions if they exist
273
275
const currentComponent = this.componentMap[componentName];
274
276
const routes = Object.keys(this.routes);
@@ -399,7 +401,7 @@ export default {
399
401
*/
400
402
/* UPDATE THIS TO GRAB INFORMATION FROM this.componentMap NOT this.routes*/
401
403
/* this.componentMap does not have x-y positioning stored */
402
- writeStyle(componentName) {
404
+ writeStyle(componentName:string ) {
403
405
let htmlArray = this.componentMap[componentName].htmlList;
404
406
let styleString = "";
405
407
console.log(componentName);
@@ -510,7 +512,7 @@ export default {
510
512
}
511
513
},
512
514
createESLintRC(location) {
513
- let str;
515
+ let str:string ;
514
516
if (this.exportAsTypescript === "on") {
515
517
str += `require("@rushstack/eslint-patch/modern-module-resolution");\n\n`;
516
518
}
@@ -548,14 +550,14 @@ export default {
548
550
},
549
551
createTSDeclaration(location) {
550
552
if (this.exportAsTypescript === "on") {
551
- let str = `/// <reference types="vite/client" />`;
553
+ let str:string = `/// <reference types="vite/client" />`;
552
554
fs.writeFileSync(path.join(location, "env.d.ts"), str);
553
555
} else {
554
556
return;
555
557
}
556
558
},
557
559
createStore(location) {
558
- let str = `import { createStore } from 'vuex';\n`;
560
+ let str:string = `import { createStore } from 'vuex';\n`;
559
561
str += `\nconst store = createStore({`;
560
562
str += `\n\tstate () {`;
561
563
str += `\n\t\treturn {`;
@@ -600,7 +602,7 @@ export default {
600
602
},
601
603
// create package.json file
602
604
createPackage(location) {
603
- let str = `{`;
605
+ let str:string = `{`;
604
606
str += `\n\t"name": "My-OverVue-Project",`;
605
607
str += `\n\t"version": "0.0.0",`;
606
608
str += `\n\t"scripts": {`;
@@ -715,7 +717,7 @@ export default {
715
717
"containerH"
716
718
]),
717
719
},
718
- };
720
+ }) ;
719
721
</script>
720
722
721
723
<style scoped>
0 commit comments