Rollup-plugin-typescript2: рд░реЛрд▓рдЕрдк-рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЙрд╢ рдкреИрдХ рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 26 рджрд┐рд╕ре░ 2019  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ezolenko/rollup-plugin-typescript2

рд▓реЙрд╢ рдкреИрдХ рдХрд░рддреЗ рд╕рдордп рддреНрд░реБрдЯрд┐ рд╣реБрдИ

рддреНрд░реБрдЯрд┐ рд╣реИ:

[!] (rpt2 рдкреНрд▓рдЧрдЗрди) рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: this.emitFile рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ
рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐: this.emitFile рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИ
рдЙрддреНрд╕рд░реНрдЬрди рдШреЛрд╖рдгрд╛ рдкрд░ (рдбреА: \ рдХрд╛рдо \ рдЯреЛрдкреЛ \ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ \ рд░реЛрд▓рдЕрдк-рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 2 \ src \ index.ts: 363: 11)
lodash_3 рдкрд░ (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:373:5)
D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:4905:15 рдкрд░
baseForOwn рдкрд░ (D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:2990:24)
D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:4874:18 рдкрд░
рдкреНрд░рддреНрдпреЗрдХ рдХреЗ рд▓рд┐рдП (D:\work\topo\node_modules\rollup-plugin-typescript2\node_modules\lodash\lodash.js:9342:14)
Object._.each рдкрд░ (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:371:4)
Object.generateBundle рдкрд░ (D:\work\topo\node_modules\rollup-plugin-typescript2\src\index.ts:276:18)
D:\work\topo\node_modules\rollup\dist\rollup.js:16609:25 рдкрд░

рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдХреЛрдб ELIFECYCLE
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рддреНрд░реБрдЯрд┐ 1
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! @ рдлреАрдирд┐рдХреНрд╕/рдЯреЛрдкреЛ-рдЗрдВрдЬрди@0.1.0 рдмрд┐рд▓реНрдб: рдПрдЖрдИрдУ : rollup -c config/rollup.config.aio.js
рдПрдирдкреАрдПрдо рдИрдЖрд░рдЖрд░! рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ рд╕реНрдерд┐рддрд┐ 1

рдФрд░ рдХреЛрдИ node_modules\rollup-plugin-typescript2\src\index.ts рдлрд╝рд╛рдЗрд▓ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдирд╣реАрдВ рд╣реИред

рд╡рд╛рддрд╛рд╡рд░рдг

- рдЕрдкрдиреЗ рдкрд░рд┐рд╡реЗрд╢ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ рдпрджрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ -

рд╕рдВрд╕реНрдХрд░рдгреЛрдВ

  • рдЯрд╛рдЗрдкрдкреНрд░рддрд┐: 3.7.3
  • рд░реЛрд▓рдЕрдк: v1.27.14
  • рд░реЛрд▓рдЕрдк-рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ2: 0.25.3

рд░реЛрд▓рдЕрдк.config.js

// rollup.config.js
// umd
var nodeResolve = require('rollup-plugin-node-resolve');
var commonjs = require('rollup-plugin-commonjs');
var uglify = require('rollup-plugin-uglify');
var json = require('rollup-plugin-json');
var ignore = require('rollup-plugin-ignore');

var common = require('./rollup.js');

var prod = process.env.NODE_ENV === 'production';

module.exports = {
  input: 'src/index.ts',
  output: {
    file: prod ? 'dist/index.aio.min.js' : 'dist/index.aio.js',
    format: 'umd',
    name: common.name,
    banner: common.banner,
  },
  plugins: [
    ignore(['canvas']),
    nodeResolve({
      mainFields: ['module', 'main'],
      extensions: ['.ts', '.js']
    }),
    commonjs({
      include: 'node_modules/**',
    }),
    json({
      include: [
        'node_modules/**/*.json'
      ]
    }),
    common.getCompiler(),
    (prod && uglify())
  ]
};

рд░реЛрд▓рдЕрдк.рдЬреЗрдПрд╕

var typescript = require('rollup-plugin-typescript2');

var pkg = require('../package.json');

function getCompiler(opt) {
  opt = opt || {
    tsconfigOverride: { compilerOptions : { module: 'ES2015' } }
  }

  return typescript(opt);
}

exports.name = 'topo';
exports.getCompiler = getCompiler;

tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    "module": "CommonJS",
    "declaration": true,
    "newLine": "LF",
    "esModuleInterop": true
  },
  "include": [
    "src/**/*.ts",
    "test/**/*.ts"
  ]
}

рдкреИрдХреЗрдЬ.рдЬреЗрд╕рди

