Rollup-plugin-typescript2: рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрд╕рд┐рдВрдХреНрд╕/рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 14 рдЕрдЧре░ 2018  ┬╖  15рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: ezolenko/rollup-plugin-typescript2

рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреНрдпреЛрдВ рдЧрд▓рдд рд╣реИ

рдпрд╣ рдкреНрд▓рдЧрдЗрди рдЙрд╕ рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рд╕рдорд╕реНрдпрд╛ рдФрд░ tscache.ts рдХреЗ рдХрд╛рд░рдг async/рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реЛрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдм рдПрд╕рд┐рдВрдХрдлрдВрдХреНрд╢рди рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рддреЛ рдХреНрдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдХреЗ рдмрд┐рдирд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИ?

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

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

  • рдЯрд╛рдЗрдкрдкреНрд░рддрд┐: 2.8.3
  • рд░реЛрд▓рдЕрдк: 2.1.1
  • рд░реЛрд▓рдЕрдк-рдкреНрд▓рдЧрдЗрди-рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ2: 0.14.0

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

import svgr from '@svgr/rollup';
import typescript from 'rollup-plugin-typescript2';

export default {
  ...
  plugins: [
    replace({ 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV) }),
    svgr(),
    typescript({
      useTsconfigDeclarationDir: true,
    })
  ],
  ...
};

tsconfig.json

рдХреЛрдИ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВред

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

рдХреЛрдИ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВред

рд╡рд░реНрдмреЛрд╕рд┐рдЯреА рдХреЗ рд╕рд╛рде рдкреНрд▓рдЧрдЗрди рдЖрдЙрдЯрдкреБрдЯ 3

[!] (rpt2 plugin) Error: Unknown object type "asyncfunction"
src/components/atoms/Icon/index.ts
Error: Unknown object type "asyncfunction"
    at Object._object (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:218:17)
    at Object._function (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:319:14)
    at Object.dispatch (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:185:30)
    at /Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:246:18
    at Array.forEach (<anonymous>)
    at Object._object (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:242:21)
    at Object.dispatch (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:185:30)
    at /Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:260:23
    at Array.forEach (<anonymous>)
    at Object._array (/Users/vwxyutarooo/Projects/kouzoh/mercari-web-jp-component/node_modules/rollup-plugin-typescript2/node_modules/object-hash/index.js:259:20)

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

рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рд┐рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрдм рддрдХ рдмреЗрд╣рдж рдЖрдо рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рд╕реЗ рдХреИрд╢ рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЬреЛ рдкреАрдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╣ рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдерд╛, рдФрд░ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдореБрдЭреЗ рдкреВрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреАрдЖрд░ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рдорд╛рди рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рджреЛрдиреЛрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреАрдЖрд░ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрд╣рд╛рдВ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХреЗ рдмрдЬрд╛рдпред

@vwxyutarooo , рдХреИрд╢ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ clean: true рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рддрддреНрдХрд╛рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ (рдкреНрд▓рдЧ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ) рдореИрдВрдиреЗ https://github.com/wessberg/rollup-plugin-ts рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рднреА рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛

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

рдореИрдВрдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХреБрдЫ рднреА рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдЬреЛрдбрд╝рд╛ (рдСрдмреНрдЬреЗрдХреНрдЯрд╢ рд╢рд╛рдЦрд╛ рджреЗрдЦреЗрдВ, objectHashIgnoreUnknownHack рд╡рд┐рдХрд▓реНрдк)ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдХреИрд╢ рдХреЛ рдмрд╛рд╕реА рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИред

@ рд╡реЗрд╕рдмрд░реНрдЧ

