Yarn: `рдпрд╛рд░реНрди рдЗрдВрд╕реНрдЯреЙрд▓ --рдкреНрд░реЛрдбрдХреНрд╢рди` рд╕рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 12 рдЕрдХреНрддреВре░ 2016  ┬╖  115рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: yarnpkg/yarn

рдЬрдм рдЪрд▓ yarn install --production рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ forever ред рдпрд╣ nodemon devDependencies рд╣реЛрдиреЗ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛:

> forever app.js
module.js:457
    throw err;
    ^
Error: Cannot find module 'minimatch'

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдпрд╛ рд╣реИ:
https://github.com/donovan-graham/yarn-example-app

#  Steps to reproduce error
git clone https://github.com/donovan-graham/yarn-example-app.git
cd yarn-example-app
yarn install --production
npm start

#  temporary step to bypass error
rm -rf node_modules
yarn remove nodemon
yarn install --production
npm start

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

рд╣реЗ рд╕рдм рд▓реЛрдЧ, рдЦреЗрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рд╣реИред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреБрдж рдХреЛ рд╕реМрдВрдкреВрдВрдЧрд╛ рдФрд░ рдЕрдм рдпрд╣ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рджреМрд░рд╛рди рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдкреГрдердХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЯреЗрд╕реНрдЯ рдпрд╛ рдлрд┐рдХреНрд╕ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ) рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рдкреАрдЖрд░рдПрд╕ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИред

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

@ рдбреИрдирд┐рдпрд▓ резрел рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╡рдЬрд╣ рдпрд╣ рд╣реИ рдХрд┐ рдиреНрдпреВрдбреЗрдореЛрди рдХрд╛ рдиреНрдпреВрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдирд╡реАрдирддрдо рд╣реИред

рд▓рд┐рдВрдХрд░ рдлрдВрдХреНрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдбрд┐рдкреНрд╕ рдФрд░ рджреЗрд╡ рдбрд┐рдкреНрд╕ рджреЛрдиреЛрдВ рдореЗрдВ рд▓реЗрддрд╛ рд╣реИред рддрд░реНрдХ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рд░реЛрдХрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рд╛рдорд╛рдиреНрдп рдпрд╛рд░реНрди рдкрд░ рднреА рдЙрддреНрдкрд╛рджрди рддрд░реНрдХ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрде рдореЗрдВ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рд╣реИред рдЗрд╕рдХреА рднреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реИред

рдЬрдм yarn install --production рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИ рдФрд░ рдлрд┐рд░ webpack ( yarn install рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

> NODE_ENV=production webpack -p --config webpack/production.config.js

module.js:457
    throw err;
    ^

Error: Cannot find module 'graceful-fs'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)

рдФрд░ рдЕрдЧрд░ рдореБрдЭреЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдпрд╛рдж рд╣реИ, рддреЛ рдкрд┐рдЫрд▓реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдиреЗ рдПрдХ рдФрд░ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рджрд┐рдЦрд╛рдИрдВ (рди рдХреЗрд╡рд▓ graceful-fs )

рдореИрдВ рдмрд╣реБрдд рд╕рдорд╛рди рд╣реЛ рд░рд╣рд╛ рд╣реВрдБ ... yarn install рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди --production рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓рддрд╛ рд╣реИ:

> yarn install --production

yarn install v0.15.1
error npm-shrinkwrap.json found. This will not be updated or respected. See [TODO] for more information.
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
warning [email protected]: The engine "rhino" appears to be invalid.
warning [email protected]: The engine "rhino" appears to be invalid.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
[1/1] таР node-sass:     at Module.require (module.js:367:17)
[-/1] таР waiting...
[-/1] таР waiting...
[-/1] таР waiting...
error C:\vagrant\ebroker-quoteengine\node_modules\node-sass: Command failed.
Exit code: 1
Command: C:\WINDOWS\system32\cmd.exe
Arguments: /d /s /c node scripts/install.js
Directory: C:\vagrant\ebroker-quoteengine\node_modules\node-sass
Output:
module.js:341
    throw err;
    ^

Error: Cannot find module 'tough-cookie'
    at Function.Module._resolveFilename (module.js:339:15)
    at Function.Module._load (module.js:290:25)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (C:\vagrant\ebroker-quoteengine\node_modules\node-sass\node_modules\request\lib\cookies.js:3:13)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at SpawnError (C:\Users\nathan.white\AppData\Roaming\npm\node_modules\yarnpkg\lib\errors.js:18:1)
    at ChildProcess.<anonymous> (C:\Users\nathan.white\AppData\Roaming\npm\node_modules\yarnpkg\lib\util\child.js:107:15)
    at emitTwo (events.js:100:13)
    at ChildProcess.emit (events.js:185:7)
    at maybeClose (internal/child_process.js:827:16)
    at Socket.<anonymous> (internal/child_process.js:319:11)
    at emitOne (events.js:90:13)
    at Socket.emit (events.js:182:7)
    at Pipe._onclose (net.js:471:12)

рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рди рдореБрджреНрджреЗ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

npm init --yes
yarn add --dev nodemon
yarn add gulp
rm -rf node_modules
yarn install --production

рдпрд╣ is-glob рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рдХреА рдирд┐рд░реНрднрд░рддрд╛ is-extglob :

> yarn why is-glob
yarn why v0.16.0
# ...
info Reasons this module exists
   - "nodemon#chokidar" depends on it
   - "gulp#liftoff#findup-sync" depends on it

> yarn why is-extglob
yarn why v0.16.0
#  ...
info This module exists because "nodemon#chokidar#is-glob" depends on it.

рд▓рдЧрддрд╛ рд╣реИ "рднреВрд▓" gulp#liftoff рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд╣реИ рдЬрдмрдХрд┐ ..?

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг:

npm init --yes
yarn add --dev [email protected]
yarn add [email protected]
rm -rf node_modules
yarn --prod
node -e "require('is-glob')"

рдпрд╣ рднреА рдкреБрд╖реНрдЯрд┐ рдХреА рд╣реИ рдХрд┐ devDependencies рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ yarn --prod рд╕рд╣реА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЯреНрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИред

рдореЗрд░реА рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдЯреАрдо рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рднрд╛рдЧ рдЧрдИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдкреИрдХреЗрдЬ prr рдЬреЛ less рдФрд░ pouchdb рджреЛрдиреЛрдВ рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдХрдИ рдЕрдиреНрдп рдкреИрдХреЗрдЬ рднреА --production рдмрд┐рд▓реНрдб рд╕реЗ рдЧрд╛рдпрдм рдереЗ рд▓реЗрдХрд┐рди prr рд╣рдорд╛рд░реЗ рдЙрддреНрдкрд╛рдж рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рдереЗред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдПрдХ рд╢реЛрд╕реНрдЯреЙрдкрд░ рд░рд╣реА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╣рдо рджреЗрд╡ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдорд╛рд░реЗ рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХрд╛ рдЖрдХрд╛рд░ рдХрд╛рдлреА рдмрдврд╝ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рд╣рдо рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реМрдЯ рдЖрдП рд╣реИрдВред

FWIW: рдореИрдВ рдкреИрдХреЗрдЬ рдореЗрдВ devDependencies рдЕрдиреБрднрд╛рдЧ рд╣рдЯрд╛рдХрд░ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред рдЙрддреНрдкрд╛рджрди рдореЗрдВ yarn рдЪрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗред

рдЬреИрд╕рд╛ рдХрд┐ @gihrig рдиреЗ рдХрд╣рд╛ рдХрд┐ npm prune --production рдЪрд▓рдиреЗ рд╕реЗ рдЙрди рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВред

рдЬреИрд╕рд╛ рдХрд┐ @gihrig рдиреЗ рдХрд╣рд╛ рдХрд┐

Npm рдкрд░ рдпрд╛рд░реНрди рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рдПрдХ рдирд┐рд░реНрдзрд╛рд░рдХ node_modules dir рд╣реИ рдЕрд░реНрдерд╛рдд рджреЗрд╡, CI рдФрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рдЙрддреНрдкрд╛рджрдиред рдХреНрдпрд╛ npm prune --production рдЪрд▓рдиреЗ рд╕реЗ рд╡рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрддрд╛ рд╣реИ?

рдореЗрд░рд╛ рд╡рд░реНрддрдорд╛рди рд╕рдорд╛рдзрд╛рди рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдореЗрдВ devDependencies рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдбрд┐рд╕реНрдХ рд╕рд╕реНрддрд╛ рд╣реИ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдПрдбрдмреНрд▓реНрдпреВрдПрд╕ рдкрд░) рдФрд░ рдбрд┐рд╕реНрдХ рд╕реНрдкреЗрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдПрдХ рдирд┐рдпрддрд╛рддреНрдордХ рд╕реНрдерд╛рдкрд┐рдд рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рддреЛ рдореЗрд░рд╛ "рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб" рд╕рд┐рд░реНрдл yarn --production рддрд░рд╣ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рд╣реИ

@tanx npm prune --production рд╕рд┐рд░реНрдл рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд░ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗред рджреВрд╕рд░реА рдУрд░, рд╣рд╛рдБ рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рд╕рд╕реНрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдЕрднрд┐рдирдп рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЧрд░ yarn --production рдмрд╛рд╣рд░ рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ рд╣реИ рддреЛ рдпрд╣ рдПрдХ рдмреЗрд╣рддрд░ рд╕рдорд╛рдзрд╛рди рд╣реИ :)

@tanx npm prune --production рд╕рд┐рд░реНрдл рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рджреВрд░ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рдореЙрдбреНрдпреВрд▓ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗред

рдпрд╣ рдареАрдХ рдпрд╛рд░реНрди рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд "рдореЗрд░реА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рдорд╛рдирд╕рд┐рдХрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк npm рдХреЛ node_modules рдпрд╛рд░реНрди рдХреА рдЕрдЦрдВрдбрддрд╛ рдЬрд╛рдБрдЪ рдХреЗ рдмрд┐рдирд╛ yarn.lock рдлрд╝рд╛рдЗрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗ рд░рд╣реЗ рд╣реИрдВред

рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╡рд░реНрдХрдЖрд░реНрдореНрд╕ рдХреЛ рджреЗрд╡ рдмрдирд╛рдо рдкреНрд░реЛрдбрдХреНрд╢рди рдбрд┐рдкреНрд╕ рдХреЗ рд╕рдореНрдорд╛рди рдХреЗ рд▓рд┐рдП рдпрд╛рд░реНрди рдЕрдкрдбреЗрдЯ рджреНрд╡рд╛рд░рд╛ рдЬрд▓реНрдж рд╣реА рдореНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдмреАрдЪ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ "рдПрдирдкреАрдПрдо рдкреНрд░реВрди" рдкреЛрд╕реНрдЯ-рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╣реИрдХ рдХреЗ рд╕рд╛рде рдХрд░рд╛рд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИред

