UNPKG

@tarojs/cli

Version:
78 lines (71 loc) 2.44 kB
const path = require('path') function createWhenTs (err, params) { return !!params.typescript } function normalizePath (path) { return path.replace(/\\/g, '/').replace(/\/{2,}/g, '/') } const SOURCE_ENTRY = '/src' const PAGES_ENTRY = '/src/pages' const handler = { '/tsconfig.json': createWhenTs, '/types/global.d.ts': createWhenTs, '/types/vue.d.ts' (err, { framework, typescript }) { return ['Vue3'].includes(framework) && !!typescript }, '/types/solid.d.ts' (err, { framework, typescript }) { return ['Solid'].includes(framework) && !!typescript }, '/src/pages/index/index.jsx' (err, { pageDir = '', pageName = '', subPkg = '' }) { return { setPageName: normalizePath(path.join(PAGES_ENTRY, pageDir, pageName, 'index.jsx')), setSubPkgName: normalizePath(path.join(SOURCE_ENTRY, subPkg, pageDir, pageName, 'index.jsx')) } }, '/src/pages/index/index.css' (err, { pageDir = '', pageName = '', subPkg = '' }) { return { setPageName: normalizePath(path.join(PAGES_ENTRY, pageDir, pageName, 'index.css')), setSubPkgName: normalizePath(path.join(SOURCE_ENTRY, subPkg, pageDir, pageName, 'index.css')) } }, '/src/pages/index/index.vue' (err, { pageDir = '', pageName = '', subPkg = '' }) { return { setPageName: normalizePath(path.join(PAGES_ENTRY, pageDir, pageName, 'index.vue')), setSubPkgName: normalizePath(path.join(SOURCE_ENTRY, subPkg, pageDir, pageName, 'index.vue')) } }, '/src/pages/index/index.config.js' (err, { pageDir = '', pageName = '', subPkg = '' }) { return { setPageName: normalizePath(path.join(PAGES_ENTRY, pageDir, pageName, 'index.config.js')), setSubPkgName: normalizePath(path.join(SOURCE_ENTRY, subPkg, pageDir, pageName, 'index.config.js')) } }, '/_editorconfig' () { return { setPageName: `/.editorconfig` } }, '/_env.development' () { return { setPageName: `/.env.development` } }, '/_env.production' () { return { setPageName: `/.env.production` } }, '/_env.test' () { return { setPageName: `/.env.test` } }, '/_eslintrc' () { return { setPageName: `/.eslintrc` } }, '/_gitignore' () { return { setPageName: `/.gitignore` } } } const basePageFiles = [ '/src/pages/index/index.jsx', '/src/pages/index/index.vue', '/src/pages/index/index.css', '/src/pages/index/index.config.js' ] module.exports = { handler, basePageFiles }