рдореБрдЭреЗ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рдЕрдм рддрдХ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдПрд╕рд┐рдВрдХ рдлрд╝рдВрдХреНрд╢рди рдЕрдм рддрдХ рдмреЗрд╣рдж рдЖрдо рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреЗрд╡рд▓ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рд╕реЗ рдХреИрд╢ рдХреЗ рдореБрджреНрджреЛрдВ рдХрд╛ рдПрдХ рдмрдбрд╝рд╛ рд╕реМрджрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдореИрдВрдиреЗ рдЬреЛ рдкреАрдЖрд░ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдХреЛ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдерд╛, рд╡рд╣ рдЗрд╕реА рдореБрджреНрджреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдерд╛, рдФрд░ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред рдореБрдЭреЗ рдкреВрд░рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреАрдЖрд░ рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╕рдорд╛рди рдорд╛рди рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдФрд░ рджреЛрдиреЛрдВ рдпреВрдирд┐рдЯ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреАрдЖрд░ рдкрд░ рдирд┐рд░реНрднрд░ рд░рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВ рдпрд╣рд╛рдВ рдПрдирдкреАрдПрдо рдкреИрдХреЗрдЬ рдХреЗ рдмрдЬрд╛рдпред

@vwxyutarooo , рдХреИрд╢ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ clean: true рд╕реЗрдЯ рдХрд░рдирд╛ рдПрдХ рддрддреНрдХрд╛рд▓ рд╕рдорд╛рдзрд╛рди рд╣реИред рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ (рдкреНрд▓рдЧ рдХреЗ рд▓рд┐рдП рдЦреЗрдж рд╣реИ) рдореИрдВрдиреЗ https://github.com/wessberg/rollup-plugin-ts рдмрдирд╛рдпрд╛ рд╣реИ рдЬреЛ рднреА рдареАрдХ рдХрд╛рдо рдХрд░реЗрдЧрд╛

@wessberg рд╣рд╛рдБ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрднреА рддрдХ рдХрдИ рд░реЛрд▓рдЕрдк рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ async рдирд╣реАрдВ рд╣реИред

рдХреНрдпрд╛ рдЖрдк рд╡рд╕реНрддреБрдУрдВ рдХреЛ рд╣реИрд╢ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рдЬрд╛рдирддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕рднреА рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рд╕реНрд░реЛрдд рдпреБрдХреНрдд) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХреИрд╢ рдХреБрдВрдЬреА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдкрд╛рд░рд┐рдд рд╣реЛ рдЬрд╛рддреА рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП - рд╕рдорд╕реНрдпрд╛ рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдПрд╕рд┐рдВрдХ рд╕рд╛рдорд╛рди рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИред рдХреЛрдб рдореЗрдВ Async рдХреЛ рдЯреНрд░рд╛рдВрд╕рдкрд╛рдЗрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдХреЛ рд╕реНрд░реЛрдд рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣реИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╣рдореНрдо, рдареАрдХ рд╣реИ, рдЖрдк рдЬреЗрдПрд╕рдУрдПрди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП sha1 рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рдХрд╕реНрдЯрдо рдкреНрд░рддрд┐рдХреГрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд░рдирд╛ рдЬреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рдЙрдирдХреА name рд╕рдВрдкрддреНрддрд┐ рдореЗрдВ рдореИрдк рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди:

{
  // ...
  treeshake: true,
  plugins: [
    myPlugin1(),
    myPlugin2()
  ],
  // ...
}

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд JSON рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

{
  "treeshake": true,
  "plugins": [
    "name-of-my-plugin-1",
    "name-of-my-plugin-2"
  ]
}

рдФрд░ рдлрд┐рд░ рдЖрдк sha1 рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмреЗрд╕ 64 рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдЙрдЯ рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЖрдк рдХреИрд╢ рдХреБрдВрдЬреА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдореИрдВ рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╡рд╣ рдХреИрд╢ рдХреЗ рд▓рд┐рдП рдФрд░ рднреА рдЪреАрдЬреЛрдВ рдХреЛ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рдПрдЧрд╛? рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ object-hash рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ JSON.stringify рдХреБрдЫ рднреА рдлреЗрдВрдХ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕рд╛рджрд╛ рдореВрд▓реНрдп рд╕рдВрдкрддреНрддрд┐, рд╕рд░рдгреА рдпрд╛ рд╢рдмреНрджрдХреЛрд╢ рдирд╣реАрдВ рд╣реИ - рдЬреЗрд╕рди рд╕реНрдкреЗрдХ рдореЗрдВ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рдЦреЛрдЬрдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХрд╛ рдерд╛, рддреЛ рдореИрдВ package-lock,json рдФрд░ рдпрд╛рд░реНрди рд╕рдордХрдХреНрд╖ рдХрд╛ рд╣реИрд╢ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред ( objectHashIgnoreUnknownHack рд╡рд┐рдХрд▓реНрдк рдХреЗ рдкреНрд░рднрд╛рд╡ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)