рдКрдкрд░ рд╡рд░реНрдгрд┐рдд yarn why рд╡рд╕реНрддреБ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдЕрдлреЗрдХреНрдЯ рд╣реИред рдпрд╣ рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд▓рд┐рдП why рдХреЛрдб рдХреИрд╕реЗ рдЦреЛрдЬ рд░рд╣рд╛ рд╣реИ, рдЗрд╕рдХрд╛ рд╕рд┐рд░реНрдл рдПрдХ рд╕рд╛рдЗрдб рдЗрдлреЗрдХреНрдЯ рджрд┐рдЦрддрд╛ рд╣реИред

рдЧреНрд░рд╛рдлрд╝ рдХреЗ рдПрдХ рдмрд╛рд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж рджреГрд╢реНрдпрддрд╛ рдХреЛ рдлреИрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╛рд╕ рдЬреЛрдбрд╝реЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред рдпрдХреАрди рдирд╣реАрдВ рд╣реЛрддрд╛ рдХрд┐ рдХреНрдпрд╛ рджреГрд╢реНрдпрддрд╛ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЪрд░рдг рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдирд╛ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реЛрдЧрд╛ ..?

рд╡рд╣рд╛рдБ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдмрдврд╝рдд рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╣реИ, рдпрд╣ рдареАрдХ рд╕реЗ рджреГрд╢реНрдпрддрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ:

  • рдП рдЙрддреНрдкрд╛рджрди рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ
  • рдмреА рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ
  • C рджреЛрдиреЛрдВ рдХрд╛ рдПрдХ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ

рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ C рдХрд╛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдзреНрд╡рдЬ рджреЗрд╡ рдмрдирд╛рдо рдЙрддреНрдкрд╛рджреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рджреЗрд╡ рдореЗрдВ рдпрд╣ рдЧреИрд░-рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдЧрд╛, рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдЧрд╛ред рдмрд╕ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдореЗрдВ рд╕реЗ рдПрдХ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЭрдВрдбреЗ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ (рдпрд╛ рд╣рдореЗрд╢рд╛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛) рд╕реЗ рдЕрдЬреАрдмрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рдпрд╣ рдЕрднреА рднреА 0.17.2 in рдореЗрдВ рддрдп рдирд╣реАрдВ рд╣реИ

рд░реЗрдкреНрд░реЛ: https://gist.github.com/SimenB/2b179f3b6bca7373824e1273ea38aed3

yarn

node index.js # works

yarn --prod

node index.js # explodes

/ cc @jkrems

