The pwix:external-settings package extends pwix:env-settings by allowing the integrator to address external settings JSON files.
These external settings will have a higher precedence than those from assets as provided by pwix:env-settings.
This let the application have runtime settings which can be updated without having to rebuilt, re-release of even restart the application.
Install the package with the usual command:
meteor add pwix:external-settings
meteor npm install lodash --saveThe exported ExternalSettings global object provides following items:
See below.
A reactive data source.
The package's behavior can be configured through a call to the ExternalSettings.configure() method, with just a single javascript object argument, which itself should only contains the options you want override.
Known configuration options are:
-
environmentVariableNameThe name of the environment variable which holds the list of settings JSON files.
Defaults to
APP_SETTINGS_PATH. -
pathSeparatorDefines the character separator used when splitting the above
environmentVariableNamestring.Defaults to
:(semi-colon). -
verbosityDefines the expected verbosity level.
The accepted value can be any or-ed combination of following:
-
ExternalSettings.C.Verbose.NONEDo not display any trace log to the console
-
ExternalSettings.C.Verbose.CONFIGURETrace
ExternalSettings.configure()calls and their result -
ExternalSettings.C.Verbose.FUNCTIONSTrace functions calls
-
ExternalSettings.C.Verbose.WATCHTrace the watch events
-
ExternalSettings.C.Verbose.RECOMPUTETrace the recompute operations
Defaults to
ExternalSettings.C.Verbose.CONFIGURE. -
Please note that ExternalSettings.configure() method should be called in the same terms both in client and server sides.
Remind too that Meteor packages are instanciated at application level. They are so only configurable once, or, in other words, only one instance has to be or can be configured. Addtionnal calls to ExternalSettings.configure() will just override the previous one. You have been warned: only the application should configure a package.
Starting with v 1.0.0, and in accordance with advices from the Meteor Guide, we no more hardcode NPM dependencies in the Npm.depends clause of the package.js.
Instead we check npm versions of installed packages at runtime, on server startup, in development environment.
Dependencies as of v 1.2.0:
'lodash': '^4.17.0'None at the moment.
None at the moment.
In case of support or error, please report your issue request to our Issues tracker.
P. Wieser
- Last updated on 2026, Apr. 3rd