Skip to content

Commit bcf2245

Browse files
committed
feat(vue): Implemented vte build for vue applications
1 parent 11aacd8 commit bcf2245

File tree

9 files changed

+41
-18
lines changed

9 files changed

+41
-18
lines changed

packages/devextreme-cli/src/applications/application.vue.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ const preparePackageJsonForTemplate = (appPath, appName) => {
1818
const dependencies = [
1919
{ name: 'sass', version: '^1.34.1' },
2020
{ name: 'vue-router', version: '^3.0.1' },
21-
{ name: 'devextreme-cli', version: latestVersions['devextreme-cli'], dev: true },
22-
{ name: 'sass-loader', version: '^10', dev: true }
21+
{ name: 'devextreme-cli', version: latestVersions['devextreme-cli'], dev: true }
2322
];
2423

2524
const nameDepends = dependencies.map(d => d.name);
@@ -38,8 +37,8 @@ const preparePackageJsonForTemplate = (appPath, appName) => {
3837
};
3938

4039
async function createVueApp(name, depsVersionTag) {
41-
const argList = ['-p', `@vue/cli@${depsVersionTag}`, 'vue', 'create', name, '--registry', 'https://registry.npmjs.org/', '-p "Default (Vue 3)"'];
42-
40+
const argList = ['create', `vue${depsVersionTag ? `@${depsVersionTag}` : ''}`, name, '--registry', 'https://registry.npmjs.org/', '--', '--default'];
41+
4342
return runCommand('npx', argList);
4443
}
4544

@@ -78,7 +77,7 @@ const create = async(appName, options) => {
7877
};
7978

8079
const modifyIndexHtml = (appPath, appName) => {
81-
const indexHtmlPath = path.join(appPath, 'public', 'index.html');
80+
const indexHtmlPath = path.join(appPath, 'index.html');
8281
let htmlContent = fs.readFileSync(indexHtmlPath).toString();
8382

8483
htmlContent = htmlContent.replace(/<title>(\w+\s*)+<\/title>/, `<title>${appName}<\/title>`);

packages/devextreme-cli/src/templates/vue-v3/application/src/App.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
</template>
1818

1919
<script>
20-
import AppFooter from "./components/app-footer";
20+
import AppFooter from "./components/app-footer.vue";
2121
import { sizes, subscribe, unsubscribe } from "./utils/media-query";
2222
import {
2323
getCurrentInstance,

packages/devextreme-cli/src/templates/vue-v3/application/src/components/header-toolbar.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ import auth from "../auth";
5252
import { useRouter, useRoute } from 'vue-router';
5353
import { ref } from 'vue';
5454
55-
import UserPanel from "./user-panel";
55+
import UserPanel from "./user-panel.vue";
5656
import ThemeSwitcher from './theme-switcher.vue';
5757
5858
export default {

packages/devextreme-cli/src/templates/vue-v3/application/src/layouts/side-nav-inner-toolbar.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ import DxDrawer from "devextreme-vue/drawer";
5757
import DxScrollView from "devextreme-vue/scroll-view";
5858
import DxToolbar, { DxItem } from "devextreme-vue/toolbar";
5959
60-
import HeaderToolbar from "../components/header-toolbar";
61-
import SideNavMenu from "../components/side-nav-menu";
60+
import HeaderToolbar from "../components/header-toolbar.vue";
61+
import SideNavMenu from "../components/side-nav-menu.vue";
6262
import menuItems from "../app-navigation";
6363
import { ref, watch, computed } from 'vue';
6464
import { useRoute } from 'vue-router';

packages/devextreme-cli/src/templates/vue-v3/application/src/layouts/side-nav-outer-toolbar.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,8 @@ import DxDrawer from "devextreme-vue/drawer";
3939
import DxScrollView from "devextreme-vue/scroll-view";
4040
4141
import menuItems from "../app-navigation";
42-
import HeaderToolbar from "../components/header-toolbar";
43-
import SideNavMenu from "../components/side-nav-menu";
42+
import HeaderToolbar from "../components/header-toolbar.vue";
43+
import SideNavMenu from "../components/side-nav-menu.vue";
4444
import { computed, ref, watch} from 'vue';
4545
import { useRoute } from 'vue-router';
4646

packages/devextreme-cli/src/templates/vue-v3/application/src/main.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createApp } from "vue";
22
import router from "./router";
33
import themes from "devextreme/ui/themes";
44

5-
import App from "./App";
5+
import App from "./App.vue";
66
import appInfo from "./app-info";
77

88
themes.initialized(() => {

packages/devextreme-cli/src/templates/vue-v3/application/src/router.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import auth from "./auth";
22
import { createRouter, createWebHashHistory } from "vue-router";
33

4-
<%=^empty%>import Home from "./views/home-page";
5-
import Profile from "./views/profile-page";
6-
import Tasks from "./views/tasks-page";
7-
<%=/empty%>import defaultLayout from "./layouts/<%=layout%>";
8-
import simpleLayout from "./layouts/single-card";
4+
<%=^empty%>import Home from "./views/home-page.vue";
5+
import Profile from "./views/profile-page.vue";
6+
import Tasks from "./views/tasks-page.vue";
7+
<%=/empty%>import defaultLayout from "./layouts/<%=layout%>.vue";
8+
import simpleLayout from "./layouts/single-card.vue";
99

1010
function loadView(view) {
1111
return () => import (/* webpackChunkName: "login" */ `./views/${view}.vue`)
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import { fileURLToPath, URL } from 'node:url'
2+
3+
import { defineConfig } from 'vite'
4+
import vue from '@vitejs/plugin-vue'
5+
import vueDevTools from 'vite-plugin-vue-devtools'
6+
7+
// https://vite.dev/config/
8+
export default defineConfig({
9+
plugins: [
10+
vue(),
11+
vueDevTools(),
12+
],
13+
resolve: {
14+
alias: {
15+
'@': fileURLToPath(new URL('./src', import.meta.url))
16+
},
17+
},
18+
css: {
19+
preprocessorOptions: {
20+
scss: {
21+
api: 'legacy'
22+
}
23+
}
24+
},
25+
})

packages/devextreme-cli/src/templates/vue-v3/application/vue.config.js

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)