рдореЗрд░реЗ рд▓рд┐рдП реж.рез seem.реи рдореЗрдВ рднреА рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ (рд╣рд░реНрддреНрд╕рд┐рдо / рдЬреЛрдб # резрем реп)ред

рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ @SimenB рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

@wyze рд╕рдорд╕реНрдпрд╛ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛ рд╕рдХрддреА рд╣реИ, рди рдХрд┐

rm -rf node_modules/ && yarn && npm prune --production && node index.js рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред

rm -rf node_modules/ && npm i && npm prune --production && node index.js рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╛рд░реНрди рдФрд░ рдПрдирдкреАрдПрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рд╕рдВрдпреЛрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рддреНрд░реБрдЯрд┐ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред

node_modules npm i рдФрд░ yarn "_requiredBy" npm prune yarn install ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдореБрджреНрджрд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпрд╛ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?

рдпрд╣рд╛рдБ рдПрдХ рд╣реА рдореБрджреНрджрд╛, рд╣рдо рдбреЙрдХрдЯрд░ рдкрд░ рдЙрддреНрдкрд╛рджрди рднрд╡рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣реЗ рдереЗ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд░рд╣реЗ рдереЗ рдХрд┐ yarn --production рдкреИрдХреЗрдЬ mime рднреА рдЧрд╛рдпрдм рдерд╛, рднрд▓реЗ рд╣реА рдореВрд▓ рдореЙрдбреНрдпреВрд▓ send (рдПрдХреНрд╕рдкреНрд░реЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛) рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИред

рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдмрд╕ рдЕрдкрдиреА рдмрд┐рд▓реНрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ package.json рд╕реЗ рдбрд┐рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рд╕реЗрдХреНрд╢рди рдХреЛ рд╣рдЯрд╛ рд░рд╣рд╛ рд╣реВрдВред

$ jq 'del(.devDependencies)' package.json > tmp.json && mv tmp.json package.json

@ рдбрд╛рдИ-рдбреАрдПрдХреНрд╕ рд╕рд▓рд╛рд╣ рдХреЗ рдмрд╛рдж рдореИрдВрдиреЗ рдбреЙрдХрдЯрд░ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдПрдВрдЯреНрд░реА рдкреЙрдЗрдВрдЯ рд▓рд┐рдЦрд╛ рд╣реИ:

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдкрдиреЗ Dockerfile рдореЗрдВ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЗрд╕ рд▓рд╛рдЗрди рдХреЛ рдЬреЛрдбрд╝рдХрд░ jq рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

RUN apt-get update && \
    apt-get install -y jq

рдлрд┐рд░ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХрд╣реАрдВ рдФрд░ рдЬреЛрдбрд╝ рджреЗрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЙрдХрд░реАрдлрд╛рдЗрд▓ [ENTRYPOINT] рдпрд╛ docker-compose entrypoint entrypoint.sh рдХреЗ рд░реВрдк рдореЗрдВ рдХрд░реЗрдВред

Dockerfile рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ [CMD] рдпрд╛ docker-рд▓рд┐рдЦреЗрдВ command Eg npm start

рдЫрд╡рд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде CI рдореЗрдВ рдПрдХ рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

@SimenB рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ entries-test рдкреИрдХреЗрдЬ рд╕реЗ node_modules рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

https://registry.yarnpkg.com/entries-test/-/entries-test-1.0.1.tgz#1bf192e414ceadd0cf4b77b3969df32de2985d50

V1.0.1 рдЯрд╛рд░ рдмреЙрд▓ рдирд┐рдХрд╛рд▓реЗрдВ, define-properties рдФрд░ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде node_modules рдлрд╝реЛрд▓реНрдбрд░ рд╣реИред рдФрд░, рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА *.js рдлрд╝рд╛рдЗрд▓ рдирд╣реАрдВ рд╣реИред

@torifat рд╣реБрд╣, рдпрд╣ рднреА рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП node_modules рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ bundledDependencies ...
рдПрдХ рд╕реНрд╡рдЪреНрдЫ рдПрдХ рдзрдХреНрдХрд╛ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ (рдореИрдВрдиреЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рд╣реИ, рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛)ред

@torifat рдпрд╣ рдпрд╛рд░реНрди рдХреА рдЧрд▓рддреА рд╣реИ рдпрд╣ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред

$ mkdir some-dir && cd some-dir && yarn init -y && yarn add object.entries && yarn pack && tar -ztvf some-dir-v1.0.0.tgz
drwxr-xr-x  0 0      0           0 Nov 27 10:36 package
-rw-r--r--  0 0      0         972 Oct 15  2015 package/node_modules/define-properties/CHANGELOG.md
-rw-r--r--  0 0      0        1080 Oct 15  2015 package/node_modules/define-properties/LICENSE
-rw-r--r--  0 0      0        2725 Oct 15  2015 package/node_modules/define-properties/README.md
-rw-r--r--  0 0      0        1593 Oct 15  2015 package/node_modules/define-properties/package.json
-rw-r--r--  0 0      0        3798 Aug 21 11:09 package/node_modules/es-abstract/CHANGELOG.md
-rw-r--r--  0 0      0        1080 Jul 29  2015 package/node_modules/es-abstract/LICENSE
-rw-r--r--  0 0      0        1812 Aug 13  2015 package/node_modules/es-abstract/README.md
-rw-r--r--  0 0      0        1989 Aug 21 11:09 package/node_modules/es-abstract/package.json
-rw-r--r--  0 0      0        1207 Jan  4  2016 package/node_modules/es-to-primitive/CHANGELOG.md
-rw-r--r--  0 0      0        1082 Nov  1  2015 package/node_modules/es-to-primitive/LICENSE
-rw-r--r--  0 0      0        2180 Nov  1  2015 package/node_modules/es-to-primitive/README.md
-rw-r--r--  0 0      0        1558 Jan  4  2016 package/node_modules/es-to-primitive/package.json
-rw-r--r--  0 0      0        1074 Sep 22  2014 package/node_modules/foreach/LICENSE
-rw-r--r--  0 0      0         593 Sep 22  2014 package/node_modules/foreach/Readme.md
-rw-r--r--  0 0      0        1297 Sep 22  2014 package/node_modules/foreach/package.json
-rw-r--r--  0 0      0        1052 Feb 14  2016 package/node_modules/function-bind/LICENSE
-rw-r--r--  0 0      0        1488 Feb 14  2016 package/node_modules/function-bind/README.md
-rw-r--r--  0 0      0        1619 Feb 14  2016 package/node_modules/function-bind/package.json
-rw-r--r--  0 0      0        1060 Jul 24  2015 package/node_modules/has/LICENSE-MIT
-rw-r--r--  0 0      0         239 Jul 24  2015 package/node_modules/has/README.mkd
-rw-r--r--  0 0      0         782 Jul 24  2015 package/node_modules/has/package.json
-rw-r--r--  0 0      0        1839 Feb 28  2016 package/node_modules/is-callable/CHANGELOG.md
-rw-r--r--  0 0      0        1082 May 19  2015 package/node_modules/is-callable/LICENSE
-rw-r--r--  0 0      0        1978 Aug 12  2015 package/node_modules/is-callable/README.md
-rw-r--r--  0 0      0        1983 Feb 28  2016 package/node_modules/is-callable/package.json
-rw-r--r--  0 0      0         421 Sep 27  2015 package/node_modules/is-date-object/CHANGELOG.md
-rw-r--r--  0 0      0        1082 Mar 13  2015 package/node_modules/is-date-object/LICENSE
-rw-r--r--  0 0      0        1751 Aug 12  2015 package/node_modules/is-date-object/README.md
-rw-r--r--  0 0      0        1420 Sep 27  2015 package/node_modules/is-date-object/package.json
-rw-r--r--  0 0      0         482 Jan 30  2015 package/node_modules/is-regex/CHANGELOG.md
-rw-r--r--  0 0      0        1081 Jan 15  2014 package/node_modules/is-regex/LICENSE
-rw-r--r--  0 0      0        1623 Jan 28  2015 package/node_modules/is-regex/README.md
-rw-r--r--  0 0      0        1512 Jan 30  2015 package/node_modules/is-regex/package.json
-rw-r--r--  0 0      0         121 Jan 26  2015 package/node_modules/is-symbol/CHANGELOG.md
-rw-r--r--  0 0      0        1082 Jan 24  2015 package/node_modules/is-symbol/LICENSE
-rw-r--r--  0 0      0        1469 Jan 24  2015 package/node_modules/is-symbol/README.md
-rw-r--r--  0 0      0        1214 Jan 26  2015 package/node_modules/is-symbol/package.json
-rw-r--r--  0 0      0        6992 Jul  5 19:14 package/node_modules/object-keys/CHANGELOG.md
-rw-r--r--  0 0      0        1080 Oct 15  2015 package/node_modules/object-keys/LICENSE
-rw-r--r--  0 0      0        2460 Oct 15  2015 package/node_modules/object-keys/README.md
-rw-r--r--  0 0      0        1955 Jul  5 19:14 package/node_modules/object-keys/package.json
-rw-r--r--  0 0      0         560 Oct  6  2015 package/node_modules/object.entries/CHANGELOG.md
-rw-r--r--  0 0      0        1082 Sep  2  2015 package/node_modules/object.entries/LICENSE
-rw-r--r--  0 0      0        2339 Sep  2  2015 package/node_modules/object.entries/README.md
-rw-r--r--  0 0      0        1636 Oct  6  2015 package/node_modules/object.entries/package.json
-rw-r--r--  0 0      0         145 Nov 27 10:36 package/package.json

npm pack рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкреЗрдХреНрд╖рд┐рдд (рдЙрд╕реА dir рдореЗрдВ) рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред

$ npm pack && tar -ztvf some-dir-1.0.0.tgz
-rw-r--r--  0 501    20        145 Nov 27 10:36 package/package.json
-rw-r--r--  0 501    20       2460 Nov 27 10:36 package/yarn.lock

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╛рд░реНрди changelog , readme рдФрд░ package.json рдкрд░ node_modules рд╕рд╣рд┐рдд changelog рд╕рд╣рд┐рдд рдкрд░ рддреБрд▓рд╛ рд╣реИред

рдпрд╛рд░реНрди @0.17.9 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

@torifat 1.0.2 рдЕрдм рдкреНрд░рдХрд╛рд╢рд┐рдд (рдЕрднреА рд╡рд░реНрдгрд┐рдд рдмрдЧ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП

рдиреЛрдб рдХреЗ рд▓рд┐рдП # 2047 рдХреЛ рдиреЛрдб_рдореЙрдбреНрдпреВрд▓реНрд╕ рдХреЗ рд▓рд┐рдП рдЦреЛрд▓рд╛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рдПрдХ рд▓рд╛рд▓ рд╣реЗрд░рд┐рдВрдЧ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░рд╛ рд░рд┐рдкреНрд░реЛ рдЕрднреА рднреА рдПрдХ рдЙрдЪрд┐рдд рдЯрд╛рд░рдмреЙрд▓ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХреЗ рд╕рд╛рде рдорд╛рдиреНрдп рд╣реИред

(рд▓реЛрдЧреЛрдВ рдХреА рд╕рджрд╕реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рд╕реНрдкреИрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЦреЗрдж рд╣реИ, рдореИрдВ рдЕрднреА рд░реБрдХреВрдВрдЧрд╛)

@SimenB рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВрдиреЗ рдмрдЧ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд▓рд┐рдпрд╛ рд╣реИред

рдпрд╣ # 2104 рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЕрднреА рдЦреЛрд▓рд╛ рд╣реИред рдУрдкреА рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж node_modules/.bin :

$ ll node_modules/.bin
total 16
lrwxr-xr-x  1 samuelreed  staff    22B Dec  1 11:16 forever -> ../forever/bin/forever
lrwxr-xr-x  1 samuelreed  staff   109B Dec  1 11:16 nodemon -> ../../../../../Library/Caches/Yarn/npm-nodemon-1.11.0-226c562bd2a7b13d3d7518b49ad4828a3623d06c/bin/nodemon.js

# 2116 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрдп рдХрд┐рдпрд╛ред

рдХреНрдпрд╛ # 2116 рдХреЛ рдЕрднреА рддрдХ рдорд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ? рдореИрдВ рдЗрд╕реЗ рдкреНрд░рддрд┐рдмрджреНрдз рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддрд╛ред рддрдп рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдорд╛рд╕реНрдЯрд░ рдкрд░ рдХрдо рд╕реЗ рдХрдо рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ рддреЛ рдЯреИрдЧ рдмрдВрдж рд╣реЛрдиреЗ рдкрд░ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ # 2116 рд╕рднреА рддреАрди рдЪреЗрдХ рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рднреВрд▓ рд░рд╣рд╛ рд╣реВрдБ?

рдпрд╣ рдЕрднреА рднреА v0.18.0 рдореЗрдВ рдПрдХ рдореБрджреНрджрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ (# 2116) рд╢рд╛рдорд┐рд▓ рд╣реИред

рд╣рд╛рдВ, рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдореБрджреНрджрд╛ рдЕрднреА рднреА 0.18.0 рдореЗрдВ рдореМрдЬреВрдж рд╣реИ

рдХреНрдпрд╛ рдореИрдВ # 2116 рджреЗрдЦрддрд╛ рд╣реВрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдкрд░реАрдХреНрд╖рдг рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ( test.concurrent ('- рдЙрддреНрдкрд╛рджрди рдзреНрд╡рдЬ рджреЗрд╡ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИ' ...) рдпрд╛ рдореИрдВ рдЧрд▓рдд рд╣реВрдВ?

рдкрд░реАрдХреНрд╖рдг рд╕рдХрд░рд╛рддреНрдордХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ:
рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдореБрджреНрджрд╛ рдПрдХ рд╕рд╛рдЭрд╛ рдЖрд╢реНрд░рд┐рдд (lru-cache) рдПрдХ рдареЗрд╕ (рдиреНрдпреВрдирддрдо v2.0.0) рдФрд░ рдПрдХ рджреЗрд╡ (useragent v2.1.9) рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдмреАрдЪ рд╣реИред рдЙрд╕ рд╕рд╛рдЭрд╛ рдЖрд╢реНрд░рд┐рдд рдХреЛ --production рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдардЧ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛред

@beheh рдореБрдЭреЗ рдирд╣реАрдВ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ minimatch lru-cache рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд╢рд╛рдпрдж рдЗрд╕реАрд▓рд┐рдП рдЙрддреНрдкрд╛рджрди рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдореИрдВ 0.18.0 рдХреЗ рд╕рд╛рде рдХреБрдЫ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ

dep { A->B }
devDep { B }
OK
A,B are installed.
dep { A->C->D }
devDep { B->C->D }
OK
A,C,D are installed.
dep { E->A->C->D }
devDep { B->C->D }
KO
E,A,C are installed but D is missing.

рдпрд╣ рдорд╛рдорд▓рд╛ @SimenB рджреНрд╡рд╛рд░рд╛ рд╕рдЪрд┐рддреНрд░ рд╣реИ

"dependencies": {
    "entries-test": "^1.0.1"
  },
  "devDependencies": {
    "object.values": "^1.0.3"
  }

@SharpEdgeMarshall рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛрдбрд╝реВрдВрдЧрд╛ред

@torifat рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓рдиреЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ

@SharpEdgeMarshall рдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

screenshot 2016-12-06 21 18 44

@SimenB рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЦреЛрд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ optionalDependencies рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЬрд┐рд╕рдХрд╛ рдПрдХ рдФрд░ рдЦреБрд▓рд╛ рдореБрджреНрджрд╛ рд╣реИред

@torifat рдореЗрд░рд╛ https://github.com/yarnpkg/yarn/issues/761#issuecomment -260975012

EDIT: рдЬрд┐рд╕рдХрд╛ рдХреЛрдИ рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд┐рддреНрд░рдг рдирд╣реАрдВ рд╣реИ, grep optional yarn.lock 1 рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддрд╛ рд╣реИ

рдЕрдм рдпрд╣ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ Error: Cannot find module 'object-keys' рдмрдЬрд╛рдп рд▓рд╛рдкрддрд╛ рдХреА define-properties рд╣рд╛рд▓рд╛рдВрдХрд┐ред

$ yarn why object-keys
yarn why v0.18.0
[1/4] ЁЯдФ  Why do we have the module "object-keys"...?
[2/4] ЁЯЪЪ  Initialising dependency graph...
[3/4] ЁЯФН  Finding dependency...
[4/4] ЁЯЪб  Calculating file sizes...
info This module exists because "object.values#define-properties" depends on it.
тЬи  Done in 0.09s.

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдм рдПрдХ рд╕реНрддрд░ рдХреЛ рдЧрд╣рд░рд╛рдИ рд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ

@SimenB рдмрд╕ рдЕрдкрдиреЗ рд╕рд╛рде рдХреА рдХреЛрд╢рд┐рд╢ рдХреА:

{
  "dependencies": {
    "entries-test": "^1.0.1"
  },
  "devDependencies": {
    "object.values": "^1.0.3"
  }
}

рдФрд░, рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк yarn cache clean рдФрд░ рдкреБрдирдГ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдирд╣реАрдВ, рд╡рд┐рдлрд▓

@SimenB рдХреНрдпрд╛ рдЖрдк рдЕрдкрдирд╛ yarn.lock рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

$ rm -rf node_modules && rm yarn.lock && yarn cache clean && yarn && node index.js && yarn --prod && node index.js
yarn cache v0.18.0
success Cleared cache.
тЬи  Done in 0.07s.
yarn install v0.18.0
info No lockfile found.
[1/4] ЁЯФН  Resolving packages...
[2/4] ЁЯЪЪ  Fetching packages...
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
success Saved lockfile.
тЬи  Done in 0.92s.
yarn install v0.18.0
[1/4] ЁЯФН  Resolving packages...
[2/4] ЁЯЪЪ  Fetching packages...
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
тЬи  Done in 0.18s.
module.js:471
    throw err;
    ^

Error: Cannot find module 'object-keys'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/simbekkh/repos/ugh/node_modules/define-properties/index.js:3:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

рдореЗрд░реЗ рд▓рд┐рдП SimenB рдХрд╛ рдЙрджрд╛рд╣рд░рдг yarn cache clean рдмрд╛рдж рднреА 0.18.0 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


define-properties@^1.1.2:
  version "1.1.2"
  resolved "http://npm.office.crweb.it/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
  dependencies:
    foreach "^2.0.5"
    object-keys "^1.0.8"

entries-test@^1.0.1:
  version "1.0.2"
  resolved "http://npm.office.crweb.it/entries-test/-/entries-test-1.0.2.tgz#f1039aba3a2effc9c3a56b6b1180694b2789e4d5"
  dependencies:
    object.entries "^1.0.3"

es-abstract@^1.6.1:
  version "1.6.1"
  resolved "http://npm.office.crweb.it/es-abstract/-/es-abstract-1.6.1.tgz#bb8a2064120abcf928a086ea3d9043114285ec99"
  dependencies:
    es-to-primitive "^1.1.1"
    function-bind "^1.1.0"
    is-callable "^1.1.3"
    is-regex "^1.0.3"

es-to-primitive@^1.1.1:
  version "1.1.1"
  resolved "http://npm.office.crweb.it/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
  dependencies:
    is-callable "^1.1.1"
    is-date-object "^1.0.1"
    is-symbol "^1.0.1"

foreach@^2.0.5:
  version "2.0.5"
  resolved "http://npm.office.crweb.it/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"

function-bind@^1.0.2, function-bind@^1.1.0:
  version "1.1.0"
  resolved "http://npm.office.crweb.it/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"

has@^1.0.1:
  version "1.0.1"
  resolved "http://npm.office.crweb.it/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
  dependencies:
    function-bind "^1.0.2"

is-callable@^1.1.1, is-callable@^1.1.3:
  version "1.1.3"
  resolved "http://npm.office.crweb.it/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"

is-date-object@^1.0.1:
  version "1.0.1"
  resolved "http://npm.office.crweb.it/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"

is-regex@^1.0.3:
  version "1.0.3"
  resolved "http://npm.office.crweb.it/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637"

is-symbol@^1.0.1:
  version "1.0.1"
  resolved "http://npm.office.crweb.it/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"

object-keys@^1.0.8:
  version "1.0.11"
  resolved "http://npm.office.crweb.it/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"

object.entries@^1.0.3:
  version "1.0.4"
  resolved "http://npm.office.crweb.it/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f"
  dependencies:
    define-properties "^1.1.2"
    es-abstract "^1.6.1"
    function-bind "^1.1.0"
    has "^1.0.1"

object.values@^1.0.3:
  version "1.0.4"
  resolved "http://npm.office.crweb.it/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a"
  dependencies:
    define-properties "^1.1.2"
    es-abstract "^1.6.1"
    function-bind "^1.1.0"
    has "^1.0.1"
$ rm -rf node_modules && rm yarn.lock && yarn cache clean && yarn && node index.js && rm -rf node_modules && rm yarn.lock && yarn cache clean && yarn --prod && node index.js
yarn cache v0.18.0
success Cleared cache.
тЬи  Done in 0.07s.
yarn install v0.18.0
info No lockfile found.
[1/4] ЁЯФН  Resolving packages...
[2/4] ЁЯЪЪ  Fetching packages...
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
success Saved lockfile.
тЬи  Done in 0.93s.
yarn cache v0.18.0
success Cleared cache.
тЬи  Done in 0.07s.
yarn install v0.18.0
info No lockfile found.
[1/4] ЁЯФН  Resolving packages...
[2/4] ЁЯЪЪ  Fetching packages...
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
success Saved lockfile.
тЬи  Done in 0.76s.
module.js:471
    throw err;
    ^

Error: Cannot find module 'object-keys'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/simbekkh/repos/ugh/node_modules/define-properties/index.js:3:12)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

Lockfile:

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1


define-properties@^1.1.2:
  version "1.1.2"
  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
  dependencies:
    foreach "^2.0.5"
    object-keys "^1.0.8"

entries-test@^1.0.1:
  version "1.0.2"
  resolved "https://registry.yarnpkg.com/entries-test/-/entries-test-1.0.2.tgz#f1039aba3a2effc9c3a56b6b1180694b2789e4d5"
  dependencies:
    object.entries "^1.0.3"

es-abstract@^1.6.1:
  version "1.6.1"
  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.6.1.tgz#bb8a2064120abcf928a086ea3d9043114285ec99"
  dependencies:
    es-to-primitive "^1.1.1"
    function-bind "^1.1.0"
    is-callable "^1.1.3"
    is-regex "^1.0.3"

es-to-primitive@^1.1.1:
  version "1.1.1"
  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
  dependencies:
    is-callable "^1.1.1"
    is-date-object "^1.0.1"
    is-symbol "^1.0.1"

foreach@^2.0.5:
  version "2.0.5"
  resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"

function-bind@^1.0.2, function-bind@^1.1.0:
  version "1.1.0"
  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"

has@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
  dependencies:
    function-bind "^1.0.2"

is-callable@^1.1.1, is-callable@^1.1.3:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"

is-date-object@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"

is-regex@^1.0.3:
  version "1.0.3"
  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.3.tgz#0d55182bddf9f2fde278220aec3a75642c908637"

is-symbol@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"

object-keys@^1.0.8:
  version "1.0.11"
  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"

object.entries@^1.0.3:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f"
  dependencies:
    define-properties "^1.1.2"
    es-abstract "^1.6.1"
    function-bind "^1.1.0"
    has "^1.0.1"

object.values@^1.0.3:
  version "1.0.4"
  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a"
  dependencies:
    define-properties "^1.1.2"
    es-abstract "^1.6.1"
    function-bind "^1.1.0"
    has "^1.0.1"

@SimenB рдзрдиреНрдпрд╡рд╛рдж рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рдореЗрд░реЗ рдХреИрд╢ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереАред рдореЗрд░рд╛ рдХреИрд╢ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдм рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди, рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рдеред рдореБрдЭреЗ рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рджреАрдЬрд┐рдПред

Btw, рдореИрдВ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ https://github.com/Mottie/Octopatcher рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ

рдЖрдЙрдЯрдкреБрдЯ рдХреА рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╣реИ

image

рдореИрдВ рдЕрдм рд╕реНрдкреИрдорд┐рдВрдЧ рдмрдВрдж рдХрд░ рджреВрдВрдЧрд╛

@SimenB v0.18.0 рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рдирд╡реАрдирддрдо master рдореЗрдВ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред

рдЕрджреНрдпрддрди: рдЕрдЬреАрдм! рдпрд╣ рдлрд┐рд░ рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ ЁЯШХ

@torifat рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдорд╛рд╕реНрдЯрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ (v0.19.0)
rm -rf node_modules && rm yarn.lock && ../yarn/bin/yarn cache clean && ../yarn/bin/yarn && node index.js && rm -rf node_modules && rm yarn.lock && ../yarn/bin/yarn cache clean && ../yarn/bin/yarn --prod && node index.js

yarn cache v0.19.0-0
success Cleared cache.
Done in 0.58s.
yarn install v0.19.0-0
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 10.18s.
yarn cache v0.19.0-0
success Cleared cache.
Done in 0.09s.
yarn install v0.19.0-0
info No lockfile found.
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 4.26s.
module.js:457
    throw err;
    ^

Error: Cannot find module 'object-keys'
    at Function.Module._resolveFilename (module.js:455:15)
    at Function.Module._load (module.js:403:25)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/home/sharpedge/git/Utility/YarnBug/node_modules/define-properties/index.js:3:12)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

рдореЗрд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ (рдХреБрдЫ рдкреИрдХреЗрдЬ рдореМрдЬреВрджрд╛ рд╕реНрдерд┐рд░ 0.17.10 рд╕рд╛рде --production рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ):

curl -o- -L https://yarnpkg.com/install.sh | bash && ~/.yarn/bin/yarn install --production && rm -rf ~/.yarn

рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд░рд╛рдд рдореЗрдВ рдореМрдЬреВрджрд╛ Yarn 0.19.0-20161207.1241 рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реВрдВ рддреЛ

wget https://yarnpkg.com/install.sh && chmod +x install.sh && ./install.sh --nightly && rm -f install.sh && ~/.yarn/bin/yarn install --production && rm -rf ~/.yarn

@SharpEdgeMarshall @SimenB рдХреНрдпрд╛ рдЖрдк рдирд╡реАрдирддрдо рд░рд╛рдд рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдмрдиреА рд░рд╣рддреА рд╣реИред

рдореЗрд░реЗ рдбреЙрдХрдЯрд░ рдХрдВрдЯреЗрдирд░реЛрдВ рдореЗрдВ рдкреНрд░рдпреБрдХреНрдд: https://gist.github.com/nodkz/b843d65a3430a4f510e5f5eb0cc759d2

@nodkz 18 рдмрд╛рд╣рд░ рд╣реИ рдФрд░ рд╕реНрдерд┐рд░ рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ?), рд▓реЗрдХрд┐рди рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдХреЗ рдКрдкрд░ рд╕реАрдзреЗ рдкреЛрд╕реНрдЯ рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдорд╛рд╕реНрдЯрд░ (рдЬреИрд╕рд╛ рдХрд┐ 2 рджрд┐рди рдкрд╣рд▓реЗ рдХрдо рд╕реЗ рдХрдо) рдЕрднреА рднреА рдмрдЧ рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА install yarn@rc :

