这是indexloc提供的服务,不要输入任何密码
Skip to content

Move some fields out of Config #1460

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

Merged
merged 4 commits into from
Jun 30, 2022
Merged

Move some fields out of Config #1460

merged 4 commits into from
Jun 30, 2022

Conversation

gsoltis
Copy link
Contributor

@gsoltis gsoltis commented Jun 29, 2022

First commit:

  • moves ApiClient out of config.Config. Replaces it with a helper to construct it on demand. Currently all of the values for constructing one still come from a config.Config instance. No behavioral change

Second commit:

  • Move TurboJSON out of config.Config. Instead, read it on demand in run and prune
  • Behavioral change: running turbo in a directory w/o a turbo.json will no longer immediately error, so we can display usage / help information. package.json is, however, still required as of this change.

Notes on future work: prune requires TurboJSON because context.WithGraph requires it. But WithGraph only needs it to construct the global hash value, which isn't needed for constructing the package-dependency graph. If migrate calculateGlobalHash to its own top-level function, I think prune won't need turbo.json at all.

@vercel
Copy link

vercel bot commented Jun 29, 2022

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Ignored Deployment
Name Status Preview Updated
turbo-site ⬜️ Ignored (Inspect) Jun 30, 2022 at 5:17PM (UTC)

@gsoltis gsoltis marked this pull request as ready for review June 29, 2022 23:44
Copy link
Contributor

@nathanhammond nathanhammond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit 1

@@ -194,8 +198,7 @@ func ParseAndValidate(args []string, ui cli.Ui, turboVersion string) (c *Config,
Output: output,
})

maxRemoteFailCount := 3
apiClient := client.NewClient(partialConfig.ApiUrl, logger, turboVersion, partialConfig.TeamId, partialConfig.TeamSlug, uint64(maxRemoteFailCount), usePreflight)
maxRemoteFailCount := uint64(3)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kind of a weird place to set a constant.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It both was and is a weird place. I'm not 100% sure we'd even make this one configurable. That being said, I want to punt on it because I think we'll eventually want to tackle config for ApiClient as a whole. That one is probably especially relevant for viper, since it pulls from a couple config files.

