stamp packaging files such as package.json
and README.md
files into multiple build directories
stamp-pkg // default config file name = stamp-pkg.config.js
stamp-pkg config.file.js // optional config file name
- package_src:
string
= sourcepackage.json
location - package_dest:
string
= destinationpackage.json
location - package_ignore:
string[]
= list of attributes to ignore inpackage.json
- package_redefine:
object[]
= list of attributes to redefine inpackage.json
- key:
string
= attribute name inpackage.json
- value:
string
= value for previous attribute inpackage.json
- key:
- readme_src:
string
= sourceREADME.md
location - readme_dest:
string
= destinationREADME.md
location - readme_ignore:
string[]
= list of sections to ignore inREADME.md
by header value - readme_placeholder_values:
object[]
= list of placeholders to be filled inREADME.md
- key:
string
= placeholder patterns inREADME.md
- value:
string
= value to fill in the placeholder - package:
string
=package.json
value to fill in the placeholder
- key:
Example stamp-pkg.config.js
:
module.exports = [
{
package_src:"package.json",
package_dest:"packages/stamp-pkg/package.json",
package_ignore:[
"scripts","devDependencies"
],
package_redefine:[
{
key:"name",
value: "stamp-pkg-cli"
}
],
readme_src: "templates/README.md",
readme_dest: "packages/stamp-pkg/README.md",
readme_ignore: [
"Description", "Notes"
],
readme_placeholder_values:[
{
key:"{{title}}",
value: "stamp-pkg-cli"
},
{
key:"{{version}}",
package: "version"
},
],
}
]
Define stamp-pkg
in the postbuild
in scripts
attribute in package.json
. This way once the build
creates multiple distribution directories, stamping the package.json
and README.md
would be done as a postbuild
process.
{
"scripts": {
"build": "rollup -c",
"postbuild": "stamp-pkg"
}
}