'dist-tags': { rc: '0.18.0', latest: '0.17.10' },

рдпрд╣ рдирдпрд╛ рд╣реИ, рдореБрдЭреЗ рдХреБрдЫ рджрд┐рди рдкрд╣рд▓реЗ 0.18 рдорд┐рд▓рд╛ рд╣реИред рд╡реИрд╕реЗ рднреА, рдмрдЧ рдЕрднреА рднреА 0.18 рдореЗрдВ рдкреНрд░рдЬрдирди рдпреЛрдЧреНрдп рд╣реИред

@nodkz рд░реЗрдкреНрд░реЛ рд╣реИ:

{
  "dependencies": {
    "entries-test": "^1.0.1"
  },
  "devDependencies": {
    "object.values": "^1.0.3"
  }
}

рд╣рд╛рдВ, рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рднреА рдЗрд╕реА рддрд░рд╣ рдХреЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:

rm -rf package.json yarn.lock node_modules && npm init --yes && yarn add --dev nodemon && yarn add glob-stream && yarn --prod && node -p "require('glob-stream')"

0.18 рдФрд░ рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдорд╛рдирд╛ред рдЕрднреА рднреА рдирд╡реАрдирддрдо рдХреЗ рд╕рд╛рде repro рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдореБрджреНрджрд╛ рднреА рдРрд╕рд╛ рд╣реА рд╣реИред рдмрд┐рд▓реНрдб рд╣реЗрд░реЛрдХреВ рдкрд░ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдПред рдХреИрд╢рд┐рдВрдЧ рдЕрдХреНрд╖рдо рд╣реИред

Resolving node version ^7.2.1 via semver.io...
       Downloading and installing node 7.2.1...
       Using default npm version: 3.10.10
       Resolving yarn version (latest) via semver.io...
       Downloading and installing yarn (0.18.1)...
       Installed yarn 0.18.1
-----> Restoring cache
       Skipping cache restore (disabled by config)