var analyticsSink analytics.Sink
if r.config.IsLoggedIn() {
analyticsSink = r.config.ApiClient
analyticsSink = apiClient
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is starting to make me consider threading a context through the client.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that would probably be a good thing to do. We don't fully take advantage of Context now, but http requests are a natural place to do so.

It might be somewhat tricky with the analytics client, since it does batching and flushing in a goroutine, so you can't directly use a Context from anyone who wants to record an event, but there's probably a way to make it work out.

Copy link
Contributor

@nathanhammond nathanhammond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit 2 is good.

Copy link
Contributor

@nathanhammond nathanhammond left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚢

@kodiakhq kodiakhq bot merged commit d83130a into main Jun 30, 2022
@gsoltis gsoltis deleted the gsoltis/client_refactor branch June 30, 2022 18:10
kodiakhq bot referenced this pull request in singlestone/sugar Jul 25, 2022
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [turbo](https://turborepo.org) ([source](https://togithub.com/vercel/turborepo)) | [`1.3.1` -> `1.3.4`](https://renovatebot.com/diffs/npm/turbo/1.3.1/1.3.4) | [![age](https://badges.renovateapi.com/packages/npm/turbo/1.3.4/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/turbo/1.3.4/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/turbo/1.3.4/compatibility-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/turbo/1.3.4/confidence-slim/1.3.1)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>vercel/turborepo</summary>

### [`v1.3.4`](https://togithub.com/vercel/turborepo/releases/tag/v1.3.4)

[Compare Source](https://togithub.com/vercel/turborepo/compare/v1.3.3...v1.3.4)

#### What's Changed

-   fix(deps): update dependency [@&#8203;react-types/radio](https://togithub.com/react-types/radio) to v3.2.1 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1553](https://togithub.com/vercel/turborepo/pull/1553)
-   Move fixtures to correct directory. by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1561](https://togithub.com/vercel/turborepo/pull/1561)
-   fix(cli): don’t exit when no tasks are found by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1564](https://togithub.com/vercel/turborepo/pull/1564)

**Full Changelog**: vercel/turborepo@v1.3.3...v1.3.4

### [`v1.3.3`](https://togithub.com/vercel/turborepo/releases/tag/v1.3.3)

[Compare Source](https://togithub.com/vercel/turborepo/compare/v1.3.2...v1.3.3)

#### What's Changed

-   fix(create-turbo): pnpm peer deps error by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1559](https://togithub.com/vercel/turborepo/pull/1559)

**Full Changelog**: vercel/turborepo@v1.3.2...v1.3.3

### [`v1.3.2`](https://togithub.com/vercel/turborepo/releases/tag/v1.3.2)

[Compare Source](https://togithub.com/vercel/turborepo/compare/v1.3.1...v1.3.2)

#### Core

-   Update schema generation script invocation. by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1436](https://togithub.com/vercel/turborepo/pull/1436)
-   fix(cli): cache with correct file perms by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1429](https://togithub.com/vercel/turborepo/pull/1429)
-   Watch task outputs to avoid cache restorations by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1269](https://togithub.com/vercel/turborepo/pull/1269)
-   Vendor chrometracing, add Close method by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1443](https://togithub.com/vercel/turborepo/pull/1443)
-   Fix symlink mode check. by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1447](https://togithub.com/vercel/turborepo/pull/1447)
-   Fix hashing uncommitted changes by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1448](https://togithub.com/vercel/turborepo/pull/1448)
-   Cross-compile amd64. by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1452](https://togithub.com/vercel/turborepo/pull/1452)
-   fix(cli): prefer IsDir() over explicit type check by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1445](https://togithub.com/vercel/turborepo/pull/1445)
-   Add test to confirm that file copying works as expected. by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1450](https://togithub.com/vercel/turborepo/pull/1450)
-   fix: remove suggestion of using fetch-depth by [@&#8203;harshcut](https://togithub.com/harshcut) in [https://github.com/vercel/turborepo/pull/1438](https://togithub.com/vercel/turborepo/pull/1438)
-   Chip away at path migration by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1459](https://togithub.com/vercel/turborepo/pull/1459)
-   Implement allowing both sides of git comparison by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1442](https://togithub.com/vercel/turborepo/pull/1442)
-   Move some fields out of Config by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1460](https://togithub.com/vercel/turborepo/pull/1460)
-   chore: remove redundant `.turbo` by [@&#8203;shayc](https://togithub.com/shayc) in [https://github.com/vercel/turborepo/pull/1475](https://togithub.com/vercel/turborepo/pull/1475)
-   Depending on root tasks should work by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1485](https://togithub.com/vercel/turborepo/pull/1485)
-   Implement filesystem cookies for filewatch ordering by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1410](https://togithub.com/vercel/turborepo/pull/1410)
-   Label root package in dependency graph by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1491](https://togithub.com/vercel/turborepo/pull/1491)
-   Implement fsevents by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1419](https://togithub.com/vercel/turborepo/pull/1419)
-   Bug: Fix logic that wipes out part of the config by [@&#8203;StevenMatchett](https://togithub.com/StevenMatchett) in [https://github.com/vercel/turborepo/pull/1527](https://togithub.com/vercel/turborepo/pull/1527)
-   Add schema.json to create-turbo templates by [@&#8203;jaredpalmer](https://togithub.com/jaredpalmer) in [https://github.com/vercel/turborepo/pull/1537](https://togithub.com/vercel/turborepo/pull/1537)
-   Filter in package by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1538](https://togithub.com/vercel/turborepo/pull/1538)

#### Internal

-   Ensure we fail if no examples are run by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1441](https://togithub.com/vercel/turborepo/pull/1441)
-   Bump e2e pnpm to 7 by [@&#8203;gsoltis](https://togithub.com/gsoltis) in [https://github.com/vercel/turborepo/pull/1444](https://togithub.com/vercel/turborepo/pull/1444)
-   Add missing dependencies to OSX setup by [@&#8203;trevorr](https://togithub.com/trevorr) in [https://github.com/vercel/turborepo/pull/1487](https://togithub.com/vercel/turborepo/pull/1487)
-   Add golang to OSX setup by [@&#8203;neolivz](https://togithub.com/neolivz) in [https://github.com/vercel/turborepo/pull/1492](https://togithub.com/vercel/turborepo/pull/1492)
-   Configure Renovate by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1499](https://togithub.com/vercel/turborepo/pull/1499)
-   chore(deps): update dependency [@&#8203;types/react](https://togithub.com/types/react) to v17.0.47 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1514](https://togithub.com/vercel/turborepo/pull/1514)
-   chore(deps): update dependency ts-json-schema-generator to v0.98.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1516](https://togithub.com/vercel/turborepo/pull/1516)
-   chore(renovate): support go mod tidy by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1515](https://togithub.com/vercel/turborepo/pull/1515)
-   fix(deps): update dependency [@&#8203;heroicons/react](https://togithub.com/heroicons/react) to v1.0.6 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1520](https://togithub.com/vercel/turborepo/pull/1520)
-   chore(deps): update dependency [@&#8203;babel/core](https://togithub.com/babel/core) to v7.18.6 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1523](https://togithub.com/vercel/turborepo/pull/1523)
-   chore(deps): update dependency tailwindcss to v3.1.6 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1529](https://togithub.com/vercel/turborepo/pull/1529)
-   chore(deps): update dependency autoprefixer to v10.4.7 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1530](https://togithub.com/vercel/turborepo/pull/1530)
-   chore(deps): update dependency eslint-config-prettier to v8.5.0 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1531](https://togithub.com/vercel/turborepo/pull/1531)
-   chore(deps): update pnpm/action-setup action to v2.2.2 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1546](https://togithub.com/vercel/turborepo/pull/1546)
-   chore(deps): update dependency postcss to v8.4.14 by [@&#8203;renovate](https://togithub.com/renovate) in [https://github.com/vercel/turborepo/pull/1542](https://togithub.com/vercel/turborepo/pull/1542)
-   Makefile works for turbobot by [@&#8203;nathanhammond](https://togithub.com/nathanhammond) in [https://github.com/vercel/turborepo/pull/1550](https://togithub.com/vercel/turborepo/pull/1550)

#### Examples

-   feat(examples): add svelte by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1458](https://togithub.com/vercel/turborepo/pull/1458)
-   Fix `yarn start` not working by [@&#8203;elis](https://togithub.com/elis) in [https://github.com/vercel/turborepo/pull/1468](https://togithub.com/vercel/turborepo/pull/1468)
-   feat(examples): add tailwind by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1464](https://togithub.com/vercel/turborepo/pull/1464)
-   fix: added vite.config and fixes for svelte-next.358 by [@&#8203;oneezy](https://togithub.com/oneezy) in [https://github.com/vercel/turborepo/pull/1496](https://togithub.com/vercel/turborepo/pull/1496)
-   chore(examples): update tsconfig declaration val by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1483](https://togithub.com/vercel/turborepo/pull/1483)
-   feat(examples): add react-native-web by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1486](https://togithub.com/vercel/turborepo/pull/1486)
-   Fix tailwind example by [@&#8203;kocisov](https://togithub.com/kocisov) in [https://github.com/vercel/turborepo/pull/1500](https://togithub.com/vercel/turborepo/pull/1500)
-   feat(examples): add nextjs by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1506](https://togithub.com/vercel/turborepo/pull/1506)

#### Documentation

-   docs(cli): update contributing.md with new deps by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1449](https://togithub.com/vercel/turborepo/pull/1449)
-   Update caching.mdx by [@&#8203;chitchu](https://togithub.com/chitchu) in [https://github.com/vercel/turborepo/pull/1482](https://togithub.com/vercel/turborepo/pull/1482)
-   fix(docs): update prune compatibility by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1505](https://togithub.com/vercel/turborepo/pull/1505)
-   Typo: verifcation --> verification by [@&#8203;samouri](https://togithub.com/samouri) in [https://github.com/vercel/turborepo/pull/1517](https://togithub.com/vercel/turborepo/pull/1517)
-   Add `with-prisma` example by [@&#8203;NuroDev](https://togithub.com/NuroDev) in [https://github.com/vercel/turborepo/pull/979](https://togithub.com/vercel/turborepo/pull/979)
-   feat(examples): add cra by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1504](https://togithub.com/vercel/turborepo/pull/1504)
-   Examples fast follows by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1526](https://togithub.com/vercel/turborepo/pull/1526)
-   feat(examples): add docker by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1522](https://togithub.com/vercel/turborepo/pull/1522)
-   chore(examples): clean the kitchen (sink) by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1534](https://togithub.com/vercel/turborepo/pull/1534)
-   \[example/kitchensink] allow accessing vite on any ip/hostname  by [@&#8203;zsoldosp](https://togithub.com/zsoldosp) in [https://github.com/vercel/turborepo/pull/1532](https://togithub.com/vercel/turborepo/pull/1532)
-   chore(docs): improvements by [@&#8203;tknickman](https://togithub.com/tknickman) in [https://github.com/vercel/turborepo/pull/1540](https://togithub.com/vercel/turborepo/pull/1540)

#### New Contributors

-   [@&#8203;harshcut](https://togithub.com/harshcut) made their first contribution in [https://github.com/vercel/turborepo/pull/1438](https://togithub.com/vercel/turborepo/pull/1438)
-   [@&#8203;shayc](https://togithub.com/shayc) made their first contribution in [https://github.com/vercel/turborepo/pull/1475](https://togithub.com/vercel/turborepo/pull/1475)
-   [@&#8203;elis](https://togithub.com/elis) made their first contribution in [https://github.com/vercel/turborepo/pull/1468](https://togithub.com/vercel/turborepo/pull/1468)
-   [@&#8203;chitchu](https://togithub.com/chitchu) made their first contribution in [https://github.com/vercel/turborepo/pull/1482](https://togithub.com/vercel/turborepo/pull/1482)
-   [@&#8203;trevorr](https://togithub.com/trevorr) made their first contribution in [https://github.com/vercel/turborepo/pull/1487](https://togithub.com/vercel/turborepo/pull/1487)
-   [@&#8203;oneezy](https://togithub.com/oneezy) made their first contribution in [https://github.com/vercel/turborepo/pull/1496](https://togithub.com/vercel/turborepo/pull/1496)
-   [@&#8203;neolivz](https://togithub.com/neolivz) made their first contribution in [https://github.com/vercel/turborepo/pull/1492](https://togithub.com/vercel/turborepo/pull/1492)
-   [@&#8203;kocisov](https://togithub.com/kocisov) made their first contribution in [https://github.com/vercel/turborepo/pull/1500](https://togithub.com/vercel/turborepo/pull/1500)
-   [@&#8203;renovate](https://togithub.com/renovate) made their first contribution in [https://github.com/vercel/turborepo/pull/1499](https://togithub.com/vercel/turborepo/pull/1499)
-   [@&#8203;samouri](https://togithub.com/samouri) made their first contribution in [https://github.com/vercel/turborepo/pull/1517](https://togithub.com/vercel/turborepo/pull/1517)
-   [@&#8203;NuroDev](https://togithub.com/NuroDev) made their first contribution in [https://github.com/vercel/turborepo/pull/979](https://togithub.com/vercel/turborepo/pull/979)
-   [@&#8203;zsoldosp](https://togithub.com/zsoldosp) made their first contribution in [https://github.com/vercel/turborepo/pull/1532](https://togithub.com/vercel/turborepo/pull/1532)
-   [@&#8203;StevenMatchett](https://togithub.com/StevenMatchett) made their first contribution in [https://github.com/vercel/turborepo/pull/1527](https://togithub.com/vercel/turborepo/pull/1527)

**Full Changelog**: vercel/turborepo@v1.3.1...v1.3.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox.

---

This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/singlestone/sugar).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xMjIuMSIsInVwZGF0ZWRJblZlciI6IjMyLjEyMi4xIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants