@opuscapita/npm-scripts
v2.0.1-beta.1
Published
OpusCapita npm scripts
Downloads
972
Readme
OpusCapita npm scripts
Synopsis
Package provides an unified release/build approach for npm package and grails plugin from npm packages.
Usage
Goals
npm-publish
Updates CHANDELOG.md and publishes npm module (all changes are committed and pushed to GIT repository)
options
npm-publish --test
- generates npm package and saves as local file (tarball will be created instead of publishing to NPM)npm-publish --release
- creates release, publishes the package to local repo with callingupdate-changelog
goal
update-changelog
Updates CHANGELOG.md that contains changes between the releases
options
update-changelog --all
- completely regenerate full CHANGELOG.md with all changes between all the releases
grails-plugin-install
Installs grails plugin to local repository
options
grails-plugin-install --release
- installs plugin as release
grails-plugin-deploy
Deploys grails plugin to remote repository
options
grails-plugin-deploy --release
- deploys plugin as release
grails-plugin-package
Packages grails plugin
options
grails-plugin-package --release
- package plugin as release
NPM publish example
package.json
...
"scripts": {
"npm-build": "rimraf ./lib && webpack --config ./webpack.production.config",
"npm-publish": "npm run npm-build && npm-publish",
"publish-release": "npm run npm-publish -- --release",
"publish-snapshot": "npm run npm-publish"
}
...
Grails plugin configuration
If you want publish module as grails resources, you can add grails section in your package.json
package.json (simple resource files definition)
...
"grails": {
"artefactId": "simple-js-resources",
"groupId":"com.opuscapita.grailsplugins",
"resources": {
"simple-resource-module": {
"dependsOn": ["jquery"],
"defaultBundle": false,
"files": {
"bundles/first.js": "js/bundles/first.js",
"bundles/second.js": "js/bundles/second.js"
}
}
},
"standaloneFiles": {
"bundles/first.js": "src/java/first.js",
"bundles/second.js": "src/java/second.js",
"resources/fonts": "web-app/fonts"
}
}
...
package.json (extended resource files definition)
...
"grails": {
"artefactId": "extended-js-resources",
"groupId": "com.opuscapita.grailsplugins",
"resources": {
"complex-resource-module": {
"files": [{
"source": "bundles/main.css",
"target": "css/main.css",
"attrs": {
"type": "css",
"media": "screen, projection, print"
},
"exclude": "bundle, minify"
}, {
"source": "bundles/second.js",
"target": "js/bundles/second.js",
"attrs": {
"type": "js"
}
}]
}
}
}
...
artefactId
- override artefact ID for grails plugins, by default will be taken from project.namegroupId
- override group ID for grails plugins, by default will be com.opuscapita.grailspluginsresources
- defines resource bundles (used Grails Resource plugin) that should be generatedexternal-resources
- String, resource unique name/IDdependsOn
- Array of grails resource module IDs (not required)defaultBundle
- String or Boolean, defines grails resource module defaultBundle value (not required)files
- copy files relative web-app dir (should be Object or Array, see examples above)
standaloneFiles
- copy files relative root dir
To be able to deploy grails plugins you must to have Maven v3.x to be installed and mvn (or mvn.cmd under Windows) available in PATH.
Contributors
- Dmitry Divin [email protected]
- Alexey Sergeev [email protected]
License
OpusCapita npm-scripts is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.