-----> Building dependencies
       Installing node modules (yarn)
       yarn install v0.18.1
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       warning [email protected]: The platform "linux" is incompatible with this module.
       info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
       [3/4] Linking dependencies...
       [4/4] Building fresh packages...
       error /tmp/build_0e4ff736ad0f25dc816a47543687fefc/bbb7b6e751dde291f65dea175f41a26862eef28f/node_modules/bcrypt: Command failed.
       Exit code: 1
       Command: sh
       Arguments: -c node-pre-gyp install --fallback-to-build
       Directory: /tmp/build_0e4ff736ad0f25dc816a47543687fefc/bbb7b6e751dde291f65dea175f41a26862eef28f/node_modules/bcrypt
       Output:
       module.js:472
       throw err;
       ^

       Error: Cannot find module 'abbrev'
       at Function.Module._resolveFilename (module.js:470:15)
       at Function.Module._load (module.js:418:25)
       at Module.require (module.js:498:17)
       at require (internal/module.js:20:19)
       at Object.<anonymous> (/tmp/build_0e4ff736ad0f25dc816a47543687fefc/bbb7b6e751dde291f65dea175f41a26862eef28f/node_modules/nopt/lib/nopt.js:10:14)
       at Module._compile (module.js:571:32)
       at Object.Module._extensions..js (module.js:580:10)
       at Module.load (module.js:488:32)
       at tryModuleLoad (module.js:447:12)
       at Function.Module._load (module.js:439:3)
       info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
-----> Build failed

рдореЗрд░реЗ рдкрд╛рд╕ рднреА рдпрд╣ рдореБрджреНрджрд╛ рд╣реИред рдореИрдВ рдЕрднреА рднреА рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП yarn install рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ yarn install --production рд╕рд╣реА рдирд┐рд░реНрднрд░рддрд╛ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рдбрд░ рд╣реИ рдХрд┐ рдореИрдВ рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣реЗрд░реЛрдХреВ рдмрд┐рд▓реНрдбрдкреИрдХ рдореЗрдВ yarn install --production рд╣рд╛рд░реНрдбрдХреЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд░реЗрдлрд░реА https://github.com/heroku/heroku-buildpack-nodejs/issues/337)

@adamreisnz рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдореИрдВ рдореВрд▓ рдореБрджреНрджреЗ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛ рдЖрдкрдХреА рдирд╣реАрдВред

рдЖрдкрдХреЗ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рд╕рднреА devDependencies рд╕реЗ dependencies рдЕрднреА рдХреЗ рд▓рд┐рдП рд░рдЦ рджреЗрдВ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдареАрдХ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреАред

@dashmug рдЖрд╣ рдареАрдХ рд╣реИ, рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВред

рд╡реИрд╕реЗ рднреА, рдореИрдВ рд╣рд░рд┐рдХреВ рдкрд░ рдЕрдм рддрдХ npm рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдХрд┐ рд╣реИрдХреА рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЪрдХреНрдХрд░ рд▓рдЧрд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдпрд╛рд░реНрди рдЕрдзрд┐рдХ рд╕реНрдерд┐рд░ рди рд╣реЛред рдореИрдВрдиреЗ yarn.lock рдЕрдкрдиреЗ .gitignore рдбрд╛рд▓ рджрд┐рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд░реЗрдкреЛ / рд╣рд░реЛрдХреВ рдкрд░ рдЕрдкрд▓реЛрдб рди рд╣реЛред рдЗрд╕ рддрд░рд╣, рдореИрдВ рдЕрднреА рднреА рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣рд░реЛрдХреВ рдкрд░ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред

@adamreisnz yarn рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдЙрджреНрджреЗрд╢реНрдп рдХреЛ рдкрд░рд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдкрдХреЛ рдирд╣реАрдВ рд▓рдЧрддрд╛?

@dashmug рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВ, рдХрдо рд╕реЗ рдХрдо, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдирд╣реАрдВред рдореИрдВ рдЗрд╕реЗ рдЬрдЧрд╣ рдореЗрдВ рдкреИрдХреЗрдЬ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рд▓реЙрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рд╣рдорд╛рд░реА рдмрд╣реБрдд рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ рдФрд░ "рдореЗрд░реА рдорд╢реАрди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ" рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдПрдирдкреАрдПрдо рдкрд░ рдпрд╛рд░реНрди рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдореБрдЦреНрдп рдХрд╛рд░рдг рдЧрддрд┐ рдХреЗ рд▓рд┐рдП рдерд╛, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╡рд╛рд▓реЗ рдЬрдЯрд┐рд▓ рдРрдк рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ npm install рдпрд╛рд░реНрди рдХреЗ рд╕рд╛рде

рдЬрдм рддрдХ рдпрд╛рд░реНрди рдЕрд╕реНрдерд┐рд░ рд╣реИ, рддрдм рддрдХ рдореИрдВ рд╣реЗрд░реЛрдХреВ рдкрд░ рдереЛрдбрд╝реА рдзреАрдореА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдпрд╛рд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдФрд░ рддреЗрдЬреА рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдВ :)

рдпрд╛рд░реНрди рдХреЛ рдПрдирдкреАрдПрдо рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреНрд░реЙрдк-рдЗрди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЬреНрдЮрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХреБрдЫ рд╕рдорд╕реНрдпрд╛рдПрдБ рдЬрд┐рдирдХрд╛ рд╣рдордиреЗ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдЬреЛ рдЕрднреА рднреА рдЕрдирд╕реБрд▓рдЭреА рд╣реИрдВ, рдЗрд╕ рддрд░рд╣, рд╣рдореЗрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддреА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕реЗ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрддрд╛ рд╣реВрдВ, рдЬреЛ рдПрдХ рдЪреАрдЬ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЕрднреА рддрдХ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ :)

рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП 0.18.1 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рд╣рд░реЛрдХреВ рдЙрд╕ рд╕рдордп 0.18.1 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдЬрдм рд╡рд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЕрднреА рддрдХ рддрдп рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореЗрд░реЗ рд▓рд┐рдП 0.18.1 рдкрд░ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореЗрд░рд╛ рдкрд╣рд▓реЗ рдХрд╛ рд░реЗрдкреЛ 0.18.1 fixed рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдореИрдВ рдХрд▓ рдПрдХ рдЕрд╕рд▓реА рдРрдк рдХреЗ рд╕рд╛рде рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛

0.18.1 рдореЗрд░реЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдореИрдВ рдПрдХ рдЦреБрд╢ рдЯреВрд░рд┐рд╕реНрдЯ рд╣реВрдВ ЁЯОЙ

рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдРрдк рдХреЗ рд╕рд╛рде 0.18.1 рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдкрд╣рд▓реЗ рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣реА рдереА рдФрд░ рдЕрдм рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИ! ЁЯОЙ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рдЬрд▓реНрдж рд╣реА рдПрдХ рдФрд░ рджреЗ рджреВрдБрдЧрд╛ :)

рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, рдЕрднреА рднреА 0.18.1 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ;

-----> Node.js app detected
-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NPM_CONFIG_PRODUCTION=true
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  ^7.2.1
       engines.npm (package.json):   unspecified (use default)

       Resolving node version ^7.2.1 via semver.io...
       Downloading and installing node 7.2.1...
       Using default npm version: 3.10.10
       Resolving yarn version (latest) via semver.io...
       Downloading and installing yarn (0.18.1)...
       Installed yarn 0.18.1
-----> Restoring cache
       Loading 2 from cacheDirectories (default):
       - node_modules
       - bower_components (not cached - skipping)
-----> Building dependencies
       Installing node modules (yarn)
       yarn install v0.18.1
       [1/4] Resolving packages...
       [2/4] Fetching packages...
       warning [email protected]: The platform "linux" is incompatible with this module.
       info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
       [3/4] Linking dependencies...
       [4/4] Building fresh packages...
       error /tmp/build_c86802dccae94b3fb074d3b88f3f63f2/9512deeed23c0eca48d68fb2c8850a28f76692ea/node_modules/bcrypt: Command failed.
       Exit code: 1
       Command: sh
       Arguments: -c node-pre-gyp install --fallback-to-build
       Directory: /tmp/build_c86802dccae94b3fb074d3b88f3f63f2/9512deeed23c0eca48d68fb2c8850a28f76692ea/node_modules/bcrypt
       Output:
       module.js:472
       throw err;
       ^

       Error: Cannot find module 'abbrev'
       at Function.Module._resolveFilename (module.js:470:15)
       at Function.Module._load (module.js:418:25)
       at Module.require (module.js:498:17)
       at require (internal/module.js:20:19)
       at Object.<anonymous> (/tmp/build_c86802dccae94b3fb074d3b88f3f63f2/9512deeed23c0eca48d68fb2c8850a28f76692ea/node_modules/nopt/lib/nopt.js:10:14)
       at Module._compile (module.js:571:32)
       at Object.Module._extensions..js (module.js:580:10)
       at Module.load (module.js:488:32)
       at tryModuleLoad (module.js:447:12)
       at Function.Module._load (module.js:439:3)
       info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
-----> Build failed

       We're sorry this build is failing! You can troubleshoot common issues here:
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys

       Some possible problems:

       - A module may be missing from 'dependencies' in package.json
       https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies

       - This module may be specified in 'devDependencies' instead of 'dependencies'
       https://devcenter.heroku.com/articles/nodejs-support#devdependencies

       Love,
       Heroku

 !     Push rejected, failed to compile Node.js app.
 !     Push failed

NODE_MODULES_CACHE=false рдХрд░рдиреЗ рд╕реЗ рднреА рдорджрдж рдирд╣реАрдВ рдорд┐рд▓реАред

рдпрд╣рд╛рдБ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдкреЗрдбрд╝ рд╣реИ:

тФЬтФАтФм [email protected]
тФВ тФФтФАтФм [email protected]
тФВ   тФФтФАтФм [email protected]
тФВ     тФФтФАтФм [email protected]
тФВ       тФФтФАтФм [email protected]
тФВ         тФФтФАтФА [email protected] 
тФЬтФАтФм [email protected]
тФВ тФФтФАтФм @google-cloud/[email protected]
тФВ   тФФтФАтФм @google-cloud/[email protected]
тФВ     тФФтФАтФм [email protected]
тФВ       тФФтФАтФм [email protected]
тФВ         тФФтФАтФм [email protected]
тФВ           тФФтФАтФА [email protected] 
тФФтФАтФм [email protected]
  тФФтФАтФА [email protected] 

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ google-cloud рдорд╛рдзреНрдпрдо рд╕реЗ рдЧрд╣рди рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдЙрддреНрдкрд╛рджрди рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдФрд░ рджреЛрдиреЛрдВ bable-cli рдФрд░ instanbul рдХреЗрд╡рд▓ рджреЗрд╡ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдореИрдВ yarn why abbrev рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ google-cloud рдФрд░ babel-cli рдкреЗрд░реЗрдВрдЯ рдЖрд╢реНрд░рд┐рддреЛрдВ рдХреЛ рд▓реЗрдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

