-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
chore: bump esrap #16240
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: bump esrap #16240
Conversation
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
// @ts-expect-error | ||
(ast.trailingComments ||= []).push(...comments); | ||
} | ||
const body = /** @type {ESTree.Program} */ (ast).body; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is the body cast to Node
above and Program
here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
APIs like esrap.print
and zimmerframe.walk
infer the type of node from the first argument. If they infer narrowly, they will complain about the second (or third in zimmerframe's case) argument because it contains visitors for other types of node. In a .ts
file we'd just do print<Node>(ast, visitors)
but that's very cumbersome in JSDoc, so casting ast
is the pragmatic approach
Though now that I think about it, perhaps esrap
and zimmerframe
could NoInfer
the first argument, so that the types come from the visitors instead... huh. I should try this
@@ -398,10 +398,13 @@ export function merge_with_preprocessor_map(result, options, source_name) { | |||
// map may contain a different file name. Patch our map beforehand to align sources so merging | |||
// with the preprocessor map works correctly. | |||
result.map.sources = [file_basename]; | |||
result.map = apply_preprocessor_sourcemap( | |||
file_basename, | |||
Object.assign( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why the change here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
result.map
is now readonly (it is generated lazily in a getter). technically a breaking change but vanishingly unlikely to affect anyone in practice
@@ -111,9 +117,12 @@ export function derived_references_self() { | |||
*/ | |||
export function each_key_duplicate(a, b, value) { | |||
if (DEV) { | |||
const error = new Error(`each_key_duplicate\n${value ? `Keyed each block has duplicate key \`${value}\` at indexes ${a} and ${b}` : `Keyed each block has duplicate key at indexes ${a} and ${b}`}\nhttps://svelte.dev/e/each_key_duplicate`); | |||
const error = new Error(`each_key_duplicate\n${value |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
did prettier ship a breaking change or something? this stuff was happening to me too
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wait no I am truly idiotic, this is changes in formatting due to the new print interface right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
correct
this is #16188 without the new
print
API, just updating the dependency onesrap
. makes the other PR smaller and more focusedBefore submitting the PR, please make sure you do the following
feat:
,fix:
,chore:
, ordocs:
.packages/svelte/src
, add a changeset (npx changeset
).Tests and linting
pnpm test
and lint the project withpnpm lint