Skip to content

Commit

Permalink
chore: fix publishing scripts (#28292)
Browse files Browse the repository at this point in the history
* chore: fix publishing scripts

* fix package clearing script

Co-authored-by: Michal Piechowiak <[email protected]>
  • Loading branch information
vladar and pieh authored Nov 26, 2020
1 parent 7c511eb commit aa9df5c
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 11 deletions.
9 changes: 4 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -141,13 +141,12 @@
"prebootstrap": "yarn",
"prettier": "prettier \"**/*.{md,css,scss,yaml,yml}\"",
"prepublishOnly": "node scripts/check-publish-access",
"prepack": "node scripts/clear-package-dir --verbose",
"publish": "echo \"Use `yarn publish-next` or `yarn publish-release` instead of `yarn run publish`\"",
"publish-canary": "lerna publish --canary --yes",
"publish-preminor": "lerna publish preminor --pre-dist-tag=next --preid=next --force-publish --allow-branch=master --message=\"chore(release): Publish next pre-minor\"",
"publish-next": "lerna publish prerelease --pre-dist-tag=next --preid=next --allow-branch=master --message=\"chore(release): Publish next\"",
"publish-rc": "lerna publish prerelease --pre-dist-tag=rc --preid=rc --message=\"chore(release): Publish rc\"",
"publish-release": "lerna publish",
"publish-preminor": "node scripts/clear-package-dir preminor --verbose && lerna publish preminor --pre-dist-tag=next --preid=next --force-publish --allow-branch=master --message=\"chore(release): Publish next pre-minor\"",
"publish-next": "node scripts/clear-package-dir prerelease --verbose && lerna publish prerelease --pre-dist-tag=next --preid=next --allow-branch=master --message=\"chore(release): Publish next\"",
"publish-rc": "node scripts/clear-package-dir prerelease --verbose && lerna publish prerelease --pre-dist-tag=rc --preid=rc --message=\"chore(release): Publish rc\"",
"publish-release": "node scripts/clear-package-dir patch --verbose && lerna publish patch",
"test": "npm-run-all -s lint jest test:peril",
"test:coverage": "jest --coverage",
"test:update": "jest --updateSnapshot",
Expand Down
41 changes: 35 additions & 6 deletions scripts/clear-package-dir.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,34 @@ const ignore = require(`ignore`)
const fs = require(`fs-extra`)
const yargs = require(`yargs`)
const chalk = require(`chalk`)
const collectUpdates = require(`@lerna/collect-updates`)
const PackageGraph = require(`@lerna/package-graph`)
const Project = require(`@lerna/project`)
const PromptUtilities = require(`@lerna/prompt`)
const _ = require(`lodash`)
const path = require(`path`)
const packlist = require(`npm-packlist`)
const { execSync } = require(`child_process`)

let argv = yargs
.command(
`* <bump>`,
`Clear previously built and potentially stale files in packages`,
commandBuilder => {
commandBuilder.positional(`bump`, {
choices: [
`major`,
`minor`,
`patch`,
`premajor`,
`preminor`,
`prepatch`,
`prerelease`,
],
})
}
)

.option(`dry-run`, {
default: false,
describe: `Don't delete files - just show what would be deleted`,
Expand Down Expand Up @@ -94,12 +115,20 @@ const getListOfFilesToClear = async ({ location, name }) => {

const run = async () => {
try {
const changed = JSON.parse(
execSync(
`${path.resolve(
`node_modules/.bin/lerna`
)} changed --json --loglevel=silent`
).toString()
const project = new Project(process.cwd())

const packages = await project.getPackages()
const packageGraph = new PackageGraph(packages)

const changed = collectUpdates(
packageGraph.rawPackageList,
packageGraph,
{ cwd: process.cwd() },
{
...project.config,
loglevel: `silent`,
bump: argv.bump,
}
)

const filesToDelete = _.flatten(
Expand Down

0 comments on commit aa9df5c

Please sign in to comment.