{
  "name": "topo",
  "version": "0.1.0",
  "description": "",
  "main": "dist/index.js",
  "jsnext:main": "dist/index.esm.js",
  "module": "dist/index.esm.js",
  "sideEffects": false,
  "scripts": {
    "clean": "rimraf ./dist",
    "testinbrowser": "rollup -c config/rollup.config.testinbrowser.js",
    "test": "npm run lint && npx jest",
    "release": "npm test && npm run build && git commit -am $npm_package_version && git tag $npm_package_version && git push && git push --tags",
    "lint": "eslint -c .eslintrc.js src/**/*.ts",
    "lint:fix": "eslint -c .eslintrc.js src/**/*.ts --fix",
    "build:self": "rollup -c config/rollup.config.js",
    "build:esm": "rollup -c config/rollup.config.esm.js",
    "build:aio": "rollup -c config/rollup.config.aio.js",
    "build:aio.min": "cross-env NODE_ENV=production npm run build:aio",
    "build": "npm run clean && npm run build:self && npm run build:aio && npm run build:aio.min && npm run doc",
    "coveralls": "nyc report --reporter=text-lcov | coveralls",
    "doc": "./node_modules/.bin/typedoc --options typedoc.json ./src/index.ts"
  },
  "author": "wangpeng16",
  "license": "MIT",
  "files": [
    "/dist",
    "/dist/src/*.d.ts"
  ],
  "engines": {
    "node": ">= 0.12.0"
  },
  "devDependencies": {
    "@js-lib/cli": "^1.5.1",
    "@microsoft/tsdoc": "^0.12.16",
    "@types/jest": "^24.0.24",
    "@types/node": "^12.12.9",
    "@typescript-eslint/eslint-plugin": "^1.4.2",
    "@typescript-eslint/parser": "^1.4.2",
    "@vue/test-utils": "^1.0.0-beta.30",
    "babel-core": "^7.0.0-bridge.0",
    "babel-jest": "^24.9.0",
    "babel-plugin-external-helpers": "^6.22.0",
    "babel-plugin-istanbul": "5.1.0",
    "coveralls": "3.0.2",
    "es5-shim": "4.5.10",
    "eslint": "^5.15.1",
    "jest": "^24.9.0",
    "rimraf": "2.6.2",
    "rollup": "1.1.0",
    "rollup-plugin-buble": "0.19.6",
    "rollup-plugin-commonjs": "^9.2.0",
    "rollup-plugin-filesize": "6.0.0",
    "rollup-plugin-ignore": "^1.0.5",
    "rollup-plugin-json": "^4.0.0",
    "rollup-plugin-livereload": "^1.0.4",
    "rollup-plugin-node-builtins": "^2.1.2",
    "rollup-plugin-node-resolve": "4.0.0",
    "rollup-plugin-serve": "^1.0.1",
    "rollup-plugin-strict-alias": "^1.0.0",
    "rollup-plugin-terser": "^4.0.2",
    "rollup-plugin-typescript2": "^0.25.3",
    "rollup-plugin-uglify": "^6.0.4",
    "rollup-plugin-vue": "4.4.0",
    "source-map-support": "0.5.9",
    "ts-jest": "^24.2.0",
    "ts-node": "7.0.1",
    "tslib": "1.9.3",
    "typedoc": "^0.15.4",
    "typedoc-plugin-markdown": "^2.2.14",
    "typescript": "^3.7.3",
    "vue": "^2.5.22",
    "vue-jest": "^3.0.5",
    "vue-template-compiler": "^2.5.22"
  },
  "dependencies": {
    "@types/fabric": "^3.5.1",
    "@types/html2canvas": "0.0.35",
    "@types/lodash": "^4.14.149",
    "fabric": "^3.5.1",
    "html2canvas": "^1.0.0-rc.5",
    "lodash": "^4.17.15"
  }
}

рдореЗрд░реЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдХреЛрдб lodash

import chunk from 'lodash/chunk';
import clone from 'lodash/clone';
import flatten from 'lodash/flatten';

рдмрд╣реБрдд - рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж!

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдкреИрдХреЗрдЬ json рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдкрдХрд╛ рд░реЛрд▓рдЕрдк рд╕рдВрд╕реНрдХрд░рдг 1.1.0 ред rpt2 рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдиреНрдпреВрдирддрдо 1.26.3 ред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп @ рд░реЛрд▓рдЕрдк/рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп @ рд░реЛрд▓рдЕрдк/рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдкреИрдХреЗрдЬ json рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЖрдкрдХрд╛ рд░реЛрд▓рдЕрдк рд╕рдВрд╕реНрдХрд░рдг 1.1.0 ред rpt2 рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдиреНрдпреВрдирддрдо 1.26.3 ред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

yangwao picture yangwao  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vwxyutarooo picture vwxyutarooo  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jansiegel picture jansiegel  ┬╖  9рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

JWMB picture JWMB  ┬╖  8рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alireza-salemian picture alireza-salemian  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