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

feat: allow typescript@5.3.0-beta as devDependency #7821

Merged

Conversation

JoshuaKGoldberg
Copy link
Member

@JoshuaKGoldberg JoshuaKGoldberg commented Oct 23, 2023

PR Checklist

Overview

Addresses all the changes I think we'll need in source code. This version seems to not have too many, so I lumped them all in together.

Adds an optional suppressWarnings parameter to Converter's withDeprecatedAliasGetter. This allows existing assertions properties to be a non-iterable alias for the newly supported attributes property.

I suspect this is blocked on microsoft/rushstack#4404. Yarn patched the changes from microsoft/rushstack#4408 in manually.

@typescript-eslint
Copy link
Contributor

Thanks for the PR, @JoshuaKGoldberg!

typescript-eslint is a 100% community driven project, and we are incredibly grateful that you are contributing to that community.

The core maintainers work on this in their personal time, so please understand that it may not be possible for them to review your work immediately.

Thanks again!


🙏 Please, if you or your company is finding typescript-eslint valuable, help us sustain the project by sponsoring it transparently on https://opencollective.com/typescript-eslint.

@netlify
Copy link

netlify bot commented Oct 23, 2023

Deploy Preview for typescript-eslint ready!

Name Link
🔨 Latest commit a2bef1d
🔍 Latest deploy log https://app.netlify.com/sites/typescript-eslint/deploys/6551400beee9dc000858e26c
😎 Deploy Preview https://deploy-preview-7821--typescript-eslint.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
Lighthouse
Lighthouse
1 paths audited
Performance: 90 (🔴 down 9 from production)
Accessibility: 100 (no change from production)
Best Practices: 92 (no change from production)
SEO: 98 (no change from production)
PWA: 80 (no change from production)
View the detailed breakdown and full score reports

To edit notification comments on pull requests, go to your Netlify site configuration.

@JoshuaKGoldberg JoshuaKGoldberg added the blocked by external API Blocked by a tool we depend on exposing an API, such as TypeScript's Type Relationship API label Oct 23, 2023
Copy link
Member

@bradzacher bradzacher left a comment

Choose a reason for hiding this comment

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

we can probably just work around the api-extractor problem with a patch for now

