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

Add back check_circular_deps.ts to _tools/ #3562

Closed
Tracked by #3489
kt3k opened this issue Aug 22, 2023 · 7 comments
Closed
Tracked by #3489

Add back check_circular_deps.ts to _tools/ #3562

kt3k opened this issue Aug 22, 2023 · 7 comments

Comments

@kt3k
Copy link
Member

kt3k commented Aug 22, 2023

Context: We plan to publish each sub module of std independently to the registry at the stabilization of it. In that case, the circular dependencies between sub modules prevent them to be published. So now we'd want to avoid circular dependencies inside std.

Add back check_circular_deps.ts from https://github.com/denoland/deno_std/blob/0.177.0/node/_tools/check_circular_deps.ts, and check the circular deps of the entire std modules.

part of #3489

@kt3k kt3k mentioned this issue Aug 22, 2023
16 tasks
@kt3k
Copy link
Member Author

kt3k commented Aug 23, 2023

We'd like to know module-wise circular dependencies. (The above script only detects file-wise circular dependencies. We need to modify it to detect module-wise circular deps)

@kt3k
Copy link
Member Author

kt3k commented Aug 23, 2023

archive depends on:
  - assert
  - io
  - bytes
  - streams
assert depends on:
  - fmt
async depends on:
  - assert
bytes depends on nothing
collections depends on nothing
console depends on:
  - assert
crypto depends on:
  - assert
  - encoding
csv depends on:
  - assert
  - streams
  - bytes
datetime depends on nothing
dotenv depends on:
  - collections
encoding depends on nothing
flags depends on:
  - assert
fmt depends on nothing
front_matter depends on nothing
fs depends on:
  - _util
  - assert
  - path
html depends on nothing
http depends on:
  - assert
  - datetime
  - encoding
  - async
io depends on:
  - assert
  - bytes
json depends on:
  - streams
jsonc depends on:
  - assert
  - json
log depends on:
  - assert
  - fmt
  - fs
  - io
  - bytes
media_types depends on nothing
msgpack depends on:
  - bytes
path depends on:
  - _util
  - assert
permissions depends on nothing
regexp depends on nothing
semver depends on nothing
signal depends on:
  - async
streams depends on:
  - assert
  - bytes
  - async
  - io
testing depends on:
  - assert
  - fmt
  - fs
  - path
  - _util
  - async
  - collections
toml depends on:
  - collections
uuid depends on:
  - assert
  - bytes
  - crypto
wasi depends on:
  - path
  - _util
yaml depends on:
  - io
  - assert
  - bytes

@kt3k
Copy link
Member Author

kt3k commented Aug 23, 2023

graphviz

@lino-levan
Copy link
Contributor

Ideally we'd take out the modules we're deprecating/removing from this graph.

@iuioiua
Copy link
Collaborator

iuioiua commented Aug 26, 2023

Would it be worth automatically writing the image file to the root of the repo in CI? We could even include it in the README. WDYT?

@kt3k
Copy link
Member Author

kt3k commented Aug 28, 2023

closed by #3569

@kt3k kt3k closed this as completed Aug 28, 2023
@kt3k
Copy link
Member Author

kt3k commented Aug 28, 2023

Would it be worth automatically writing the image file to the root of the repo in CI? We could even include it in the README. WDYT?

Including the image in README sounds good to me. Maybe let's have deno task command for updating it, but not run it from CI? (committing back from CI to contributor's branch adds complexities)

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

No branches or pull requests

3 participants