yarn why v0.18.1
[1/4] ЁЯдФ  Why do we have the module "abbrev"...?
[2/4] ЁЯЪЪ  Initialising dependency graph...
[3/4] ЁЯФН  Finding dependency...
[4/4] ЁЯЪб  Calculating file sizes...
info Reasons this module exists
   - "istanbul" depends on it
   - "istanbul#nopt" depends on it

@jkrems , @SimenB рдХреНрдпрд╛ рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдирдпрд╛ рдореБрджреНрджрд╛

istanbul#nopt рднреА why рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЧрд▓рдд рд▓рдЧ рд░рд╣рд╛ рд╣реИред
рдореИрдВ рдЕрдм рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП onnmy рддрд░реАрдХрд╛ рд╣реВрдВ, рдлрд┐рд░ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдРрдк рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛

@SimenB рдзрдиреНрдпрд╡рд╛рдж, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рдкреВрд░рд╛ рдкреИрдХреЗрдЬред json рдореЙрдбреНрдпреВрд▓ рд╕реВрдЪреАред

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣рд╛рдБ рдпрд╣ рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЕрдм рд╕реЛрдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ;

"dependencies": {
    "bcrypt": "^1.0.1",
    "bluebird": "^3.4.6",
    "body-parser": "^1.15.2",
    "chalk": "^1.1.3",
    "compression": "^1.6.2",
    "cookie-parser": "^1.4.3",
    "cors": "^2.8.1",
    "express": "^4.14.0",
    "glob": "^7.1.1",
    "google-cloud": "^0.45.1",
    "handlebars": "^4.0.6",
    "html-pdf": "^2.1.0",
    "http-as-promised": "^1.1.0",
    "meanie-express-error-handling": "git+https://github.com/meanie/express-error-handling#2.0.0",
    "meanie-express-github-service": "^2.0.2",
    "meanie-express-jwt-service": "^1.0.2",
    "meanie-express-raven-service": "^1.0.1",
    "meanie-mail-composer": "^1.2.0",
    "meanie-mongoose-only-id": "^1.0.1",
    "meanie-mongoose-set-properties": "^1.0.1",
    "meanie-mongoose-to-json": "^1.1.0",
    "meanie-multer-mime-types-filter": "^1.0.1",
    "meanie-passport-refresh-strategy": "^1.1.2",
    "moment": "^2.17.1",
    "mongoose": "^4.7.3",
    "morgan": "^1.7.0",
    "multer": "^1.1.0",
    "passport": "^0.3.2",
    "passport-http-bearer": "^1.0.1",
    "passport-local": "^1.0.0",
    "phantomjs-prebuilt": "2.1.14",
    "sendgrid": "^4.7.1",
    "sendgrid-mailer": "^1.0.7",
    "socket.io": "^1.7.2",
    "yargs": "^6.5.0"
  },
  "devDependencies": {
    "babel-cli": "^6.16.0",
    "babel-preset-es2015": "^6.18.0",
    "chai": "^3.5.0",
    "chai-as-promised": "^6.0.0",
    "dirty-chai": "^1.2.2",
    "eslint": "^3.12.1",
    "express-simulate-latency": "0.0.2",
    "istanbul": "^1.0.0-alpha.2",
    "mocha": "^3.2.0",
    "mocha-clean": "^1.0.0",
    "nodemon": "^1.11.0",
    "sinon": "^1.17.6",
    "sinon-as-promised": "^4.0.0",
    "sinon-mongoose": "^1.3.0"
  }

рдпрд╣ рдЕрднреА рднреА рдХрд╛рдо рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред рд▓рдЧрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╛рд░реНрди рдХреЗ рдЧрд╣рд░реЗ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде рд╣реИрдВред рдпрд╣рд╛рдБ npm ls entities рдмрд╛рдж yarn --prod

$ npm ls entities
[email protected] /Users/simbekkh/repos/frontpage
тФФтФАтФм @finn-no/[email protected]
  тФФтФАтФм [email protected]
    тФФтФАтФм [email protected]
      тФФтФАтФм [email protected]
        тФФтФАтФм [email protected]
          тФФтФАтФм [email protected]
            тФФтФАтФА UNMET DEPENDENCY entities@~1.1.1

npm ERR! missing: entities@~1.1.1, required by [email protected]

@Adamreisnz рдХреЗ рд░реВрдк рдореЗрдВ yarn why рд╕рд╣реА рдкреЗрдбрд╝ рдирд╣реАрдВ рдЙрдард╛рддрд╛ рд╣реИ ред

$ yarn why entities
yarn why v0.18.1
[1/4] ЁЯдФ  Why do we have the module "entities"...?
[2/4] ЁЯЪЪ  Initialising dependency graph...
[3/4] ЁЯФН  Finding dependency...
[4/4] ЁЯЪб  Calculating file sizes...
info Reasons this module exists
   - "cheerio" depends on it
   - "cheerio#htmlparser2" depends on it
info Disk size without dependencies: "108kB"
info Disk size with unique dependencies: "108kB"
info Disk size with transitive dependencies: "108kB"
info Amount of shared dependencies: 0
тЬи  Done in 0.40s.

рдХреНрдпреЛрдВ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ istanbul # nopt рднреА рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред

рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореВрд▓ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ nopt google-cloud рдФрд░ / рдпрд╛ babel-cli рдмрдЬрд╛рдп istanbul рдкреИрдХреЗрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдЗрд╕реАрд▓рд┐рдП рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рд╡рд╛рддрд╛рд╡рд░рдг, рдХреНрдпреЛрдВрдХрд┐ istanbul рдПрдХ рдареЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИред

рд╣реЗ рд╕рдм рд▓реЛрдЧ, рдЦреЗрдж рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдХрд╛рдлреА рд╕рдордп рд╕реЗ рд╣реИред
рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЦреБрдж рдХреЛ рд╕реМрдВрдкреВрдВрдЧрд╛ рдФрд░ рдЕрдм рдпрд╣ рдПрдХ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╣реИ, рдореИрдВ рдЗрд╕реЗ рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдХреЗ рджреМрд░рд╛рди рдареАрдХ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред
рдкреГрдердХ рдмреНрд░реЗрдХрд┐рдВрдЧ рдЯреЗрд╕реНрдЯ рдпрд╛ рдлрд┐рдХреНрд╕ (рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ) рдХреЗ рд╕рд╛рде рд╕рд╣рд╛рдпрддрд╛ рдФрд░ рдкреАрдЖрд░рдПрд╕ рдХрд╛ рдмрд╣реБрдд рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рд╣рдо bl gulp-imagemin рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рдЙрддреНрдкрд╛рджреЛрдВ рдореЗрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред

