Skip to content

Latest commit

 

History

History
101 lines (77 loc) · 2.67 KB

README.md

File metadata and controls

101 lines (77 loc) · 2.67 KB

fund-kit-demo

This template should help get you started developing with Vue 3 in Vite.

Recommended IDE Setup

VSCode + Volar (and disable Vetur).

Type Support for .vue Imports in TS

TypeScript cannot handle type information for .vue imports by default, so we replace the tsc CLI with vue-tsc for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue types.

Customize configuration

See Vite Configuration Reference.

To customize the configuration, you can modify the Vite config file. Here's an example of how to inject specific globals and modules using the @rollup/plugin-inject plugin:

import { fileURLToPath, URL } from 'node:url'
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import nightwatchPlugin from 'vite-plugin-nightwatch'
import vueDevTools from 'vite-plugin-vue-devtools'
import inject from '@rollup/plugin-inject'

// https://vitejs.dev/config/
export default ({ mode }) => {
  return defineConfig({
    plugins: [
      vue(),
      vueJsx(),
      nightwatchPlugin({
        renderPage: './nightwatch/index.html'
      }),
      vueDevTools(),
      inject({
        process: 'process/browser',
        querystring: 'querystring-es3'
      })
    ],
    resolve: {
      alias: {
        '@': fileURLToPath(new URL('./src', import.meta.url)),
        process: 'process/browser',
        querystring: 'querystring-es3'
      }
    }
  })
}

This configuration includes the @rollup/plugin-inject to inject global variables or modules, which is particularly useful for ensuring compatibility with certain dependencies in the browser.

Project Setup

pnpm install

Compile and Hot-Reload for Development

pnpm dev

Type-Check, Compile and Minify for Production

pnpm build

Run End-to-End Tests with Nightwatch

# When using CI, the project must be built first.
pnpm build

# Runs the end-to-end tests
pnpm test:e2e
# Runs the tests only on Chrome
pnpm test:e2e --env chrome
# Runs the tests of a specific file
pnpm test:e2e tests/e2e/example.ts
# Runs the tests in debug mode
pnpm test:e2e --debug

Run Headed Component Tests with Nightwatch Component Testing

pnpm test:unit
pnpm test:unit -- --headless # for headless testing

Lint with ESLint

pnpm lint