📣 Support/Questions?: Please see our Support Page for general support questions. The issues on GitHub should be reserved for bug reports and feature requests.
Run the command(s) with --verbose to produce debugging output. We may ask for
the full command output, including debug statements.
Please also copy/paste the output of the ionic info command into your issue
and be as descriptive as possible. Include any steps that might help us
reproduce your issue.
Post an issue describing your feature to open a dialogue with us. We're happy to hear from you!
Pull requests are most welcome! But, if you plan to add features or do large refactors, please open a dialogue with us first by creating an issue. Small bug fixes are welcome any time.
Our CLI is organized into a single multi-package repository. Common tools, such
as Typescript and jest, are installed in the base directory while package
dependencies are each installed in their respective packages/*/node_modules
directories.
Each packages/* folder represents a package on npm. Packages with cli-
prefix are published under the @ionic namespace, while the ionic package is
published as ionic.
packages/ionic: The globally installed CLI package.packages/cli-utils: The globally installed CLI utilities package.packages/cli-plugin-*: The locally installed CLI plugins.
- We recommend Node 7.6+.
- Our codebase is written in Typescript. If you're unfamiliar with Typescript, we recommend using VS Code and finding a tutorial to familiarize yourself with basic concepts.
- Our test suite uses Jest.
- Fork the repo & clone it locally.
npm installto install the dev tools.npm run bootstrap(will install package dependencies and link packages together)npm run watchwill spin up TS & JS watch scripts for all packages.- Typescript source files are in
packages/*/src. - Good luck! 💪 Please open an issue if you have questions or something is unclear.
- Put
alias ionic-local=/path/to/ionic-cli/packages/ionic/bin/ionic(making sure to change/path/toto your installation directory) in~/.bashrc(or equivalent) andsource ~/.bashrc. - You should now be able to run
ionic-local helpand see your locally installed version.
-
Create a
ionic-local.cmdfile at%AppData%\npm\with the following content:@IF EXIST "%~dp0\node.exe" ( "%~dp0\node.exe" "C:\path\to\ionic-cli\packages\ionic\bin\ionic" %* ) ELSE ( @SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node "C:\path\to\ionic-cli\packages\ionic\bin\ionic" %* )
-
You should now be able to run
ionic-local helpand see your locally installed version without change the existing ionic installation.
OR
- Run
npm i -g in-publishto solve npm prepublish issue. - Run
npm linkfrompackages/ionic. - You should now be able to run
ionic helpand see your locally installed version in place of default ionic installation.
TODO: Be helpful about where to look for commands, utilities, etc.
Cancel any watch scripts before proceeding.
- canary releases:
npm run publish:canary - beta releases:
npm run publish:beta - stable releases:
npm run publish