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");
}
@babel-bot
Copy link
Collaborator

@babel-bot babel-bot commented Oct 15, 2020

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

@codesandbox
Copy link

@codesandbox codesandbox bot commented Oct 15, 2020

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
15 of 16 checks passed
15 of 16 checks passed
Prepare Cache
Details
Test on Node.js Latest
Details
Build Babel Artifacts
Details
Test on Node.js (13)
Details
Test on Node.js (12)
Details
Test on Node.js (10)
Details
Test on Node.js (8)
Details
Test on Node.js (6)
Details
test262-pr Workflow: test262-pr
Details
Gitpod Open an online workspace in Gitpod
Details
Travis CI - Pull Request Build Passed
Details
babel/repl REPL preview is available
Details
build-standalone Workflow: build-standalone
Details
ci/codesandbox Building packages succeeded.
Details
codecov/project 91.81% (target 90.00%)
Details
e2e Workflow: e2e
Details
@JLHwung JLHwung deleted the JLHwung:use-workspace-star-for-dev-deps branch Oct 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.