import { getParameters } from 'codesandbox/lib/api/define' const indexHtml = ` Naive UI Demo
` const appVue = ` ` const mainJs = `import { createApp } from "vue"; import naive from "naive-ui"; import App from "./App.vue"; const app = createApp(App); app.use(naive); app.mount("#app"); ` function getDeps (code) { return (code.match(/from '([^']+)'\n/g) || []) .map((v) => v.slice(6, v.length - 2)) .reduce((prevV, dep) => { prevV[dep] = 'latest' return prevV }, {}) } export function getCodeSandboxParams (code) { return getParameters({ files: { 'package.json': { content: { dependencies: { ...getDeps(code), vue: 'next', 'vue-router': 'next', 'naive-ui': 'latest' }, devDependencies: { '@vue/cli-plugin-babel': '~4.5.0' } } }, 'index.html': { content: indexHtml }, 'src/Demo.vue': { content: code }, 'src/App.vue': { content: appVue }, 'src/main.js': { content: mainJs } } }) }