[~/Workspaces/my-project 12:05:33] NODE_ENV=production yarn
yarn install v0.18.1
info No lockfile found.
[1/4] ЁЯФН  Resolving packages...
warning algoliasearch > [email protected]: Just use Array.isArray directly
warning gulp-file > through2 > xtend > [email protected]:
warning raven > [email protected]: use uuid module instead
warning wiredep > bower-config > [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
warning chromedriver > [email protected]: this package has been reintegrated into npm and is now out of date with respect to npm
warning mversion > [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning wiredep > glob > [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning webdriverio > request > [email protected]: use uuid module instead
warning gulp > vinyl-fs > glob-watcher > gaze > globule > [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning gulp > vinyl-fs > glob-watcher > gaze > globule > glob > [email protected]: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
warning sprity-lwip > lwip > decree > [email protected]: This package is discontinued. Use lodash@^4.0.0.
[2/4] ЁЯЪЪ  Fetching packages...
warning [email protected]: The engine "ender" appears to be invalid.
[3/4] ЁЯФЧ  Linking dependencies...
[4/4] ЁЯУГ  Building fresh packages...
[1/7] таВ fsevents: GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.0.15/fse-v1.0.15-node-v51-darwi
[2/7] таВ gifsicle
[3/7] таВ jpegtran-bin
[4/7] таВ optipng-bin
error /Users/fdubost/Workspaces/my-project/node_modules/gifsicle: Command failed.
Exit code: 1
Command: sh
Arguments: -c node lib/install.js
Directory: /Users/fdubost/Workspaces/my-project/node_modules/gifsicle
Output:
module.js:474
    throw err;
    ^

Error: Cannot find module 'bl'
    at Function.Module._resolveFilename (module.js:472:15)
    at Function.Module._load (module.js:420:25)
    at Module.require (module.js:500:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/fdubost/Workspaces/my-project/node_modules/tar-stream/extract.js:2:10)
    at Module._compile (module.js:573:32)
    at Object.Module._extensions..js (module.js:582:10)
    at Module.load (module.js:490:32)
    at tryModuleLoad (module.js:449:12)
    at Function.Module._load (module.js:441:3)

рдЖрдкрдХреА рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж ЁЯШК

рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЕрдЧрд░ рдореИрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ bl рдХреЛ рд╣рдорд╛рд░реЗ package.json рдореЗрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ ...

рдЗрд╕ рдкрд░ рдХреЛрдИ рднреА рд╕рдорд╛рдЪрд╛рд░?

рдЕрднреА рддрдХ рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдРрдб-рд╣реЙрдХ рдХреЙрдорди рдЬреЗрдПрд╕ рдЪреЗрдХрд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдпрд╛рд░реНрди рдХреЗ рдЙрддреНрдерд╛рдкрди рдФрд░ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рджрдо https://github.com/yarnpkg/yarn/pull/2419 рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рдиреЛрдб_рдореЙрдбрд▓реНрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рдЗрд╕ рдмрдЧ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХреЛ рдкрдХрдбрд╝рдиреЗ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреЗ рдкреНрд░рддрд┐рдЧрдорди рд╕реЗ рд╣рдореЗрдВ рдмрдЪрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ред

@ рдмрд┐рд▓реНрд▓реА рдХреЗ рдмрдЪреНрдЪреЗ рдкрд░ рдирдЬрд╝рд░ рд╣реИ рдХрд┐ рдпрд╣рд╛рдБ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред
рдмрдЧ рддреБрдЪреНрдЫ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рдареАрдХ рд╣реИ, рдирд╡реАрдирддрдо рдЯреНрд░рдВрдХ рдХреЗ рд╕рд╛рде рдЕрдм рд╕рднреА рд░рд┐рдкреНрд░реЛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ред
рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдЕрдм рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ yarn check --verify-tree рдкрд╛рд╕ рд╣реЛрддрд╛ рд╣реИ

рдпрд╣ рдПрдХ рдкреБрди: рдкреЗрд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рднреА https://github.com/yarnpkg/yarn/issues/761#issuecomment -+реирем,режреп,ренрел,режрезреи рдФрд░ https://github.com/yarnpkg/yarn/issues/761#issuecomment -+реирем,релрео,реирей,релреиреп

рд╣рд╛рдБ, рдЙрд╕ рд░рд┐рдкреНрд░реЛ рдХреЛ 0.18.1 рдХреЗ рд╕рд╛рде рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

2 рд╡рд┐рдЪрд╛рд░:

рдХреНрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рд▓реЙрдЧ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдореИрдВ рдЖрдкрдХреЛ рд▓реЙрдХрдлрд╝рд╛рдЗрд▓ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдЬреЛ рдЗрд╕реЗ рдХрд╛рдо рдкрд░ рдкреБрди: рдкреЗрд╢ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдирд┐рдЬреА рдбрд┐рдкреЛ рдХреЗ рдХрд╛рд░рдг рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдВрдЧреЗред рдЖрдк рдкреИрдХреЗрдЬ рдХреЛ рд▓рд╛рдиреЗ рдФрд░ рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрд╛рд░реЛрдВ рдУрд░ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

@SimenB , рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд╣рд╛рдВ рд╕рдВрдХрд▓реНрдк --production рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЯреВрдЯ рдЧрдпрд╛ рд╣реИ?

рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

yarn install --production --verbose
yarn check --production --verify-tree

рдирд╡реАрдирддрдо рдорд╛рд╕реНрдЯрд░ рд╢рд╛рдЦрд╛ рдХреЗ рд╕рд╛рдеред
рдпрджрд┐ рдЖрдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рд▓реЙрдЧ рдирд╣реАрдВ рднреЗрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ [email protected] рдкрд░ рд╕рдВрджреЗрд╢ рднреЗрдЬреЗрдВ

рд╣рд╛рдБ, 0.18.1 рдЕрднреА рднреА рдЯреВрдЯ рдЧрдпрд╛ рдерд╛, 0.19 (рдпрд╛ рдорд╛рд╕реНрдЯрд░) рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ рдпрд╣ рдЕрднреА рднреА рдкреБрди: рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ (рдЖрд╢рд╛ рдирд╣реАрдВ!), рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдирд┐рдЬреА рд░реВрдк рд╕реЗ рд▓реЙрдЧ рднреЗрдЬреВрдВрдЧрд╛

рдЖрдЗрдП рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдмрдВрдж рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ рд╢реАрд░реНрд╖рдХ рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИред
2 рдЦреБрд▓реЗ рд╣реБрдП рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрднреА рддрдХ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ: # 2263 рдФрд░ # 2141 рд╡рд╣рд╛рдБ рдЯрд┐рдкреНрдкрдгреА рдХрд░рдиреЗ рдпрд╛ рдЕрдкрдиреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдмрдирд╛рдиреЗ рдФрд░ рдореБрдЭреЗ cc рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВред

2all: рдЬрдм рдЖрдк рдЯрд┐рдкреНрдкрдгреА рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╕реНрдерд╛рдкрдирд╛ рдЧрд▓рдд рд╣реИ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ package.json рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХреЗрдВред
рдХреБрджреЛрд╕ @jkrems рдХреЛ рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рд╛рдиреЗ рдФрд░ рдПрдХ рднрдпрд╛рдирдХ рд░реЗрдкреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП: https://github.com/yarnpkg/yarn/issues/761#issuecomment -265823529

@bestander рдХреНрдпрд╛ рдЖрдкрдиреЗ https://github.com/yarnpkg/yarn/issues/761#issuecomment -268130124 рдХреА рднреА рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдВрдЪ рдХреА рд╣реИ?

@adamreisnz , рдХреНрдпрд╛ рдЖрдк рдкреИрдХреЗрдЬ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреГрдкрдпрд╛ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдВ?

https://github.com/yarnpkg/yarn/issues/761#issuecomment -268130124 рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИред

рд╡рд╣ рдПрдХ yarn install --production рд▓рд┐рдП рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдпрд╣ рдореБрджреНрджрд╛ рд▓рдЧрднрдЧ yarn install --production рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рд╣реА рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИред

@bestander рдореИрдВрдиреЗ рдЗрд╕реЗ рдиреАрдЪреЗ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛ рд╣реИ, https://github.com/yarnpkg/yarn/issues/761#issuecomment -268201708, рдЪреАрдпрд░реНрд╕

рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдорд╛рд╕реНрдЯрд░ (c98df16b) рдХреЗ рд╕рд╛рде рдЕрд╕рдлрд▓ ...

yarn check --verify-tree рдлреЗрдВрдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдЖрд╢рд╛рдЬрдирдХ рд╣реИред рдЙрди рдХреЗ рдмрд╣реБрдд рд╕рд╛рд░реЗ рджреЗрд╡ рдбреЗрдк рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣реИрдВред

yarn check v0.20.0-0
error "babel-preset-es2015" not installed
error "browserify-middleware" not installed
error "cheerio" not installed
error "codeceptjs" not installed
error "del-cli" not installed
error "eslint" not installed
error "eslint-config-finn" not installed
error "espower-loader" not installed
error "hashmark" not installed
error "interfake" not installed
error "nightmare" not installed
error "nightmare-upload" not installed
error "nock" not installed
error "nodemon" not installed
error "nyc" not installed
error "power-assert" not installed
error "sinon" not installed
error "supertest" not installed
error "uglifyify" not installed
error "@finn-no/express-base#nunjucks#chokidar#anymatch" not installed
error "@finn-no/express-base#unleash-client#request#json-stringify-safe" not installed
error "@finn-no/express-base#pretty-error#renderkid#css-select#domutils#dom-serializer#entities" not installed
error Found 22 errors.

рдРрдк рдХреЛ рдЪрд▓рд╛рдиреЗ рдкрд░, рдпрд╣ рдХрд┐рд╕реА рднреА рдЕрдиреБрдкрд▓рдмреНрдз рдХреЛ рд╡рд┐рдлрд▓ рдХрд░ рджреЗрддрд╛ рд╣реИред

npm ls рдЕрдиреНрдп рд▓рд╛рдкрддрд╛ рдбрд┐рдкреНрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ

npm ERR! extraneous: [email protected] /Users/simbekkh/repos/frontpage/node_modules/node-pre-gyp
npm ERR! missing: anymatch@^1.3.0, required by [email protected]
npm ERR! missing: entities@~1.1.1, required by [email protected]
npm ERR! missing: json-stringify-safe@~5.0.1, required by [email protected]

рдФрд░ рдпрд╣ рдореБрджреНрджреЗ рдХрд╛ рдЕрд╡рд▓реЛрдХрди / рдХрд╛рд░рдг рдерд╛: https://github.com/yarnpkg/yarn/issues/761#issuecomment -268331340

рдЖрдк рд╕рд╣реА рд╣реИрдВ, рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рдореВрд▓ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧреВрдЧрд▓-рдХреНрд▓рд╛рдЙрдб рдФрд░ / рдпрд╛ рдмреИрдмреЗрд▓-рдХреНрд▓реА рдХреЗ рдмрдЬрд╛рдп nopt istanbul рдкреИрдХреЗрдЬ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдФрд░ рд╢рд╛рдпрдж рдЗрд╕реАрд▓рд┐рдП рдЗрд╕реЗ рдЙрддреНрдкрд╛рджрди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ istanbul рдПрдХ рдкреНрд░реЛрдбрдХреНрдЯ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИред

рдУрд╣, рдХреНрд╖рдорд╛ рдХрд░реЗрдВ, @SimenB

yarn check --prodution --verify-tree

рдореИрдВ рдЕрдкрдиреА рдЯрд┐рдкреНрдкрдгреА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реВрдВрдЧрд╛

yarn check --verify-tree --production рдПрдХ рдЕрдЪреНрдЫрд╛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрддрд╛ рд╣реИ (рдпрд╣ npm ls рд╕рд╣рдордд рд╣реИ):

yarn check v0.20.0-0
error "@finn-no/express-base#nunjucks#chokidar#anymatch" not installed
error "@finn-no/express-base#unleash-client#request#json-stringify-safe" not installed
error "@finn-no/express-base#pretty-error#renderkid#css-select#domutils#dom-serializer#entities" not installed
error Found 3 errors.

@bestander рдореИрдВ рдЖрдкрдХреЛ рдИрдореЗрд▓ рднреЗрдЬреВрдБрдЧрд╛ рдкреИрдХреЗрдЬ, рдпрд╛рд░реНрди, рдпрд╛рд░реНрдиред рдФрд░ рд╡рд░реНрдмреЛрдЬрд╝ рд╕реНрдерд╛рдкрд┐рдд рд▓реЙрдЧ you

@dashmug рдХреНрдпрд╛ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ рдЙрд╕ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдЯрд┐рдХрдЯ рдмрдирд╛рдКрдВ? рдпрд╣ рдЕрднреА рднреА рдЧрд▓рдд рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИ (рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП), рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдЯрд┐рдХрдЯ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

@bestander рдИрдореЗрд▓ рднреЗрдЬрд╛ рдЧрдпрд╛ред
рдЬрдмрдХрд┐ @finn-no/express-base рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИ, рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рдЕрдиреНрдп 3 рдкреИрдХреЗрдЬ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдореБрдЭреЗ рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП?

@adamreisnz , рдХреНрдпрд╛ рдЖрдк рдПрдХ рдирдпрд╛ рдореБрджреНрджрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ?
рдореИрдВ рдЗрд╕реЗ рдкреБрди: рдкреЗрд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рд▓реЗрдХрд┐рди рдпрд╣ рд╢реАрд░реНрд╖рдХ рдПрдХ рд╕реЗ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИ

рдпрд╣ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рд╢рд╛рдпрдж рд╡рд╣реА рдХрд╛рд░рдгред рдмрд╕ рдПрдХ рдЕрд▓рдЧ рд▓рдХреНрд╖рдг рд╣реИред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦреВрдВрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╢реАрд░реНрд╖рдХ рдХрд╣рддрд╛ рд╣реИред

@SimenB , рдзрдиреНрдпрд╡рд╛рдж, рдореИрдВ рдПрдХ рдирдЬрд╝рд░ рд╣реЛрдЧрд╛

рдареАрдХ рд╣реИ рд▓реЛрдЧ рдХрд░реЗрдВрдЧреЗред

@bestander рдПрдХ рдкреИрдХреЗрдЬ wth рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рд┐рд░реНрдл 3 рд╣реА рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбрд┐рдкреЛ рдХреЗ рд╕рд╛рде рдорд╛рд╕реНрдЯрд░ рдкрд░ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рдиреНрдпреВрдирддрдо рдкреНрд░рдЬрдирди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА

{
  "name": "app",
  "version": "1.0.0",
  "dependencies": {
    "brakes": "^2.5.1",
    "compression": "^1.6.2",
    "envalid": "^2.4.0",
    "express": "^4.14.0",
    "object.entries": "^1.0.4",
    "prom-client": "^7.0.0",
    "response-time": "^2.3.2",
    "spaden": "^7.13.1",
    "yarn-issue-repro-package": "^1.0.0"
  },
  "devDependencies": {
    "babel-preset-es2015": "^6.18.0",
    "browserify": "^13.1.1",
    "browserify-middleware": "^7.1.0",
    "cheerio": "^0.22.0",
    "codeceptjs": "^0.4.13",
    "del-cli": "^0.2.1",
    "eslint": "^3.12.2",
    "eslint-config-finn": "^1.0.1",
    "espower-loader": "^1.0.1",
    "hashmark": "^4.1.0",
    "interfake": "^1.19.0",
    "mocha": "^3.2.0",
    "nightmare": "^2.9.0",
    "nightmare-upload": "^0.1.1",
    "nock": "^9.0.2",
    "nodemon": "^1.11.0",
    "nyc": "^10.0.0",
    "power-assert": "^1.4.1",
    "sinon": "^1.17.6",
    "supertest": "^2.0.1",
    "uglify-js": "^2.7.5",
    "uglifyify": "^3.0.4"
  }
}

package.json yarn-issue-repro-package

{
  "name": "yarn-issue-repro-package",
  "version": "1.0.0",
  "main": "index.js",
  "license": "MIT",
  "dependencies": {
    "nunjucks": "^2.5.2",
    "pretty-error": "^2.0.2",
    "unleash-client": "^1.0.0-beta.7"
  }
}

рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдпрд╣ 3 рдХреЗ рдмрдЬрд╛рдп 4 рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдЙрддреНрдкрд╛рджрди ...

$ yarn check v0.20.0-0                                                                                                   тФВтФЬтФА [email protected]
error "yarn-issue-repro-package#nunjucks#chokidar#anymatch" not installed                                              тФВтФФтФА [email protected]
error "yarn-issue-repro-package#unleash-client#request#json-stringify-safe" not installed                              тФВтЬи  Done in 2.65s.
error "yarn-issue-repro-package#nunjucks#yargs#string-width#code-point-at" not installed                               тФВ ~/repos/yarn-issue-repro-package юВ░ vim package.json
error "yarn-issue-repro-package#pretty-error#renderkid#css-select#domutils#dom-serializer#entities" not installed      тФВ ~/repos/yarn-issue-repro-package юВ░ npm publish
error Found 4 errors.

рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдЖрдЙрдЯрдкреБрдЯ (0.19.1 рдХреЗ рд╕рд╛рде рдкрд░реАрдХреНрд╖рдг) рд╣реИ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг рдвреВрдВрдв рд▓рд┐рдпрд╛ рд╣реИред
рдкреИрдХреЗрдЬ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рдХреЛ рдирд┐рдореНрди рдкреИрдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

{ "dependencies": {
    "bcrypt": "^1.0.1",
    "gamepad": "1.4.2"
  },
  "devDependencies": {
     "istanbul": "^1.0.0-alpha.2"
  }
}

рдФрд░ рдлрд┐рд░ рдЖрдЬреНрдЮрд╛

rm -rf node_modules yarn.lock
yarn install
rm -rf node_modules
yarn install --production
npm ls abbrev

рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, abbrev рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИред

abbrev рдХрд╛ рдЙрдкрдпреЛрдЧ istanbul рдФрд░ nopt рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ yarn why abbrev рд╕реЗ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред nopt istanbul рдФрд░ node-pre-gyp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ bcrypt рдФрд░ gamepad )ред

рдЬрдм рдкреИрдХреЗрдЬ рд╣реЛрд┐рд╕реНрдЯрд░ рдореЗрдВ abbrev рдШрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрддреНрдерд╛рдкрди рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдирдП isIgnored рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:

          // switch to non ignored if earlier deduped version was ignored
          if (existing.isIgnored() && !info.isIgnored()) {
            existing.isIgnored = info.isIgnored;
          }

abbrev рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд╣рд▓реЗ рдЙрддреНрдерд╛рдкрди рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИред рдЙрд╕ рд╕рдордп, рдореМрдЬреВрджрд╛ рд░рд┐рдХреЙрд░реНрдб istanbul#abbrev (рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ istanbul рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдФрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рд░рд┐рдХреЙрд░реНрдб istanbul#nopt#abbrev , рдЬрд┐рд╕реЗ рдЙрд╕реА рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рднреА рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред ред

рдХреНрдпреЛрдВрдХрд┐ рдЙрд╕ рд╕рдордп рджреЛрдиреЛрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдирджреЗрдЦрд╛ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдЬреИрд╕рд╛ рдХрд┐ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ - рдХреНрдпреЛрдВрдХрд┐ nopt node-pre-gyp рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдХрд╛рд░рдг рдмрд╛рдж рдХреЗ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдореЗрдВ рдЧреИрд░-рдЕрдирджреЗрдЦрд╛ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХрд┐рд╕реА рднреА рд╕рдордп рджреЛрдиреЛрдВ рд░рд┐рдХреЙрд░реНрдб рдХреА рдЕрдирджреЗрдЦреА рд╕реНрдерд┐рддрд┐ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдирдП рдЕрдирджреЗрдЦреЗ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЙрдиреНрд╣реЗрдВ рдорд┐рд╢реНрд░рдг рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реНрдерд╛рдкрдирд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рджреВрд░ рд╣реЛ рдЬрд╛рддреА рд╣реИ рдЬрдм рд╣рдо рдЙрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реИрдВ

          // switch to non ignored if earlier deduped version was ignored
          if (existing.isIgnored()) {
            if (info.isIgnored()) {
              // both are ignored now, but any one could become non ignored later on.
              let oldIsIgnored = existing.isIgnored;
              existing.isIgnored = () => oldIsIgnored() && info.isIgnored();
            } else {
              existing.isIgnored = info.isIgnored;
            }
          }

@blexrob , рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ!
рдХреНрдпрд╛ рдЖрдк рдПрдХ рдкреАрдЖрд░ рднреЗрдЬреЗрдВрдЧреЗ?
рдПрдХреАрдХрд░рдг рдореЗрдВ "- рдЕрдкрдЪрдпрди рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рдЦреЛрдиреА рдЪрд╛рд╣рд┐рдП" рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдХреНрд╖рдо рдкрд░реАрдХреНрд╖рд╛ рд╣реИред рдЬреЛ рдЕрднреА рддрдп рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП

@bestander , рдмрд╕ рдЗрд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдлрд┐рдХреНрд╕ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрддрд╛рдП рдЧрдП рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рд╕реНрдЯреИрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪрдХреНрд░ рдкреЙрдк рдЕрдк:

d#es5-ext -> es6-symbol#es5-ext -> es6-set#es5-ext -> es6-iterator#es5-ext -> es6-map#es5-ext -> es5-ext#es6-iterator -> es6-set#es6-iterator -> es6-weak-map#es6-iterator -> event-emitter#es5-ext -> d#es5-ext

рддреЛ, рднреЛрд▓реА рдкреБрдирд░рд╛рд╡рд░реНрддреА рдХреЙрд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдмрд╛рд╣рд░ рд╣реИ ...

рд╣рд╛рдБ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдЯреНрд╡рд┐рдХ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдЪрд╛рд░ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ

рдореБрдЭреЗ рдпрд╛рд░реНрди 0.27.5-1 рдХреЗ рд╕рд╛рде phantomjs-prebuilt рдореЙрдбреНрдпреВрд▓ (рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ) рдХреЗ рд╕рд╛рде рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИред
рддреЛ рдЕрдм рдореИрдВ рдбрдореА рдХрд░ yarn add phantomjs-prebuilt рд╕реЗ рдкрд╣рд▓реЗ, yarn install --production ред

рдореБрдЭреЗ рдпрд╣ рдХрд╣рддреЗ рд╣реБрдП рдЦреЗрдж рд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА рдпрд╛рд░реНрди 1.3.2 рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд▓рдЧрддреА рд╣реИред
Netlify рдкрд░ рдореЗрд░рд╛ рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ рдЬрдм рдореИрдВ рдпрд╛рд░реНрди 1.3.2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╛рд░реНрди 0.18.2 рдХреЗ рд╕рд╛рде рд╕рдлрд▓ рд░рд╣рд╛ред
рдПрдХ cannot find module 'are-we-there-yet' рдФрд░ рдХреЗрд╡рд▓ рдЙрддреНрдкрд╛рджрди рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред

@adamreisnz , рдпрд╣ рдзрд╛рдЧрд╛ рд╕рднреА рдореБрджреНрджреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИред
рдХреНрдпрд╛ рдЖрдк рд░реЗрдкреНрд░реЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВ?

@ рдПрд╕реНрдмреИрдВрдбрд░ рдХрд┐рдпрд╛, рдзрдиреНрдпрд╡рд╛рджред

рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрднреА рднреА рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ jq рдЪрд╛рд╣рддреЗ рд╣реИрдВ

$ python -c "import json; p = json.loads(open('package.json').read()); del p['devDependencies']; open('package.json', 'w').write(json.dumps(p, indent=2));"

рдореИрдВ рдпрд╛рд░реНрди 1.17.3 рдФрд░ рдиреЛрдб v10.16.2 lerna рдореЛрдиреЛрд░рдкреЛ рдореЗрдВ рд╣реВрдВред рдЕрднреА рднреА рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реИред

рдореИрдВ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рднреА рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд┐рд░реНрднрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ yarn install --production рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдХреЗрд╡рд▓ рджреЛ рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рдкрд░ рдПрдХ Lerna рдпрд╛рд░реНрди рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ, рдЬреЛ рдЪрд░рдо рд╡реНрдпрд╡рд╣рд╛рд░ рд╕рдордЭрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреЗ рд╕рд╛рде @hannadrehman рдХреЗ рд╕рдорд╛рди monorepo рд╣реВрдБред

рдпрд╛рд░реНрди рд╕рдВрд╕реНрдХрд░рдг: 1.22.0
рдиреЛрдб: v12.16.1

npm install --production рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

@hannadrehman рдЖрдкрдХреЗ рдореЛрдиреЛрд░реЗрдкреЛ рдХреЗ рдкреИрдХреЗрдЬ рдХрд╛ рдкреНрд░рд╢реНрди рд╣реИ?

@ TAnas0 рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛

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

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

Ambroos picture Ambroos  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

baptistelebail picture baptistelebail  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

mnpenner picture mnpenner  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

chiedo picture chiedo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MunifTanjim picture MunifTanjim  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