Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: use workspace:* for dev deps #12186

Merged
merged 1 commit into from Oct 15, 2020

Conversation

JLHwung
Copy link
Contributor

@JLHwung JLHwung commented Oct 15, 2020

Q                       A
License MIT

This PR replaces workspace:^7.x.y to workspace:* when they are in devDependencies. It aligns to the nature of monorepo that some dev dependencies @babel/* are always latest unpublished.

yarn pack will replace workspace:* by an exact version, e.g. 7.12.3. I don't think it has any impact for users since it is in devDependencies.

We have once talked about this in a thread (about dealing with conflicts between the Babel 8 and Babel 7), but I don't remember where it is.

For reference the change is made from a script

const fs = require("fs");
const allPkgs = ["codemods", "eslint", "packages"]
  .flatMap(dir => fs.readdirSync(dir).map(d => `${dir}/${d}/package.json`))
  .filter(p => {
    try {
      fs.readFileSync(p);
      return true;
    } catch {
      return false;
    }
  });

for (const pkg of allPkgs) {
  const p = JSON.parse(fs.readFileSync(pkg, "utf8"));
  let updated = false;

  for (const d of ["devDependencies"]) {
    if (!p[d]) continue;

    for (const [name, version] of Object.entries(p[d])) {
      if (version.startsWith("workspace:")) {
        p[d][name] = `workspace:*`;
        updated = true;
      }
    }
  }

  console.log(pkg, updated);
  if (updated) fs.writeFileSync(pkg, JSON.stringify(p, null, 2) + "\n");
}

@JLHwung JLHwung added the PR: Internal 🏠 A type of pull request used for our changelog categories label Oct 15, 2020
@babel-bot
Copy link
Collaborator

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/30147/

@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

Latest deployment of this branch, based on commit e7d872d:

Sandbox Source
babel-repl-custom-plugin Configuration
babel-plugin-multi-config Configuration

@JLHwung JLHwung merged commit eec01fe into babel:main Oct 15, 2020
@JLHwung JLHwung deleted the use-workspace-star-for-dev-deps branch October 15, 2020 18:03
@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Jan 15, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jan 15, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
outdated A closed issue/PR that is archived due to age. Recommended to make a new issue PR: Internal 🏠 A type of pull request used for our changelog categories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants