const path = require('path') const createTestProject = require('@vue/cli-test-utils/createTestProject') const createOutside = require('@vue/cli-test-utils/createUpgradableProject') async function create(name, presets) { const project = await createTestProject( name, presets, path.join(process.cwd(), './tests/e2e/projects') ) // mocking... const pkg = JSON.parse(await project.read('package.json')) pkg.devDependencies['vue-cli-plugin-i18n'] = '../../../..' await project.write('package.json', JSON.stringify(pkg, null, 2)) const invoke = require('@vue/cli/lib/invoke') await invoke('i18n', {}, project.dir) return Promise.resolve(project) } async function createUpgradable(name, options) { const project = await createOutside( name, options, path.join(process.cwd(), './tests/e2e/projects') ) // mocking... const pkg = JSON.parse(await project.read('package.json')) pkg.devDependencies['vue-cli-plugin-i18n'] = '../../../..' await project.write('package.json', JSON.stringify(pkg, null, 2)) const invoke = require('@vue/cli/lib/invoke') await invoke('i18n', {}, project.dir) return Promise.resolve(project) } module.exports = { create, createUpgradable }