
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
clean-release
Advanced tools
A CLI tool to copy files to be released into a tmp clean directory for npm publishing, electronjs packaging, docker image creation, or deployment
A CLI tool to copy files to be released into a tmp clean directory for npm publishing, electronjs packaging, docker image creation or deployment
yarn global add clean-release
run clean-release
or clean-release --config clean-release.config.js
or clean-release --config clean-release.config.ts
key | description |
---|---|
-config | config file |
-h,--help | Print this message. |
-v,--version | Print the version |
--only-changed-packages | Only changed packages will bump. |
--effected-packages | The packages will be considered as effected packages. |
key | type | description |
---|---|---|
include | string[] | the files included, support glob |
exclude | string[]? | the files excluded, support glob |
base | string? | the base path, eg: dist , then dist/foo/bar.js will be copied into foo as foo/bar.js |
postScript | postScript | post script |
releaseRepository | string? | used to publish to a git release repository, eg: https://github.com/plantain-00/baogame-release.git |
releaseBranchName | string? | the branch name of the release repository |
notClean | boolean? | if true, do not clean the tmp directory |
askVersion | boolean? | if true, will ask promp version |
changesGitStaged | boolean? | if true, will make sure all changes is git staged |
execOptions | childProcess.ExecOptions? | passed to childProcess.exec |
onlyChangedPackages | boolean? | if true, for monorepo, only bump changed packages |
postScript?: Script | Script[];
import type * as cleanScripts from 'clean-scripts'
type Script = string | ((context: Context) => cleanScripts.Script) | ((context: Context) => Promise<cleanScripts.Script>)
type Context = {
dir: string
version: string
tag: string | undefined
effectedWorkspacePaths?: string[][]
}
const { name, devDependencies: { electron: electronVersion } } = require('./package.json')
module.exports = {
include: [
'bin/*',
'dist/**/*',
'LICENSE',
'package.json',
'README.md'
],
exclude: [
],
askVersion: true,
changesGitStaged: true,
postScript: ({ dir, version }) => [
'git add package.json',
`git commit -m "${version}"`,
`git tag v${version}`,
'git push',
`git push origin v${version}`,
`cd "${dir}" && npm i --production`,
`prune-node-modules "${dir}/node_modules"`,
`electron-packager "${dir}" "${name}" --out=dist --arch=x64 --electron-version=${electronVersion} --platform=darwin --ignore="dist/"`,
`electron-packager "${dir}" "${name}" --out=dist --arch=x64 --electron-version=${electronVersion} --platform=win32 --ignore="dist/"`,
`7z a -r -tzip dist/${name}-darwin-x64-${version}.zip dist/${name}-darwin-x64/`,
`7z a -r -tzip dist/${name}-win32-x64-$${version}.zip dist/${name}-win32-x64/`,
`electron-installer-windows --src dist/${name}-win32-x64/ --dest dist/`,
`cd dist && create-dmg ${name}-darwin-x64/${name}.app`
]
}
export default {
include: [
'packages/*/dist/*',
'packages/*/package.json',
'packages/*/README.md',
'LICENSE',
'package.json',
'README.md'
],
exclude: [
],
askVersion: true,
changesGitStaged: true,
postScript: ({ dir, tag, version, effectedWorkspacePaths }) => [
...effectedWorkspacePaths.map((w) => w.map((e) => {
return tag
? `npm publish "${dir}/${e}" --access public --tag ${tag}`
: `npm publish "${dir}/${e}" --access public`
})),
`git commit -m "${version}"`,
`git tag -a v${version} -m 'v${version}'`,
'git push',
`git push origin v${version}`
]
}
module.exports = {
include: [
'libs.js',
'main.js',
'config.js',
'index.css',
'scripts/index.js',
'index.html',
'LICENSE',
'package.json',
'README.md'
],
exclude: [
],
postScript: ({ dir }) => [
`cd "${dir}" && npm i --production`,
`electron-packager "${dir}" "news" --out=dist --arch=x64 --version=1.2.1 --app-version="1.0.8" --platform=darwin --ignore="dist/"`,
`electron-packager "${dir}" "news" --out=dist --arch=x64 --version=1.2.1 --app-version="1.0.8" --platform=win32 --ignore="dist/"`
]
}
module.exports = {
include: [
'dist/*.js',
'static/protocol.proto',
'static/scripts/*.bundle-*.js',
'static/index.html',
'LICENSE',
'package.json',
'README.md',
'Dockerfile'
],
exclude: [
],
postScript: ({ dir }) => [
`cd "${dir}" && docker build -t plantain/baogame . && docker push plantain/baogame`
]
}
# v2
cd "${dir}"
# v1
cd ${dir}
FAQs
A CLI tool to copy files to be released into a tmp clean directory for npm publishing, electronjs packaging, docker image creation, or deployment
The npm package clean-release receives a total of 19 weekly downloads. As such, clean-release popularity was classified as not popular.
We found that clean-release demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.