Skip to content

Commit

Permalink
fix(@jcoreio/toolchain): fix bugs with upgrade in monorepos
Browse files Browse the repository at this point in the history
  • Loading branch information
jedwards1211 committed May 15, 2024
1 parent aafbd73 commit dcbcce2
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 8 deletions.
23 changes: 15 additions & 8 deletions packages/base/scripts/upgrade.cjs
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
#!/usr/bin/env node

const { packageJson, monorepoProjectDir } = require('../util/findUps.cjs')
const {
packageJson,
isMonorepoRoot,
monorepoSubpackageJsons,
} = require('../util/findUps.cjs')
const execa = require('../util/execa.cjs')
const { name } = require('../package.json')

async function upgrade([version] = []) {
const { devDependencies = {} } = packageJson
const toolchains = Object.keys(devDependencies).filter((pkg) =>
pkg.startsWith(`${name}-`)
)
const toolchains = [
...new Set(
[packageJson, ...(isMonorepoRoot ? monorepoSubpackageJsons || [] : [])]
.flatMap((p) => Object.keys(p.devDependencies || {}))
.filter((pkg) => pkg.startsWith(`${name}-`))
),
]
const isTest = Boolean(process.env.JCOREIO_TOOLCHAIN_SELF_TEST)

if (!isTest && !version) {
Expand All @@ -23,22 +30,22 @@ async function upgrade([version] = []) {
'pnpm',
isTest
? [
...(monorepoProjectDir ? ['-r'] : []),
...(isMonorepoRoot ? ['-r'] : []),
'add',
'-D',
'--prefer-offline',
'../packages/base',
...toolchains.map((t) => t.replace(`${name}-`, '../packages/')),
]
: [
...(monorepoProjectDir ? ['-r'] : []),
...(isMonorepoRoot ? ['-r'] : []),
'update',
'--prefer-offline',
`${name}@^${version}`,
...toolchains.map((t) => `${t}@^${version}`),
]
)
if (monorepoProjectDir) await execa('pnpm', ['run', '-r', 'tc', 'migrate'])
if (isMonorepoRoot) await execa('pnpm', ['run', '-r', 'tc', 'migrate'])
else await execa('tc', ['migrate'])
}

Expand Down
4 changes: 4 additions & 0 deletions packages/base/util/findUps.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,10 @@ exports.monorepoSubpackageJsonFiles = pnpmWorkspace
].map((f) => Path.resolve(monorepoProjectDir, f))
: undefined

exports.monorepoSubpackageJsons = exports.monorepoSubpackageJsonFiles
? exports.monorepoSubpackageJsonFiles.map((f) => fs.readJsonSync(f))
: undefined

const findGitDir = once(function findGitDir(cwd = process.cwd()) {
let stopAt = Path.dirname(monorepoProjectDir || projectDir)
if (stopAt === '/') stopAt = undefined
Expand Down

0 comments on commit dcbcce2

Please sign in to comment.