-
-
Save moos/4635bda5b04dc8113d8ea7ee974cabc2 to your computer and use it in GitHub Desktop.
// per https://docs.npmjs.com/misc/scripts, npm exposes a bunch of variables to | |
// the environment prefixed with npm_config_*, npm_package_* and npm_lifecycle_*. | |
// Here's a list of all variables exposed in my setup. | |
npm_config_access= | |
npm_config_allow_same_version= | |
npm_config_also= | |
npm_config_always_auth= | |
npm_config_argv='{"remain":[],"cooked":["run","foo"],"original":["run","foo"]}' | |
npm_config_auth_type=legacy | |
npm_config_bin_links=true | |
npm_config_browser= | |
npm_config_ca= | |
npm_config_cache=/Users/moos/.npm | |
npm_config_cache_lock_retries=10 | |
npm_config_cache_lock_stale=60000 | |
npm_config_cache_lock_wait=10000 | |
npm_config_cache_max=Infinity | |
npm_config_cache_min=10 | |
npm_config_cafile= | |
npm_config_cert= | |
npm_config_cidr= | |
npm_config_color=true | |
npm_config_commit_hooks=true | |
npm_config_depth=Infinity | |
npm_config_description=true | |
npm_config_dev= | |
npm_config_dry_run= | |
npm_config_editor=vi | |
[email protected] | |
npm_config_engine_strict= | |
npm_config_fetch_retries=2 | |
npm_config_fetch_retry_factor=10 | |
npm_config_fetch_retry_maxtimeout=60000 | |
npm_config_fetch_retry_mintimeout=10000 | |
npm_config_force= | |
npm_config_git=git | |
npm_config_git_tag_version=true | |
npm_config_global= | |
npm_config_global_style= | |
npm_config_globalconfig=/Users/moos/dev/homebrew/etc/npmrc | |
npm_config_globalignorefile=/Users/moos/dev/homebrew/etc/npmignore | |
npm_config_group=20 | |
npm_config_ham_it_up= | |
npm_config_heading=npm | |
npm_config_https_proxy= | |
npm_config_if_present= | |
npm_config_ignore_prepublish= | |
npm_config_ignore_scripts= | |
npm_config_init_author_email= | |
npm_config_init_author_name= | |
npm_config_init_author_url= | |
npm_config_init_license=ISC | |
npm_config_init_module=/Users/moos/.npm-init.js | |
npm_config_init_version=1.0.0 | |
npm_config_json= | |
npm_config_key= | |
npm_config_legacy_bundling= | |
npm_config_link= | |
npm_config_local_address= | |
npm_config_loglevel=notice | |
npm_config_logs_max=10 | |
npm_config_long= | |
npm_config_maxsockets=50 | |
npm_config_message=%s | |
npm_config_metrics_registry= | |
npm_config_node_version=8.6.0 | |
npm_config_offline= | |
npm_config_onload_script= | |
npm_config_only= | |
npm_config_optional=true | |
npm_config_otp= | |
npm_config_package_lock=true | |
npm_config_parseable= | |
npm_config_prefer_offline= | |
npm_config_prefer_online= | |
npm_config_prefix=/Users/moos/dev/homebrew | |
npm_config_production= | |
npm_config_progress=true | |
npm_config_proxy= | |
npm_config_read_only= | |
npm_config_rebuild_bundle=true | |
npm_config_registry= | |
npm_config_rollback=true | |
npm_config_save=true | |
npm_config_save_bundle= | |
npm_config_save_dev= | |
npm_config_save_exact= | |
npm_config_save_optional= | |
npm_config_save_prefix='^' | |
npm_config_save_prod= | |
npm_config_scope= | |
npm_config_script_shell= | |
npm_config_scripts_prepend_node_path=warn-only | |
npm_config_searchexclude= | |
npm_config_searchlimit=20 | |
npm_config_searchopts= | |
npm_config_searchstaleness=900 | |
npm_config_send_metrics= | |
npm_config_shell=/bin/bash | |
npm_config_shrinkwrap=true | |
npm_config_sign_git_tag= | |
npm_config_sso_poll_frequency=500 | |
npm_config_sso_type=oauth | |
npm_config_strict_ssl=true | |
npm_config_tag=latest | |
npm_config_tag_version_prefix=v | |
npm_config_timing= | |
npm_config_tmp=/var/folders/jl/zr54cdxs08l1djw8s4ws2t540000gn/T | |
npm_config_umask=0022 | |
npm_config_unicode=true | |
npm_config_unsafe_perm=true | |
npm_config_usage= | |
npm_config_user=501 | |
npm_config_user_agent='npm/5.5.1 node/v8.6.0 darwin x64' | |
npm_config_userconfig=/Users/moos/.npmrc | |
npm_config_version= | |
npm_config_versions= | |
npm_config_viewer=man | |
npm_execpath=/Users/moos/dev/homebrew/lib/node_modules/npm/bin/npm-cli.js | |
npm_lifecycle_event=foo | |
npm_lifecycle_script='set | grep '\''npm_'\'' ' | |
npm_node_execpath=/Users/moos/dev/homebrew/Cellar/node/8.6.0/bin/node | |
npm_package_dependencies_custom_react_scripts='^0.2.1' | |
npm_package_dependencies_date_fns='^2.0.0-alpha.7' | |
npm_package_dependencies_i18next='^10.0.3' | |
npm_package_dependencies_i18next_xhr_backend='^1.4.3' | |
npm_package_dependencies_mobx='^3.3.1' | |
npm_package_dependencies_mobx_react='^4.3.3' | |
npm_package_dependencies_react='^16.0.0' | |
npm_package_dependencies_react_dom='^16.0.0' | |
npm_package_dependencies_react_i18next='^6.0.6' | |
npm_package_dependencies_react_intl_universal='^1.4.3' | |
npm_package_dependencies_react_router_dom='^4.2.2' | |
npm_package_dependencies_styled_components='^2.2.1' | |
npm_package_description='Foo App' | |
npm_package_devDependencies_enzyme='^3.1.0' | |
npm_package_devDependencies_enzyme_adapter_react_16='^1.0.2' | |
npm_package_devDependencies_jest_enzyme='^4.0.1' | |
npm_package_devDependencies_mobx_react_devtools='^4.2.15' | |
npm_package_devDependencies_react_test_renderer='^16.0.0' | |
npm_package_files_0='build/*' | |
npm_package_gitHead=ee9882658964e5e87359e0a6c8c2914e2ee5afb4 | |
npm_package_license='SEE LICENSE IN LICENSE' | |
npm_package_name=foo-app | |
npm_package_private=true | |
npm_package_publishConfig_registry= | |
npm_package_readmeFilename=README.md | |
npm_package_repository_type=git | |
npm_package_repository_url= | |
npm_package_scripts_build='REACT_APP_VERSION=$npm_package_version react-scripts build' | |
npm_package_scripts_eject='react-scripts eject' | |
npm_package_scripts_foo='set | grep '\''npm_'\'' ' | |
npm_package_scripts_start='REACT_APP_VERSION=$npm_package_version react-scripts start' | |
npm_package_scripts_test='react-scripts test --env=jsdom --verbose' | |
npm_package_version=0.3.2 |
https://stackoverflow.com/questions/45978230/get-version-number-from-package-json-in-react-redux-create-react-app
I created .env
file and set ENV variable, which was accesbile with process.env
See https://stackoverflow.com/a/48619640/302177 for example of usage.
Above list is available for your project by running npm run env
(credit: RobC on stackoverflow).
Can I use this with env-cmd?
@moos I am able to log the version and name of the package. The dependencies are not being exposed. I tried npm_package_dependencies_react
and npm_package_dependencies_react_dom
@mbrevda I am trying to fetch the version of a particular package in my component. For testing purposes, I tried these npm_package_dependencies_react
and npm_package_dependencies_react_dom
, the console log printed nothing.
How about scoped packages? e.g. @scope/some-package
npm pkg get dependencies.react
hi, how i make npm to expose this?