рдзрдиреНрдпрд╡рд╛рдж рджреЛрд╕реНрддреЛрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ clean: true рд╡рд┐рдХрд▓реНрдк рдЦреБрд░рд╛рдХ рдХреИрд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдереЛрдбрд╝реА рджреЗрд░ рднреА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, ignoreUnknown рд╕рдВрднрд╡рддрдГ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ @ezolenko рдХрд╣рддреЗ рд╣реИрдВред рдореИрдВ рд╡реИрд╕реЗ рднреА 0.16.2 рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░реВрдБрдЧрд╛!

@vwxyutarooo , рдореИрдВ рдЗрд╕ рдзрд╛рд░рдгрд╛ рдХреЗ рддрд╣рдд рдерд╛ рдХрд┐ clean: true рдПрдХ рдиреЛрдк рдХреИрд╢ рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣реА рдпрд╛рдж рд╣реИ рдХрд┐ @ezolenko рдиреЗ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдерд╛ред рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА рд░реЛрд▓рдЕрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗ рдХреИрд╢ рдХреБрдВрдЬреА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдкрд░рд┐рдгрд╛рдо рдХреЛ рдХреИрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ objectHashIgnoreUnknownHack objecthash рд╢рд╛рдЦрд╛ рдкрд░

рдореИрдВрдиреЗ рдХреИрд╢ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛ рдлрд┐рд░ рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛, рдЗрд╕рд▓рд┐рдП clean: true рдСрдмреНрдЬреЗрдХреНрдЯ-рд╣реИрд╢ рдХреЛ рднреА рдирд╣реАрдВ рдмреБрд▓рд╛рдПрдЧрд╛ рдФрд░ рд╕рдм рдХреБрдЫ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд▓рдп рдХрд░ рджреЗрдЧрд╛ред рдореИрдВ рдХреБрдЫ рджрд┐рдиреЛрдВ рдореЗрдВ рд░рд┐рд▓реАрдЬ рдХрд░реВрдВрдЧрд╛

рдЕрдм 0.17.0 рдореЗрдВ

objectHashIgnoreUnknownHack рд╣реИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдЕрдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдореИрдВ rollup-plugin-require-context рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧ рдЧрдпрд╛, рдФрд░ рдирд┐рдореНрди рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛рдо рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ:

import requireContextORIGINAL from 'rollup-plugin-require-context'

const requireContext = (options) => {
  const plugin = requireContextORIGINAL(options)
  return {
    name: plugin.name,
    transform(code, id) {
      return plugin.transform(code, id)
    }
  }
}

рдЕрд░реНрдерд╛рддреН, transform рдПрдХ рд╡рд╛рджрд╛ рд▓реМрдЯрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХрд╛рд░реНрдп рдмрдирд╛рдирд╛ред

рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ рдореИрдВ рдпрд╣рд╛рдВ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкрдбреЗрдЯ рдЬреЛрдбрд╝реВрдВрдЧрд╛ рдХрд┐ рдпрд╣рд╛рдВ рдореВрд▓ рдХрд╛рд░рдг рдЕрдВрддрддрдГ https://github.com/puleos/object-hash/pull/90 ( objectHashIgnoreUnknownHack рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдХреЛрдИ рдФрд░ рдХреИрд╢ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ - рдмрд╕ v0.26.0 рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

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

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

birtles picture birtles  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

PavaniVaka picture PavaniVaka  ┬╖  12рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

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

freeman picture freeman  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

stakx picture stakx  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