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: transpile .mts with swc strip-only #2382

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Conversation

turadg
Copy link
Member

@turadg turadg commented Jul 26, 2024

Refs: Agoric/agoric-sdk#5760
Refs: #2415

Description

spike on getting Endo to bundle .ts syntax files as .js using swc-project/swc#9138

current status:

❯ yarn test test/mts-imports-cjs-define.test.js

  ✘ [fail]: fixtures-esm-imports-cjs-define / makeArchive / parseArchive / hashArchive consistency Rejected promise returned by test
  ✘ [fail]: fixtures-esm-imports-cjs-define / makeArchive / parseArchive, but with sha512 corruption of a compartment map Rejected promise returned by test
  ✘ [fail]: fixtures-esm-imports-cjs-define / makeArchive / parseArchive Rejected promise returned by test
  ✘ [fail]: fixtures-esm-imports-cjs-define / makeArchive / parseArchive with a prefix Rejected promise returned by test
  ✘ [fail]: fixtures-esm-imports-cjs-define / writeArchive / loadArchive Rejected promise returned by test
  ✘ [fail]: fixtures-esm-imports-cjs-define / writeArchive / importArchive Rejected promise returned by test
  ✔ fixtures-esm-imports-cjs-define / loadLocation
  ✔ fixtures-esm-imports-cjs-define / importLocation

So next steps I think are:

  • make a parse-pre-mts.js for import-archive-parsers.js
  • make a parse-archive-mts.js for archive-parsers.js

Security Considerations

Does this change introduce new assumptions or dependencies that, if violated, could introduce security vulnerabilities? How does this PR change the boundaries between mutually-suspicious components? What new authorities are introduced by this change, perhaps by new API calls?

Scaling Considerations

Does this change require or encourage significant increase in consumption of CPU cycles, RAM, on-chain storage, message exchanges, or other scarce resources? If so, can that be prevented or mitigated?

Documentation Considerations

Give our docs folks some hints about what needs to be described to downstream users. Backwards compatibility: what happens to existing data or deployments when this code is shipped? Do we need to instruct users to do something to upgrade their saved data? If there is no upgrade path possible, how bad will that be for users?

Testing Considerations

Every PR should of course come with tests of its own functionality. What additional tests are still needed beyond those unit tests? How does this affect CI, other test automation, or the testnet?

Compatibility Considerations

Does this change break any prior usage patterns? Does this change allow usage patterns to evolve?

Upgrade Considerations

What aspects of this PR are relevant to upgrading live production systems, and how should they be addressed?

Include *BREAKING*: in the commit message with migration instructions for any breaking change.

Update NEWS.md for user-facing changes.

Delete guidance from pull request description before merge (including this!)

@turadg turadg requested review from kriskowal and erights July 26, 2024 01:00
@erights
Copy link
Contributor

erights commented Jul 26, 2024

@kriskowal , considering what this modifies, I'm gonna wait for you to do a pass first.

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.

None yet

2 participants