v2.0.0-rc.1
版本发布时间: 2015-04-15 01:40:41
krakenjs/kraken-js最新发布版本:v2.4.0(2021-11-24 10:16:38)
Changes
-
Core:
-
Print deprecation warnings for the included 404 and 500 handlers.
-
Breaking Changes
-
Dependency: meddleware (v1 -> v3)
-
Call registered middleware factories with a context set to the method owner. This helps in specific cases (e.g., Passport).
Previously: The factory was called with a context ofnull
. -
Default middleware
enabled
totrue
. I.e., omitting theenabled
option will still enable the middleware.
Previously: middleware was defaultedenabled
tofalse
. -
Remove the ability to toggle the
enabled
state of a middleware at arbitrary points during runtime. Now, a middleware that is notenabled
—by explicitly settingenabled
tofalse
, given breaking change No.1—will not berequire
d (i.e., not parsed), and cannot be enabled at a later time.
Previously: middleware could be toggled. Was by design, but largely unused and caused unanticipated behavior.
-
-
Dependency: confit (v1 -> v2)
-
Resolve the
import
shortstop handler after mergingconfig.json
,[env].json
, and before the other shortstop handlers are resolved.
Previously:import
handler resolved only once, before the rest of the shortstop handlers.implementation 1, implementation 2, Issue, Pull Request
New Behavior:
{ "main": "import:main.json" } // config/config.json { "key": "value", "otherKey": "otherValue" } // config/main.json { "main": { "key": "devValue" } } // config/dev.json { "main": { "key": "devValue", "otherKey": "otherValue" } } // result
-
Change source priority—from highest to lowest (higher overrides lower)— to: command line arguments, environment variables,
[env].json
,config.json
, convenience (environment normalization andenv:*
keys).
Previously: source priority order, from highest to lowest, was[env].json
,config.json
, convenience, environment variables, command line arguments.New Behavior
// config/config.json { "KEY": "fromConfig", "OTHER_KEY": "fromConfig", "THIRD_KEY": "fromConfig" }
OTHER_KEY=fromEnv THIRD_KEY=fromEnv node myApp.js --THIRD_KEY=fromArgv
// result { "KEY": "fromConfig", "OTHER_KEY": "fromEnv", "THIRD_KEY": "fromArgv" }
-