Package Exports
- ionic-version
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (ionic-version) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
ionic-version 
Seamlessly shadows the behaviour of npm version
.
npm-scripts hook (automatic method)
Setup
npm install ionic-version --save-dev
# or
yarn add ionic-version --dev
Hook into the "version" or "postversion" npm script in your app's package.json:
{
"name": "myApp",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve",
+ "postversion": "ionic-version"
},
// ...
}
Usage
Before you publish a new build of your app, run npm version <newversion>
.
ionic-version will then update your config.xml
and therefore your platforms/
code during build. Depending on the script and options you choose, it can also automatically amend the version bump commit and update the Git tag created by npm version
. This method should be useful in most cases. If you need more control, take a look at the CLI and options below.
CLI
Setup
npm install -g ionic-version
# or
yarn global add ionic-version
Example usage
cd myApp/
npm version patch
ionic-version
Options
-V, --version output the version number
-a, --amend Amend the previous commit. Also updates the latest Git tag to point to the amended commit. This is done automatically when ionic-version is run from the "version" or "postversion" npm script. Use "--never-amend" if you never want to amend.
--skip-tag For use with "--amend", if you don't want to update Git tags.
-A, --never-amend Never amend the previous commit.
-q, --quiet Be quiet, only report errors.
-h, --help output usage information
You can apply these options to the "version" or "postversion" script too. If for example you want to commit the changes made by ionic-version yourself, add the "--never-amend" option:
{
// ...
"scripts": {
"postversion": "ionic-version --never-amend"
},
// ...
}
API
import version from "ionic-version";
async function doSomething() {
const versionResult = await version({
amend: true
// ...
});
}
// or
version({
amend: true
// ...
})
.then(commitHash => {
console.log(commitHash);
})
.catch(err => {
console.error(err);
});
Functions
- version(program, projectPath) ⇒
Promise.<(string|Error)>
Versions your app
Typedefs
- Promise
Custom type definition for Promises
version(program, projectPath) ⇒ Promise.<(string|Error)>
Versions your app
Kind: global function
Returns: Promise.<(string|Error)>
- A promise which resolves with the last commit hash
Param | Type | Description |
---|---|---|
program | Object |
commander/CLI-style options, camelCased |
projectPath | string |
Path to your Ionic project |
Promise
Custom type definition for Promises
Kind: global typedef
Properties
Name | Type | Description |
---|---|---|
result | * |
See the implementing function for the resolve type and description |
result | Error |
Rejection error object |