reactioncommerce / reaction-cli Goto Github PK
View Code? Open in Web Editor NEWA command line tool for working with Reaction Commerce.
A command line tool for working with Reaction Commerce.
Followed all in your installation page. All went well but when I run reaction run or reaction the thing just staying there forever..
Windows 7
$ reaction run
Using settings file at settings/dev.settings.json
Setting up plugin imports...
Setting up style imports...
[[[[[ ~\E\Bokluci\reaction ]]]]]
=> Started proxy.
=> Started MongoDB.
This makes a quick way to disable a plugin while this functionality is not available in the CLI
Remove timed CLI command from #42
This request is result of gone through the pain in last couple of days because of failed build efforts on Google Cloud vm n1-standard-1 (1 vCPU, 3.75 GB memory)
it is failing for memory allocation error.
tried other suggestions as well (--build-arg TOOL_NODE_FLAGS="--max-old-space-size=2560")
, but no luck.
Is this possible to build or enhance. (similar to Mup/Mupx)
On start of CLI we should check for updates, rather than the prompt that appears after the command has ran and started reaction. This would help with common version related errors to be reported less often -> it's very common for the update message to be ignored (gasp).
One approach:
If there is an update, block the remaining process with prompt:
Update to CLI required, exit now and update? Y/n".
where Yes is the default.
As a developer, I wish that when the application reload or startup processes exit with Unable to resolve some modules:
, the plugin-loader would rerun.
You can replicate this behaviour by switching branches where a new plugin has been added, while you have a running application. ie, switch from development
to ek-email-templates
(as of 0.17.0).
Example error:
=> Server modified -- restarting...
Unable to resolve some modules:
"/imports/plugins/included/email-templates/server" in
/Users/aaronjudd/ongoworks/reaction/server/plugins.js (os.osx.x86_64)
"/imports/plugins/included/email-templates/register.js" in
/Users/aaronjudd/ongoworks/reaction/server/plugins.js (os.osx.x86_64)
unable to delete apps from the command line.
reaction apps delete --name 2224
Gives..
App deployment not found
Where the app does exist.
While reaction apps delete --app foray-2 --name foray-2
did seem to delete.
maybe ID would be helpful here as well.
reaction test
gives the error-->
SERVER_TEST_REPORTER is not recognized as an internal or external command,
operable program or batch file.
If we can remove the reporter env variable (SERVER_TEST_REPORTER) based on platform (in case of windows let it use default spec reporter), users can use reaction test.
Right now to run on windows user need to run command:
meteor test --once --full-app --headless --driver-package dispatch:mocha
Also I tried to run in gitbash on windows but same error.
`$ reaction init
Cloning the master branch of Reaction from Github...
Cloning into 'reaction'...
Installing NPM packages...
Refreshing package metadata. This may take a moment.
FATAL ERROR: JS Allocation failed - process out of memory
/bin/sh: line 1: 4715 Abort trap: 6 meteor npm install
Error: Node modules were not successfully installed. Exiting.`
I have followed instructions given on official site to setup app on my windows 10 machine.
reaction init - is successful > then i did cd reaction/ then "reaction run"
but when I do "reaction run" I am getting the following message.
This CLI tool has been deprecated in favor of the reaction-cli Node module.
More info at https://www.npmjs.com/package/reaction-cli
You can install it by running:
npm install -g reaction-cli
Then you can see the usage info by running 'reaction --help'
Note: reaciton -v
Node: 4.2.4
NPM: 5.0.3
Meteor Node: 4.8.2
Meteor NPM: 4.5.0
Reaction CLI: 0.9.3
Support specific tag/release installation, in the same manner as branches are already supported.
eg: reaction init --tag release-1.6.0
reaction
is giving error:
/usr/local/lib/node_modules/reaction-cli/dist/utils/logger.js:31
exports.default = Object.assign(_chalk2.default, loggers);
^
TypeError: undefined is not a function
at Object.<anonymous> (/usr/local/lib/node_modules/reaction-cli/dist/utils/logger.js:31:26)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/lib/node_modules/reaction-cli/dist/utils/fs.js:18:15)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
node version: v0.12.2
A couple of people have reported this and now I have replicated it. If you install NodeJs via a package manager (like these instructions here)
You get this error:
brent@badger ~/Projects/js $ npm install -g reaction-cli
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/usr/lib/node_modules\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/brent/.npm/_logs/2017-12-07T06_23_29_026Z-debug.log
brent@badger ~/Projects/js $
This is probably what happens when you sudo apt-get node
and then try to install the CLI.
If installed via yarn
it just says that the application can't be found.
This could just be something where we need to be more specific in the install instructions? Installing any global package after installing with sudo
(like npm install -g yo
) also fails.
reaction cli npm
installs if it detects a package.json
inside a plugin which is good. However, if something like react
is installed in the local node_modules
of a plugin then things go crazy when imported. Like the highlander, there can only be one.
Maybe theres a way to install some node modules to the root app node_modules so that we can avoid duplicate, conflicting modules.
I attempted to do so with script in the install script for npm like so:
inside /imports/plugins/custom/my-plugin
package.json
"scripts": {
"install": "node scripts/install.js"
}
scripts/install.js
exec("npm install --prefix ../../../../../ install some-package");
Which seems to trigger on install when running reaction with reaction-cli
. However, it's feels kinda brittle to do a npm install --prefix ../../../../../ install some-package
if we were to ever move. And symlink plugins would require more path resolution logic.
Users need a way to declare npm dependencies in their custom plugins so they can avoid merge conflicts when the root level package.json changes (which is at least every time we do a version bump). Subdirectory package.json files are supported with npm, but it requires cd
ing into the directory to run the npm
commands. So the CLI will need to scan each plugin dir for a package.json and then run npm install
if one exists.
It would also be great to be able to add/update packages in a plugin's package.json via reaction-cli
without having to manually cd
into the directory. Not sure how gnarly that command would look (probably pretty long), but I think it's at least worth investigating.
HI I'm trying to install reaction-cli but the error keeps popping out.
And i'm using ubuntu 14 also it's nvm installed and i'm using node executables, not nodejs.
How can you fix please ?
root@HelloMac~# npm install -g reaction-cli
npm WARN deprecated [email protected]: This package is deprecated. Use Object.assign.
> [email protected] postinstall /root/.nvm/v4.5.0/lib/node_modules/reaction-cli/node_modules/inquirer/node_modules/external-editor/node_modules/spawn-sync
> node postinstall
module.js:340
throw err;
^
Error: Cannot find module '/root/.nvm/v4.5.0/lib/node_modules/reaction-cli/node_modules/inquirer/node_modules/external-editor/node_modules/spawn-sync/postinstall'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Function.Module.runMain (module.js:497:10)
at startup (node.js:119:16)
at node.js:902:3
npm ERR! Linux 4.4.0-38-generic
npm ERR! argv "/root/.nvm/v4.5.0/bin/node" "/root/.nvm/v4.5.0/bin/npm" "install" "-g" "reaction-cli"
npm ERR! node v4.5.0
npm ERR! npm v2.15.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] postinstall: `node postinstall`
npm ERR! Exit status 8
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node postinstall'.
npm ERR! This is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node postinstall
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs spawn-sync
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!
npm ERR! npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/npm-debug.log
We need to know this information when we want to debug/solve issues with install
we should delete or keep this updated
https://www.npmjs.com/package/@reactioncommerce/reaction-cli
npm's organization stuff is still rather funky I think.
> reaction test --port 3040
Setting up plugin imports...
Running custom test command:
meteor test --port 3040
/Users/mikemurray/.meteor/packages/meteor-tool/.1.4.0-1.1vx5e87++os.osx.x86_64+web.browser+web.cordova/mt-os.osx.x86_64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:165
throw error;
^
Error: You must specify a driver package with --driver-package
at doTestCommand (/tools/cli/commands.js:1624:13)
at Command.func (/tools/cli/commands.js:1496:10)
at /tools/cli/main.js:1410:23
Update the auto response command for any user who types the following:
register login whoami keys apps deploy env domains env keys open whoami
to:
`This command requires being logged into the Reaction Managed Platform.
If you have an account, please log in and try this command again.
If you don't have an account, please see the link below to learn more.
http://getrxn.io/reaction-platform (Actual URL to be determined upon completion of #171)
Just would be cool to switch branches/update and have it run meteor npm install
if necessary. Just a "nice-to-have"
bitHound discovered:
For details go to bitHound.
add --raw-logs to default reaction meteor parameters as a default to ease viewing and log noise.
After running npm i -g reaction-cli
, rc run
or rc reset
gives following error:
> $ reaction reset [±custom-cart_rc1.5.8-0 ✓]
/usr/lib/node_modules/reaction-cli/node_modules/yargs/yargs.js:1079
else throw err
^
SyntaxError: Unexpected token < in JSON at position 1833
at Object.parse (native)
at exports.default (/usr/lib/node_modules/reaction-cli/dist/utils/check_app.js:25:16)
at exports.default (/usr/lib/node_modules/reaction-cli/dist/utils/check_deps.js:22:29)
at Object.builder (/usr/lib/node_modules/reaction-cli/dist/main.js:112:24)
at Object.self.runCommand (/usr/lib/node_modules/reaction-cli/node_modules/yargs/lib/command.js:195:35)
at Object.Yargs.self._parseArgs (/usr/lib/node_modules/reaction-cli/node_modules/yargs/yargs.js:990:30)
at Object.get [as argv] (/usr/lib/node_modules/reaction-cli/node_modules/yargs/yargs.js:927:19)
at Object.<anonymous> (/usr/lib/node_modules/reaction-cli/dist/main.js:163:196)
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)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:383:7)
at startup (bootstrap_node.js:149:9)
rc --version
Node: 6.11.5
NPM: 3.10.10
Meteor Node: 4.8.4
Meteor NPM: 4.6.1
Reaction CLI: 0.21.2
Downgrading to RC-CLI v0.21.1, the error persists. :)
Suggest that there should be a --id
, and ID argument in addition to --app
or --name
.
It feels as though some commands are using --app, others --name, and it's not always apparent which / why. ID might be less legible, but could be consistent.
In my O.S Debian Stretch 9 64 bits, when I run;
npm install -g reaction-cli
this install only for root, not for all users.
I tried too:
yarn global add reaction-cli
and not working too.
To be able to gain the benefits from the autoprefixer and other postcss plugins, styles cannot be imported into the index.js files in their plugins.
Say we have LESS / CSS files in a plugin:
/imports/plugins/.../client/index.less
/imports/plugins/.../client/index.css
And that gets imported to a LESS / CSS file in the app-root/client directory and picked up by the normal Meteor built tool.
/client/theme.less
/client/theme.css
For both debug
and run
option --debug-port
not working.
While parsing the options it is resulting into "--debugPort: unknown option."
would be good if we could prompt that the reaction version has been updated, similar to what cli is doing for itself, but when the reaction versions are updated. seems like it could be tricky.. but it would be useful. maybe branch specific? not sure.
For non managed platform users, we would like to have an auto response message for any user that uses any of the following commands:
register login whoami keys apps deploy env domains env keys open whoami
Message:
This command requires being logged into the managed platform. Learn more: https://reactioncommerce.com/hosting
Replicate with the node:latest
docker image. Seems to appear on some flavors of Linux.
npm info ok
# reaction init
Options:
-v, --version Show version number [boolean]
-h, --help Show help [boolean]
Cannot read property 'warn' of undefined
# npm -v
3.9.5
# node -v
v6.2.2
Hey guys
while trying to do reaction init
i have an error that meteor command has been not found, i know that i can try to install meteor manually, but shouldn't this be somewhere pointed out? or this is not a common issue?
Macbook Pro, latest OSX
Edit: nevermind, finally i've found requirements section :D
the generated package.json does not define our common @reactioncommerce aliases.
This makes it impossible to write:
import { registerComponent, getHOCs, getRawComponent } from "@reactioncommerce/reaction-components";
Reproduce:
reaction plugins create --name my-plugin
imports/plugins/custom/my-plugin/client/index.js
import { registerComponent, getHOCs, getRawComponent } from "@reactioncommerce/reaction-components";
modules-runtime.js:261 Uncaught Error: Cannot find module '@reactioncommerce/reaction-components'
Does not seem to affect functionality but it might make some users think commands have failed when they haven't
Receiving this error when adding my ssh key named launchdock
:
Error: failed [400] {"id":["SSH Key with this id already exists."]}
I also tried using id_rsa.pub
, after Spencer used his id_rsa.pub
, and received the same error.
When I created an ssh key with a unique name - gracethedog.pub
- it worked.
Seems like it's not allowing multiple keys with the same name.
This is game changing, but I've not had the fun to try it out.
I installed the cli and followed the instructions, but
=> App running at: http://localhost:3000/
/User/me/meteor/packages/coffeescript/.1.2.4_1.12kaiqb++os+web.browser+web.cordova/plugin.compileCoffeescript.os/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:165
throw error;
^
Error: ENFILE: file table overflow, scandir '/User/me/site/reaction/client/modules/i18n/templates/header'
at Error (native)
Help needed.
I'm attempting to run the rection-cli deploy command on windows 10. I have four apps that I've tried with. below is also my reaction -v output:
Most commands work fine, including app create. But when I deploy any app I get this output:
As you can see, it doesn't interpret the location of its own Identity file (that the CLI created itself) properly. It seems to skip all the slashes ( I can confirm that the identity file exists in the location it's trying to reach, if it had properly put in the slashes). It looks like a problem in the ssh.js file, but I couldn't get it working. Any help would be great.
And I did confirm that this works fine on Linux.
Keep getting the error on reaction
run
=> Started proxy.
=> Started MongoDB.
cfs:gridfs: updating npm dependencies -- mongodb, gridfs-stream...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Tried 3-4 times since morning fails consistently.
At the same time meteor run
works fine without any issue.
Example
reaction apps create \
--name myapp \
--image reactioncommerce/reaction:latest \
--domain example.com
As a user I want to be able enable or disable a plugin by issuing either reaction enable <plugin>
or reaction disable <plugin>
.
steps to reproduce:
Many (a high number) of new installations of Reaction on macOS are getting Error: ENFILE: file table overflow
and are unable to just install and run reaction because of ths
Error: ENFILE: file table overflow, scandir '/Users/aaronjudd/Projects/reaction/packages/gridfs'
at Error (native)
at Object.fs.readdirSync (fs.js:808:18)
at Object.wrapper (/tools/fs/files.js:1586:35)
at readDirectory (/Users/aaronjudd/.meteor/packages/meteor-tool/.1.4.4_2.
See:
reactioncommerce/reaction#1938
reactioncommerce/reaction#1890
Even though this is a Meteor issue, macOS specific, and there is a work around. Is there a way that we can increase the file limits just for the current reaction run
instance?
Maybe check if the file limit is already set high enough, and on macOS, and if not, then prompt user through the changes needed?
This is an open and ongoing issue at meteor/meteor#6952
analytics appear to be causing a pretty significant performance lag on the cli.
takes about 5-10 seconds for each cli command to respond -> this should not be blocking.
On every upgrade I see warnings, but everything seems to still work fine.
reaction
runs fine, without warnings. Only reporting here, as it does happen on every upgrade and while I suspect it's outside the reaction-cli environment, it's worth tracking for a bit and investigating.
reaction/ (shipping-1320✗) $ npm i -g reaction-cli [21:41:26]
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
(node:58321) Warning: Possible EventEmitter memory leak detected. 11 error listeners added. Use emitter.setMaxListeners() to increase limit
/usr/local/bin/reaction -> /usr/local/lib/node_modules/reaction-cli/dist/main.js
/usr/local/bin/rc -> /usr/local/lib/node_modules/reaction-cli/dist/main.js
/usr/local/lib
└─┬ [email protected]
├─┬ [email protected]
│ └─┬ [email protected]
│ └─┬ [email protected]
│ └── [email protected]
└─┬ [email protected]
└─┬ [email protected]
└── [email protected]
When a package.json
is defined in a custom plugin, install those dependencies
Launch CLI Message after 4 weeks from first command ran
TIMED MESSAGE: Need help with deployment? Learn more about our managed platform: reactioncommerce.com/hosting
When I run reaction run -p 8080
in Cloud 9 IDE it stalls the terminal. The PORT
meteor env var is set.
However, meteor run -p 8080
does startup the Reaction Commerce dev server successfully.
Not sure if this is just a Cloud9 issue. If it is feel free to close it until more protesters arrive but just mainly wanted to report on it for now. Cheers.
Note*
This is on a Pro C9 account with 2.5gb of RAM:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.