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: add explicit package manager to root_deps fixture #8223

Commits on May 22, 2024

  1. chore: remove legacy filter flags (#7970)

    Remove legacy filter flags now that they've been deprecated for quite
    awhile.
    
    Existing test suite passes. Updated tests that are still applicable and
    removed those that aren't.
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    c73790e View commit details
    Browse the repository at this point in the history
  2. fix(cli): fix bad merge conflict resolution (#8035)

    ### Description
    
    I messed up a resolving a merge conflict and didn't migrate some args
    that moved from `ExecutionArgs` to `RunArgs` in #7613
    
    ### Testing Instructions
    
    Tests on CI pass
    
    Closes TURBO-2872
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    38c66f0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2eb6e93 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    04dc416 View commit details
    Browse the repository at this point in the history
  5. feat: require packageManager in package.json (#8017)

    ### Description
    
    With 2.0 we will now be requiring a `packageManager` field in
    `package.json` as this is a best practice and it helps us behave in a
    deterministic manner.
    
    The actual code change is very straightforward as we remove our package
    manager inference code and return an error if reading package manager
    from `package.json` fails.
    
    Most of the PR is updating tests.
    
    ### Testing Instructions
    
    Updated unit tests
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    6ecc1c3 View commit details
    Browse the repository at this point in the history
  6. feat(filter): no longer infer scope in filters (#8137)

    ### Description
    
    Previously we would infer scope for name filters if there was exactly
    one matching package.
    e.g. `turbo build --filter=ui` would run `@a/ui#build` if there was a
    `@a/ui` package in the workspace
    
    This is confusing and can result in accidentally breaking filters when a
    conflicting package is added e.g. adding `@b/ui` would cause *no* tasks
    to be run along with a zero exit code.
    
    ### Testing Instructions
    
    Updated unit test to verify inference no longer works and using the
    explicit package name still works.
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    8215a70 View commit details
    Browse the repository at this point in the history
  7. chore!(create-turbo): remove old pm arg (#8150)

    ### Description
    
    We replaced this with an option instead of an arg, but cleaning up here!
    
    ### Testing Instructions
    
    <!--
      Give a quick description of steps to test your changes.
    -->
    tknickman authored and chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    6373a42 View commit details
    Browse the repository at this point in the history
  8. feat: error on empty package name (#8152)

    ### Description
    
    We now will error if we encounter a package with a missing or empty
    package name.
    
    This is done in the graph validation step as opposed to construction
    since we don't want to impose this restriction on `@turbo/repository`
    users.
    
    ### Testing Instructions
    
    Added integration test
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    79026a2 View commit details
    Browse the repository at this point in the history
  9. feat(filter): error on invalid filters (#8142)

    ### Description
    
    This PR changes `--filter` so it now will error on certain malformed
    filters:
    - Name filters with no globs that don't match any packages e.g.
    `--filter=fo` instead of `--filter=foo`
    - Directory filters that reference a directory that doesn't exist: e.g.
    `--filter='./pakcages/*'`
    
    Each commit of the PR can be reviewed on it's own.
    
    ### Testing Instructions
    
    Updated existing unit tests. Added additional ones along with an
    integration test.
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    5072baf View commit details
    Browse the repository at this point in the history
  10. Move fs cache location. (#8126)

    ### Description
    
    Moves the file system cache to `.turbo` as discussed in #842.
    
    ### Testing Instructions
    
    Find your favorite Turborepo of choice and run a `turbo` command twice.
    You should miss cache on the first run and hit cache on the second.
    
    CLOSES TURBO-3130
    
    ---------
    
    Co-authored-by: Chris Olszewski <chris.olszewski@vercel.com>
    anthonyshew and chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    2949f49 View commit details
    Browse the repository at this point in the history
  11. refactor(turborepo): Rename outputMode to outputLogs in `turbo.js…

    …on` (#8149)
    
    ### Description
    
    Changed `outputMode` to `outputLogs` in `turbo.json` to match the flag
    name. Also wrote a code mod to migrate `turbo.json` config
    automatically.
    
    ### Testing Instructions
    
    Existing tests are migrated. Also wrote tests for code mod
    NicholasLYang authored and chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    c88de5d View commit details
    Browse the repository at this point in the history
  12. feat: --only now applies to package dependencies (#8163)

    ### Description
    
    Change `--only` so it behaves in a more sensible way. It still shouldn't
    be widely used, but now it at least does what it says it does.
    
    Previously `--only` would still follow package dependencies resulting
    additional tasks getting run that weren't expected.
    e.g. for task definition `"test": {"dependsOn": ["build", "^test"]}` and
    package `a` depending on `b`, then `turbo test --filter=a --only` would
    result in both `a#test` and `b#test` being run. With this PR now only
    `a#test` will be run.
    
    I changed the `--only` logic so now it will limit tasks in the graph to
    exactly those that are in the product of the packages implied by
    `--filter` and the tasks specified in the run args. This should make
    `--only` a far more sensible flag.
    
    
    ### Testing Instructions
    
    Added unit tests for testing the trimming of package dependencies and
    task id style dependencies e.g. `"dependsOn": ["a#test"]`
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    6a59b6f View commit details
    Browse the repository at this point in the history
  13. Rename pipeline to tasks. (#8157)

    ### Description
    
    Renaming the `pipeline` key to `tasks` in turbo.json.
    
    We went this key to better express what Turborepo does with the
    configuration that is provided in this key. We've seen with users that
    the term "pipeline" can be confusing for how `turbo` _really_ executes
    the task graph.
    
    In reality, the keys in the `pipeline` object are really the list of
    _tasks_ registered to `turbo` - so let's call it that.
    
    ### Non-goals
    
    This PR does not include update:
    -  The examples in the repo
    - JS packages
    - `eslint-plugin-turbo`
    
    These updates will be needed in subsequent PRs.
    
    ### Testing Instructions
    
    Hopefully CI will do its job here - but, of course, would appreciate a
    review of my changes to make sure I'm not missing anything my untrained
    eye may be missing.
    
    CLOSES TURBO-3225
    anthonyshew authored and chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    584b25e View commit details
    Browse the repository at this point in the history
  14. feat: add doublestar to exact dir paths (#8180)

    ### Description
    
    If a user provides a glob that points to a directory e.g. `dist` or
    `dist/` then we will add a trailing double star so that the directory
    contents get captured instead of just the directory entry itself.
    
    ### Testing Instructions
    
    Added unit tests for adding doublestar
    Added integration test for verifying that `src/` and `dist` for task
    inputs/outputs get treated as `src/**` and `dist/**` respectively.
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    22abfc4 View commit details
    Browse the repository at this point in the history
  15. chore: unbreak turborepo_2 (#8183)

    ### Description
    
    #8180 and #8157 ended up landing in a way where `globs.t` will fail due
    to using a test fixture that uses the now removed `pipeline` field.
    
    ### Testing Instructions
    
    CI
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    97ee648 View commit details
    Browse the repository at this point in the history
  16. chore: remove globalDotEnv and dotEnv fields (#8181)

    ### Description
    
    This PR removes `globalDotEnv`/`dotEnv` in favor of `globalDependencies`
    and `inputs` which is now fairly ergonomic to use with the addition of
    `$TURBO_DEFAULTS$`.
    
    This PR does *not* update the corresponding JS types.
    
    ### Testing Instructions
    
    Updated existing integration tests
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    ac9f709 View commit details
    Browse the repository at this point in the history
  17. chore: make env mode strict by default (#8182)

    ### Description
    
    Commandeered from #8151
    
    Changes default env mode to strict and remove the "infer" option
    
    ### Testing Instructions
    
    Existing test suite
    
    (Currently some Windows integration tests are failing due to a missing
    env var, opening for review while I work on this)
    
    ---------
    
    Co-authored-by: nicholaslyang <nicholas.yang@vercel.com>
    chris-olszewski and NicholasLYang committed May 22, 2024
    Configuration menu
    Copy the full SHA
    812c49d View commit details
    Browse the repository at this point in the history
  18. feat: allow for negative globs in globalDeps (#8190)

    ### Description
    
    Handle exclusions in `globalDeps` 
    
    ### Testing Instructions
    
    Updated `global-deps.t` to test negative globs.
    chris-olszewski committed May 22, 2024
    Configuration menu
    Copy the full SHA
    28643f5 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. chore: change turborepo licenses to MIT (#8197)

    ### Description
    
    TSIA
    
    This does not change Turbopack licensing
    
    ### Testing Instructions
    
    👀
    chris-olszewski committed May 23, 2024
    Configuration menu
    Copy the full SHA
    e46104a View commit details
    Browse the repository at this point in the history
  2. feat(codemod): add missing package names (#8186)

    ### Description
    
    Codemod to add missing name (or fix duplicates)
    tknickman committed May 23, 2024
    Configuration menu
    Copy the full SHA
    81287bd View commit details
    Browse the repository at this point in the history
  3. chore: remove --ignore flag (#8201)

    ### Description
    
    Removes the `--ignore` flag as it's interaction with other `--filter`
    flags is hard to explain.
    
    If we want to bring it back, then it should be put it into a
    configuration file.
    
    I removed the command line flag and how it feeds into the package
    filtering, but left the underlying implementation of change detector
    as-is. This should make it easy to bring back this behavior via a
    configuration file.
    
    ### Testing Instructions
    
    Existing tests
    chris-olszewski committed May 23, 2024
    Configuration menu
    Copy the full SHA
    1988180 View commit details
    Browse the repository at this point in the history
  4. feat: all dependencies of root package contribute to global hash (#8202)

    ### Description
    
    With this PR we will now factor in all root dependency changes. Not just
    external packages.
    
    Internal packages are handled by hashing all of the files contained in
    the package directory that aren't gitignore'd.
    
    This does have performance implications as we can end up globwalking
    these directories multiple times and hashing the files multiple times if
    they end up as task inputs. This will be addressed in a future PR.
    
    ### Testing Instructions
    
    Added integration test that displays new behavior
    chris-olszewski committed May 23, 2024
    Configuration menu
    Copy the full SHA
    0985a26 View commit details
    Browse the repository at this point in the history
  5. release(turborepo): 2.0.0-canary.0 (#8206)

    Co-authored-by: Turbobot <turbobot@vercel.com>
    github-actions[bot] and turbobot-temp committed May 23, 2024
    Configuration menu
    Copy the full SHA
    7cc6f21 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    6ae0a96 View commit details
    Browse the repository at this point in the history