https://github.com/maxnowack/meteor-globals
Allows simple usage of meteor globals inside npm packages
https://github.com/maxnowack/meteor-globals
Last synced: about 1 year ago
JSON representation
Allows simple usage of meteor globals inside npm packages
- Host: GitHub
- URL: https://github.com/maxnowack/meteor-globals
- Owner: maxnowack
- License: mit
- Created: 2016-11-24T11:46:34.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-10-05T10:17:04.000Z (over 8 years ago)
- Last Synced: 2025-04-07T00:11:27.762Z (about 1 year ago)
- Language: JavaScript
- Homepage:
- Size: 22.5 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# meteor-globals  [](https://coveralls.io/github/maxnowack/meteor-globals?branch=master)
Allows simple usage of meteor globals inside npm packages
## Limitations
As the name suggests, it's only possible to get the globals. It's not possible to get the es6 exports of custom atmosphere packages.
## Installation
````es6
npm install meteor-globals
````
## Usage
Use `ensureDependencies` to ensure, that all your dependencies are installed. Do it, right after your package was loaded and make sure that you have specified the `name` option, that the user knows were the dependencies are coming from.
After that, you can use `getGlobal` to get the globals from these packages.
````es6
import { ensureDependencies, getGlobal } from 'meteor-globals'
ensureDependencies([
'mongo',
'cultofcoders:redis-oplog',
'teamgrid:optimistic-increment@1.0.0', // depending on specific versions are also possible (semver)
], {
name: 'my-awesome-meteor-npm-package',
restart: true,
})
const Mongo = getGlobal('mongo', 'Mongo') // from core package
const RedisOplog = getGlobal('cultofcoders:redis-oplog', 'RedisOplog') // from atmosphere package
````
## Exports
#### `ensureDependencies(packageNames[], options = { restart: true, name: 'A recently installed npm package'})`
Installes the specified atmosphere packages and forces a restart if the `restart` option is true.
It's highly recommended to specify a name from where the dependencies were installed.
#### `getGlobal(packageName, globalName) => Any`
Gets the value of a meteor global. If `globalName` is omitted, all exports of the specified package will be returned. `getGlobal` returns null if a Package isn't present
#### `checkMeteor(opts = { fileCheck: false, globalCheck: true }) => Boolean`
Checks if executed inside of a meteor project.
#### `ensureDependency(packageName) => Boolean`
Installes a single atmosphere package. Use `ensureDependencies` for convenience.
## License
Licensed under MIT license. Copyright (c) 2017 Max Nowack
## Contributions
Contributions are welcome. Please open issues and/or file Pull Requests.
## Maintainers
- Max Nowack ([maxnowack](https://github.com/maxnowack))