rollup-plugin-vueλ₯Ό v4λ‘ μ κ·Έλ μ΄λνκΈ° μ μ https://github.com/alexsasharegan/vue-transmitμ λͺ¨λ κ²μ΄ μ μμ μΌλ‘ ꡬμΆλμμ΅λλ€. v4λ‘ μ κ·Έλ μ΄λνλ©΄ rpt2μμ μ€λ₯κ° μμ±λ©λλ€.
λ¨μ μΆλ ₯
#########################################
# run the build with rollup-plugin-vue<strong i="12">@v3</strong>
#########################################
β vue-transmit git:(master) β npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts β ./dist/vue-transmit.js...
created ./dist/vue-transmit.js in 2.4s
index.umd.ts β ./dist/vue-transmit.min.js...
created ./dist/vue-transmit.min.js in 2s
/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts β ./dist/vue-transmit.esm.js...
created ./dist/vue-transmit.esm.js in 1.3s
/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts β ./dist/vue-transmit.esm.min.js...
created ./dist/vue-transmit.esm.min.js in 1.4s
#########################################
# update rollup-plugin-vue
#########################################
β vue-transmit git:(master) npm i -D rollup-plugin-vue<strong i="13">@latest</strong>
+ [email protected]
added 3 packages from 3 contributors, removed 161 packages, updated 1 package and moved 7 packages in 11.165s
#########################################
# re-run the build
#########################################
β vue-transmit git:(master) β npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts β ./dist/vue-transmit.js...
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
src/components/VueTransmit.vue?{"type":"script"}#.ts
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-05T22_34_16_368Z-debug.log
β vue-transmit git:(master) β
2.8.3
0.58.2
0.13.0
: λ‘€μ
.config.js
const path = require("path");
const ts = require("rollup-plugin-typescript2");
const vue = require("rollup-plugin-vue");
const uglify = require("rollup-plugin-uglify");
const isProduction = process.env.NODE_ENV === `production`;
const kebab_name = "vue-transmit";
const pascal_name = "VueTransmit";
const tsOptions = { verbosity: 3 };
const vueOptions = { css: path.join(__dirname, `dist/${kebab_name}.css`) };
module.exports = [
{
input: "index.umd.ts",
output: {
format: "umd",
name: pascal_name,
file: `./dist/${kebab_name}.js`,
sourcemap: true,
globals: {
vue: "Vue",
firebase: "firebase",
},
},
},
{
input: path.resolve(__dirname, "index.ts"),
output: {
format: "es",
file: `./dist/${kebab_name}.esm.js`,
sourcemap: true,
},
},
].reduce((configs, { input, output }) => {
configs.push({
external: ["vue", "firebase"],
input,
output: { ...output },
plugins: [ts(), vue(vueOptions)],
});
configs.push({
external: ["vue", "firebase"],
input,
output: {
...output,
file: replaceExtension(output.file, ".min.js"),
},
plugins: [ts(), vue(vueOptions), uglify()],
});
return configs;
}, []);
function replaceExtension(name, replacement) {
return name.slice(0, name.lastIndexOf(".")) + replacement;
}
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"outDir": "dist",
"declarationDir": "dist",
"allowSyntheticDefaultImports": true,
"lib": ["dom", "esnext"],
"target": "es5",
"module": "es2015",
"moduleResolution": "node",
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true
},
"include": ["src", "./index.ts", "./index.umd.ts"],
"exclude": ["node_modules", "vendor", "dist"]
}
ν¨ν€μ§.json
{
"name": "vue-transmit",
"version": "9.0.0-alpha.11",
"description": "Vue.js drag & drop uploader based on Dropzone.js",
"module": "dist/vue-transmit.esm.js",
"main": "dist/vue-transmit.js",
"types": "dist/index.d.ts",
"keywords": [
"dragndrop",
"drag and drop",
"file upload",
"upload"
],
"directories": {
"test": "test"
},
"files": [
"dist"
],
"scripts": {
"clean": "scripts/clean.js",
"predev": "npm run clean",
"dev": "cross-env NODE_ENV=development rollup -c ./rollup.config.js",
"prebuild": "npm run clean",
"build": "cross-env NODE_ENV=production rollup -c ./rollup.config.js",
"prepublishOnly": "npm run build",
"test:site": "php -S localhost:3030 -t ./test/",
"test:jest": "jest --coverage",
"test": "npm run test:jest",
"precommit": "pretty-quick --staged",
"size:min": "cat dist/vue-transmit.esm.js | wc -c",
"size:gzip": "gzip -c dist/vue-transmit.esm.js | wc -c",
"release:alpha": "standard-version --prerelease alpha",
"postrelease:alpha": "git push --follow-tags origin master && npm publish --tag prerelease",
"release:beta": "standard-version --prerelease beta",
"postrelease:beta": "git push --follow-tags origin master && npm publish --tag prerelease",
"release": "standard-version",
"postrelease": "git push --follow-tags origin master && npm publish"
},
"jest": {
"moduleFileExtensions": [
"ts",
"tsx",
"js"
],
"transform": {
"\\.(ts|tsx)$": "<rootDir>/node_modules/ts-jest/preprocessor.js"
},
"testMatch": [
"**/__tests__/*.(ts|js)",
"**/?(*.)(spec|test).(js|ts)"
],
"coverageDirectory": "coverage",
"collectCoverage": true,
"mapCoverage": true
},
"peerDependencies": {
"vue": "^2.5.0"
},
"dependencies": {},
"devDependencies": {
"@types/jest": "^22.2.3",
"cross-env": "^5.1.4",
"firebase": "^4.13.1",
"husky": "^0.14.3",
"jest": "^22.4.3",
"lodash": "^4.17.10",
"postcss": "^6.0.22",
"prettier": "^1.12.1",
"pretty-quick": "^1.4.1",
"rimraf": "^2.6.2",
"rollup": "^0.58.2",
"rollup-plugin-postcss": "^1.6.1",
"rollup-plugin-typescript2": "^0.13.0",
"rollup-plugin-uglify": "^3.0.0",
"rollup-plugin-vue": "^4.0.1",
"standard-version": "^4.3.0",
"ts-jest": "^22.4.5",
"typescript": "^2.8.3",
"uglify-js": "^3.3.23",
"vue": "^2.5.16",
"vue-template-compiler": "^2.5.16"
},
"repository": {
"type": "git",
"url": "git+https://github.com/alexsasharegan/vue-transmit.git"
},
"author": "Alex Regan <[email protected]> (https://github.com/alexsasharegan)",
"license": "MIT",
"bugs": {
"url": "https://github.com/alexsasharegan/vue-dropzone/issues"
},
"homepage": "https://github.com/alexsasharegan/vue-dropzone#readme"
}
μ°μΆ
β vue-transmit git:(master) β npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
index.umd.ts β ./dist/vue-transmit.js...
rpt2: typescript version: 2.8.3
rpt2: rollup-plugin-typescript2 version: 0.13.0
rpt2: plugin options:
{
"verbosity": 3,
"clean": true,
"check": true,
"cacheRoot": "/Users/alex/github.com/alexsasharegan/vue-transmit/.rpt2_cache",
"include": [
"*.ts+(|x)",
"**/*.ts+(|x)"
],
"exclude": [
"*.d.ts",
"**/*.d.ts"
],
"abortOnError": true,
"rollupCommonJSResolveHack": false,
"typescript": "version 2.8.3",
"useTsconfigDeclarationDir": false,
"tsconfigOverride": {},
"tsconfigDefaults": {}
}
rpt2: rollup config:
{
"external": [
"vue",
"firebase",
"",
""
],
"input": "index.umd.ts",
"chunkGroupingSize": 5000,
"perf": false,
"plugins": [
{
"name": "rpt2"
},
{
"name": "vue.delegate"
}
],
"entry": "index.umd.ts"
}
rpt2: built-in options overrides: {
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"outDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"moduleResolution": 2,
"declarationDir": "/Users/alex/github.com/alexsasharegan/vue-transmit"
}
rpt2: parsed tsconfig: {
"options": {
"module": 5,
"outDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"declarationDir": "/Users/alex/github.com/alexsasharegan/vue-transmit",
"allowSyntheticDefaultImports": true,
"lib": [
"lib.dom.d.ts",
"lib.esnext.d.ts"
],
"target": 1,
"moduleResolution": 2,
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true,
"noEmitHelpers": false,
"importHelpers": true,
"noResolve": false,
"noEmit": false,
"configFilePath": "/Users/alex/github.com/alexsasharegan/vue-transmit/tsconfig.json"
},
"fileNames": [
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/global.d.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/classes/VTransmitFile.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/classes/VTransmitUploadContext.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/interfaces.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts",
"/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts"
],
"typeAcquisition": {
"enable": false,
"include": [],
"exclude": []
},
"raw": {
"compilerOptions": {
"module": "es2015",
"outDir": "dist",
"declarationDir": "dist",
"allowSyntheticDefaultImports": true,
"lib": [
"dom",
"esnext"
],
"target": "es5",
"moduleResolution": "node",
"declaration": true,
"allowJs": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"noImplicitAny": true,
"strictNullChecks": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"removeComments": false,
"preserveConstEnums": false,
"sourceMap": true,
"skipLibCheck": true,
"strict": true
},
"compileOnSave": false,
"include": [
"src",
"./index.ts",
"./index.umd.ts"
],
"exclude": [
"node_modules",
"vendor",
"dist"
]
},
"errors": [],
"wildcardDirectories": {},
"compileOnSave": false,
"configFileSpecs": {
"includeSpecs": [
"src",
"./index.ts",
"./index.umd.ts"
],
"excludeSpecs": [
"node_modules",
"vendor",
"dist"
],
"validatedIncludeSpecs": [
"src",
"./index.ts",
"./index.umd.ts"
],
"validatedExcludeSpecs": [
"node_modules",
"vendor",
"dist"
],
"wildcardDirectories": {}
}
}
rpt2: included:
'[
"*.ts+(|x)",
"**/*.ts+(|x)"
]'
rpt2: excluded:
'[
"*.d.ts",
"**/*.d.ts"
]'
rpt2: Ambient types:
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/src/global.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/estree/index.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/jest/index.d.ts
rpt2: /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/@types/node/index.d.ts
rpt2: ambient types changed, redoing all semantic diagnostics
rpt2: cleaning cache: /Users/alex/github.com/alexsasharegan/vue-transmit/.rpt2_cache/2e114634f27dc3edb218e480a57846efae52f054
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: cache: '49761a9d3cb78f1200fa5ea2cf4554c239130b2b'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.umd.ts'
rpt2: resolving './index'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: cache: 'cfdd26383d14689fe5e8078105fc3da90ae47d57'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/index'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/upload-adapters/xhr'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/upload-adapters/firebase'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/index.ts'
rpt2: resolving './src/core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: cache: '07a85db626deafe67a055f45cf879446275068d6'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/index.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: cache: '069a4a7a8969f2603cf55cc36d41ce843fdd5290'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: cache: '46456584c1a94aea483510cb2cd922dc05102338'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: cache: '35939121a8c0293ccd932395131ec5df0105f22c'
rpt2: cache miss
rpt2: generated declarations for '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/xhr.ts'
rpt2: resolving '../core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: dependency '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: imported by '/Users/alex/github.com/alexsasharegan/vue-transmit/src/upload-adapters/firebase.ts'
rpt2: resolving '../core/utils'
rpt2: to '/Users/alex/github.com/alexsasharegan/vue-transmit/src/core/utils.ts'
rpt2: transpiling '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'
rpt2: cache: 'c3af5fe8e2fa9475cb81f40c13777e7d9cd67017'
rpt2: cache miss
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
src/components/VueTransmit.vue?{"type":"script"}#.ts
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue?{"type":"script"}#.ts'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-05T22_55_28_977Z-debug.log
λλ²κΉ λ§λ²μ μ¬μ©νλ €λ©΄ μ μ₯μλ₯Ό 볡μ νκ³ μ΅μ rollup-plugin-vueλ₯Ό μ€μΉν μ μμ΅λλ€.
git clone [email protected]:alexsasharegan/vue-transmit.git
cd vue-transmit
npm i
npm i -D rollup-plugin-vue@^4.0.1
npm run build
@alexsasharegan μ vue νλ¬κ·ΈμΈμ΄ ts νμΌμ μμ±ν΄μΌ νλ κ² vue(vueOptions)
μ μ ts()
λΉμ μ μ€μ μμ?
μ§κΈ λ°λ‘ [email protected]
μλνλλ° μ€λ₯κ° λ°μνμ΅λλ€. TS κ΅¬λ¬Έμ΄ λ€λ₯Έ νλ¬κ·ΈμΈμ μ§μμν€κ³ μλ€κ³ μκ°ν©λλ€. μΆλ ₯μ μ΄ν΄λ³΄μμμ€.
β vue-transmit git:(master) β npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
src/index.umd.ts β ./dist/vue-transmit.js...
[!] Error: Unexpected token
src/components/VueTransmit.vue.ts?rollup_plugin_vue=%7B%22type%22%3A%22script%22%2C%22lang%22%3A%22ts%22%7D (86:5)
84: import { DriverInterface, DriverConstructor } from "../core/interfaces";
85:
86: type FileSystemEntry = WebKitFileEntry | WebKitDirectoryEntry;
^
87:
88: export default Vue.extend({
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-07T16_54_41_779Z-debug.log
rpt2μ λν ν¬ν¨ νν°λ₯Ό include: ["*.ts+(|x)", "**/*.ts+(|x)", RegExp(".*\.ts\?.*")],
μ κ°μ΄ μμ ν΄ λ³΄μμμ€.
( ["*.ts+(|x)", "**/*.ts+(|x)"]
λ κΈ°λ³Έκ°μ
λλ€)
μ΄μ νμΌμ μ°Ύμ μ μμ΅λλ€.
β vue-transmit git:(master) β npm run build
> [email protected] prebuild /Users/alex/github.com/alexsasharegan/vue-transmit
> npm run clean
> [email protected] clean /Users/alex/github.com/alexsasharegan/vue-transmit
> scripts/clean.js
> [email protected] build /Users/alex/github.com/alexsasharegan/vue-transmit
> cross-env NODE_ENV=production rollup -c ./rollup.config.js
src/index.umd.ts β ./dist/vue-transmit.js...
[!] (rpt2 plugin) Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue'.
src/components/VueTransmit.vue
Error: Could not find file: '/Users/alex/github.com/alexsasharegan/vue-transmit/src/components/VueTransmit.vue'.
at getValidSourceFile (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103163:23)
at Object.getEmitOutput (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/typescript/lib/typescript.js:103506:30)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:192:16
at TsCache.getCompiled (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/tscache.ts:175:24)
at Object.transform (/Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup-plugin-typescript2/src/index.ts:190:20)
at /Users/alex/github.com/alexsasharegan/vue-transmit/node_modules/rollup/dist/rollup.js:17316:48
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `cross-env NODE_ENV=production rollup -c ./rollup.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/alex/.npm/_logs/2018-05-07T18_28_09_072Z-debug.log
μ°Έκ³ λ‘ νμΌμ λ€μκ³Ό κ°μ΅λλ€.
βββ classes
β βββ VTransmitFile.ts
β βββ VTransmitUploadContext.ts
βββ components
β βββ VueTransmit.vue
βββ core
β βββ interfaces.ts
β βββ utils.ts
βββ global.d.ts
βββ index.ts
βββ index.umd.ts
βββ upload-adapters
βββ firebase.ts
βββ index.ts
βββ xhr.ts
λ΄ νκ²½(win10, ν°λ―Έλ λλ git bash)μμ νλ‘μ νΈλ₯Ό λΉλν μ μμ΅λλ€.
$ NODE_ENV=production ./node_modules/.bin/rollup -c ./rollup.config.js
src/index.umd.ts β ./dist/vue-transmit.js...
[!] TypeError: Cannot read property 'script' of undefined
TypeError: Cannot read property 'script' of undefined
at resolveVuePart (E:\source\scr\vue-transmit\node_modules\rollup-plugin-vue\src\utils.js:68:16)
at resolveId (E:\source\scr\vue-transmit\node_modules\rollup-plugin-vue\src\index.js:45:25)
at E:\source\scr\vue-transmit\node_modules\rollup\dist\rollup.js:5977:113
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
at Function.Module.runMain (module.js:695:11)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3
κ·Έλ¦¬κ³ μ, "rollup-plugin-vue": "^3.0.0"
λ€μ μ ννλ©΄ μλν©λλ€.
rollup-plugin-vue
λ‘λ λ²κ·Έλ₯Ό μ΄ μ μμ΅λκΉ? v4μμ λ³κ²½ν μ¬νμ 무μμ΄λ μ€λ¨λ©λλ€.
μ€λμ΄λ λ΄μΌ μ΄ λ¬Έμ λ₯Ό μ°κ²°νλ €κ³ ν©λλ€.
μ‘°κΈ λ¦μμ§λ§ rollup-plugin-vue
λ¬Έμ λ₯Ό μ°κ²°νμ΅λλ€.
.vue
νμΌμλ <script lang="ts">...</script>
λΈλ‘μ΄ μμ μ μμ΅λλ€.
μ΄λ¬ν λΈλ‘μ κ°μ λͺ¨λλ‘ λ³νλ©λλ€. μλ₯Ό λ€μ΄ :μ νμ΄ν λΌμ΄ν° λΈλ‘ ./foo/bar.vue
μ μν΄ νν λ μ ./foo/bar.vue?rollup-plugin-vue=script.ts
.
κ³ μ μ₯μΉμ ν μ€νΈ μ¬λ‘(https://github.com/vuejs/rollup-plugin-vue/blob/master/test/fixtures/with-script-typescript.vue)λ https://github.com/rollup/μμ μ μλν©λλ€.
ν , μ, typescriptκ° μ΄λ€ μ΄μ λ‘ λμκ² μ€λ μ·μ μμ²νλ λμ ν΄λΉ νμΌμ μ§μ λ‘λνλ €κ³ νλ κ² κ°μ΅λλ€.
μ΄μ λν μ§μ μ΄ μμ΅λκΉ? https://github.com/vuejs/rollup-plugin-vue/issues/204 μ μλ μ¬λλ€μ λ¬Έμ κ° ν΄κ²°λμλμ§ κΆκΈν©λλ€. μ΄κ²μ κ·Έλ€ μͺ½μ λ¬Έμ μ λκΉ, μλλ©΄ TS νλ¬κ·ΈμΈμ λ¬Έμ μ λκΉ?
νλμ λͺ» λ΄μ μ£μ‘ν©λλ€ μ‘°λ§κ° λ€μ νμΈνκ² μ΅λλ€.
@alexsasharegan ok, μκ°λ³΄λ€ ν¨μ¬ κ°λ¨νμ΅λλ€. μΊμλ λͺ¨λμ μ λ°μ΄νΈλ λͺ©λ‘μ typescriptλ‘ λ°ννμ§ μμκΈ° λλ¬Έμ μ체μ μΌλ‘ λͺ¨λμ μ°ΎμΌλ €κ³ νμ΅λλ€. μ§κΈμ κ³ μ³μΌ νκ³ μ‘°κΈ μλ€κ° 곡κ°νλλ‘ νκ² μ΅λλ€.
μκ³ λͺ¨λμμ λ°μνμ§λ§ 무μμλ‘ λ°μν©λλ€.
κ°μ₯ μ μ©ν λκΈ
@alexsasharegan ok, μκ°λ³΄λ€ ν¨μ¬ κ°λ¨νμ΅λλ€. μΊμλ λͺ¨λμ μ λ°μ΄νΈλ λͺ©λ‘μ typescriptλ‘ λ°ννμ§ μμκΈ° λλ¬Έμ μ체μ μΌλ‘ λͺ¨λμ μ°ΎμΌλ €κ³ νμ΅λλ€. μ§κΈμ κ³ μ³μΌ νκ³ μ‘°κΈ μλ€κ° 곡κ°νλλ‘ νκ² μ΅λλ€.