@JoshuaKGoldberg JoshuaKGoldberg removed the blocked by external API Blocked by a tool we depend on exposing an API, such as TypeScript's Type Relationship API label Nov 8, 2023
@@ -77,7 +77,7 @@ export interface EstreeToTsNodeTypes {
| ts.Token<ts.SyntaxKind.ImportKeyword | ts.SyntaxKind.NewKeyword>;
[AST_NODE_TYPES.PrivateIdentifier]: ts.PrivateIdentifier;
[AST_NODE_TYPES.IfStatement]: ts.IfStatement;
[AST_NODE_TYPES.ImportAttribute]: ts.AssertEntry;
[AST_NODE_TYPES.ImportAttribute]: ts.ImportAttribute;
Copy link
Member

Choose a reason for hiding this comment

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

Hmm - should we keep both for now...? Can we do one of those "check for TS version range" conditional type magics to pick the right type?

Copy link
Member Author

Choose a reason for hiding this comment

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

I tried a fancy keyof: ac4bedd#diff-6ce24a606b5c67a1a4bb3dbf7060e040e84bd0de5250ec312d8a2ddad931eef0. Is that what you're looking for?

I don't remember previous cases of trying this.

@@ -140,7 +141,7 @@
"pretty-format": "^29",
"react-split-pane@^0.1.92": "patch:react-split-pane@npm%3A0.1.92#./.yarn/patches/react-split-pane-npm-0.1.92-93dbf51dff.patch",
"tsx": "^3.12.7",
"typescript": "patch:typescript@npm%3A5.2.2#./.yarn/patches/typescript-npm-5.2.2-01717e9f84.patch"
"typescript": "patch:typescript@npm%3A5.3.0-beta#./.yarn/patches/typescript-npm-5.3.0-beta-33b1e90865.patch"
Copy link
Member

Choose a reason for hiding this comment

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

The future is now old man dot jpg

We can switch this to the 5.3 RC now

Copy link
Member Author

Choose a reason for hiding this comment

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

yarnpkg/berry#4441 keeps hitting me shakes fist

Copy link
Member Author

Choose a reason for hiding this comment

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

microsoft/TypeScript#56371 never mind 🥲

@JoshuaKGoldberg JoshuaKGoldberg requested review from bradzacher and removed request for bradzacher November 9, 2023 12:44
@JoshuaKGoldberg
Copy link
Member Author

Whoops, didn't mean to re-request review - still have some work to do.

@bradzacher bradzacher changed the title feat: allow typescript@5.3.0-beta as devDependency feat: allow typescript@5.3.0-RC as devDependency Nov 10, 2023
Copy link
Member

@bradzacher bradzacher left a comment

Choose a reason for hiding this comment

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

areyousureaboutthat

@JoshuaKGoldberg
Copy link
Member Author

JoshuaKGoldberg commented Nov 12, 2023

joshgoldberg ~/repos/typescript-eslint/packages/utils $ yarn build
yarn run v1.22.19
$ tsc -b tsconfig.build.json

<--- Last few GCs --->

[67878:0x140008000]    57904 ms: Mark-Compact 4076.2 (4143.2) -> 4075.2 (4143.2) MB, 1872.71 / 0.00 ms  (average mu = 0.087, current mu = 0.000) allocation failure; scavenge might not succeed
[67878:0x140008000]    59200 ms: Mark-Compact 4076.2 (4143.2) -> 4075.2 (4143.2) MB, 1295.12 / 0.00 ms  (average mu = 0.054, current mu = 0.000) allocation failure; scavenge might not succeed


<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 0x100ad214c node::Abort() [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 2: 0x100ad2334 node::ModifyCodeGenerationFromStrings(v8::Local<v8::Context>, v8::Local<v8::Value>, bool) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 3: 0x100c4f4f4 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 4: 0x100e23b9c v8::internal::Heap::GarbageCollectionReasonToString(v8::internal::GarbageCollectionReason) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 5: 0x100e27a50 v8::internal::Heap::CollectGarbageShared(v8::internal::LocalHeap*, v8::internal::GarbageCollectionReason) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 6: 0x100e244b4 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 7: 0x100e2223c v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 8: 0x100e18e90 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
 9: 0x100e196f0 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
10: 0x100dfe6f4 v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
11: 0x1011e5fe0 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
12: 0x101544c44 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
13: 0x106a7b234 
14: 0x106877270 
15: 0x10155cb3c Builtins_ArrayForEach [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
16: 0x106aa6d58 
17: 0x106aba180 
18: 0x106a9fad4 
19: 0x106873824 
20: 0x106a9a510 
21: 0x106a9e23c 
22: 0x106873824 
23: 0x106a9a510 
24: 0x106a9f75c 
25: 0x106873824 
26: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
27: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
28: 0x106aa70a8 
29: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
30: 0x106a9fad4 
31: 0x106873824 
32: 0x106a53eac 
33: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
34: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
35: 0x106aa70a8 
36: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
37: 0x106a9fad4 
38: 0x106873824 
39: 0x1069e975c 
40: 0x1069e9b80 
41: 0x1069e9e74 
42: 0x106a9b010 
43: 0x1069a9558 
44: 0x1069a3968 
45: 0x10698e5cc 
46: 0x106991bf0 
47: 0x106a8bd24 
48: 0x1069e54c0 
49: 0x1069cfb48 
50: 0x10698e5cc 
51: 0x106991bf0 
52: 0x106a8eb74 
53: 0x106996348 
54: 0x106ad34c8 
55: 0x1069d7358 
56: 0x106a786e0 
57: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
58: 0x1069bb7ec 
59: 0x106a572f0 
60: 0x106a5852c 
61: 0x106a5874c 
62: 0x1065e52fc 
63: 0x106aa8008 
64: 0x106a901f4 
65: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
66: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
67: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
68: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
69: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
70: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
71: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
72: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
73: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
74: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
75: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
76: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
77: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
78: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
79: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
80: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
81: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
82: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
83: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
84: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
85: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
86: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
87: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
88: 0x1014bc3e4 Builtins_InterpreterEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
89: 0x1014ba50c Builtins_JSEntryTrampoline [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
90: 0x1014ba1f4 Builtins_JSEntry [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
91: 0x100d9114c v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
92: 0x100d90598 v8::internal::Execution::Call(v8::internal::Isolate*, v8::internal::Handle<v8::internal::Object>, v8::internal::Handle<v8::internal::Object>, int, v8::internal::Handle<v8::internal::Object>*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
93: 0x100c6ae80 v8::Function::Call(v8::Local<v8::Context>, v8::Local<v8::Value>, int, v8::Local<v8::Value>*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
94: 0x100ab7088 node::builtins::BuiltinLoader::CompileAndCall(v8::Local<v8::Context>, char const*, node::Realm*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
95: 0x100b3fb7c node::Realm::ExecuteBootstrapper(char const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
96: 0x100a9c004 node::StartExecution(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
97: 0x100a0d4a4 node::LoadEnvironment(node::Environment*, std::__1::function<v8::MaybeLocal<v8::Value> (node::StartExecutionCallbackInfo const&)>) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
98: 0x100b100f4 node::NodeMainInstance::Run() [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
99: 0x100a9e44c node::LoadSnapshotDataAndRun(node::SnapshotData const**, node::InitializationResultImpl const*) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
100: 0x100a9e76c node::Start(int, char**) [/Users/josh/.nvm/versions/node/v20.2.0/bin/node]
101: 0x184ad3e50 start [/usr/lib/dyld]
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
joshgoldberg ~/repos/typescript-eslint/packages/utils $ 

Pedro Pascal on webcam laughing so hard he appears to almost be crying, then throwing his hands up and crying

@bradzacher
Copy link
Member

@JoshuaKGoldberg have you reported the OOM to the TS team?
Seems like a weird regression between the beta and the RC.

@JoshuaKGoldberg
Copy link
Member Author

Yes: #7821 (comment) -> microsoft/TypeScript#56371. I want to try bisecting too.

@JoshuaKGoldberg JoshuaKGoldberg merged commit b6c40b4 into typescript-eslint:main Nov 13, 2023
48 checks passed
@JoshuaKGoldberg JoshuaKGoldberg deleted the typescript-5.3-beta branch November 13, 2023 13:27
@bradzacher bradzacher changed the title feat: allow typescript@5.3.0-RC as devDependency feat: allow typescript@5.3.0-beta as devDependency Nov 13, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependencies Issue about dependencies of the package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants