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: add wasm target support #343

Merged
merged 34 commits into from
Jul 31, 2023
Merged

feat: add wasm target support #343

merged 34 commits into from
Jul 31, 2023

Conversation

sgammon
Copy link
Member

@sgammon sgammon commented Jul 30, 2023

Ready for review

Summary

Upgrades elide-uuid and establishes wasm target support for base module on up, weather permitting.

Changelog

  • feat: wasm target support in base, test, model, ssr
  • feat: lockfiles with lenient enforcement
  • feat: verification metadata with lenient enforcement
  • feat: build provenance (SLSA) and dependency graph
  • feat: unified yarn lockfile
  • fix: JPMS module fixes for cli
  • chore: update lockfiles and metadata
  • chore: update gradle → 8.3-rc2

@sgammon sgammon added feature Large PRs or issues with full-blown features 🚧 WIP Works-in-progress. Blocks merge wasm Features and PRs that relate to WebAssembly labels Jul 30, 2023
@sgammon sgammon added this to the Release R2: Alpha 4 milestone Jul 30, 2023
@sgammon sgammon self-assigned this Jul 30, 2023
@github-actions github-actions bot added module:base Changes and issues relating to the Elide `base` module platform:jvm PRs and issues relating to JVM support. platform:browser PRs and issues relating to browser support. labels Jul 30, 2023
"YWJjMTIzMTIzMQ",
"YWJjMTIzMTIzMQ==",
Copy link
Member Author

Choose a reason for hiding this comment

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

this was wrong in the test. i was not aware that "urlsafe" base64 was different from "padless" base64. i am now.

Comment on lines -91 to +94
return this.encodeToString(string).replace("=", "")
return kotlin.io.encoding.Base64.UrlSafe.encode(string.encodeToByteArray())
Copy link
Member Author

Choose a reason for hiding this comment

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

delegating to kotlin stdlib for base64 on most platforms now

Comment on lines +54 to +55
TODO("not yet implemented")
}
Copy link
Member Author

Choose a reason for hiding this comment

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

needs implementation

"-H:+UseContainerSupport",
"-H:+UseCompressedReferences",
"-H:+AllowJRTFileSystem",
Copy link
Member Author

Choose a reason for hiding this comment

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

note to self: audit flags from jshell sample before merge

@sgammon sgammon changed the title feat: add wasm target support to base module (early) feat: add wasm target support Jul 31, 2023
@sgammon sgammon mentioned this pull request Jul 31, 2023
37 tasks
@socket-security
Copy link

New and updated dependencies detected. Learn more about Socket for GitHub ↗︎

Packages Version New capabilities Transitives Size Publisher
express 4.18.2 network, filesystem, environment +42 2.18 MB dougwilson
@mdx-js/mdx 2.3.0...2.2.1 None +1/-4 150 kB wooorm

sgammon added 17 commits July 30, 2023 22:12
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
- feat: `wasm` target support
- feat: initial wasm model logic (probably broken)
- chore: refactor `Model` annotation to avoid split packages

Breaking change: `Model` annotation path

Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
- feat: multiplatform build support in `proto-core`
- feat: multiplatform build support in `proto-kotlinx`

Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
sgammon and others added 13 commits July 30, 2023 22:12
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
@sgammon sgammon force-pushed the feat/wasm branch 2 times, most recently from c69c881 to 42f4ffa Compare July 31, 2023 05:46
step-security-bot and others added 2 commits July 30, 2023 23:52
[StepSecurity] Apply security best practices

Signed-off-by: StepSecurity Bot <[email protected]>
Signed-off-by: Sam Gammon <[email protected]>
@codecov
Copy link

codecov bot commented Jul 31, 2023

Codecov Report

❗ No coverage uploaded for pull request base (release/alpha4@57dad5e). Click here to learn what that means.
The diff coverage is n/a.

Impacted file tree graph

@@                Coverage Diff                @@
##             release/alpha4     #343   +/-   ##
=================================================
  Coverage                  ?   44.68%           
=================================================
  Files                     ?      280           
  Lines                     ?     9466           
  Branches                  ?     1324           
=================================================
  Hits                      ?     4230           
  Misses                    ?     4964           
  Partials                  ?      272           
Flag Coverage Δ
jvm 44.68% <0.00%> (?)
lib 45.80% <0.00%> (?)
substrate 0.00% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 57dad5e...0be248f. Read the comment docs.

@sgammon sgammon marked this pull request as ready for review July 31, 2023 08:09
Copy link
Member Author

@sgammon sgammon left a comment

Choose a reason for hiding this comment

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

good enough to merge


wasm {
nodejs()
d8()
Copy link
Member Author

Choose a reason for hiding this comment

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

browser?

Comment on lines +12 to +18
class EspressoExecutionControlProvider: ExecutionControlProvider {
override fun name(): String {
TODO("Not yet implemented")
}

override fun generate(env: ExecutionEnv?, parameters: MutableMap<String, String>?): ExecutionControl {
TODO("Not yet implemented")
Copy link
Member Author

Choose a reason for hiding this comment

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

needs to be caught in a test, and addressed with impl before release

@sgammon sgammon removed the 🚧 WIP Works-in-progress. Blocks merge label Jul 31, 2023
@sgammon sgammon merged commit c5181d1 into release/alpha4 Jul 31, 2023
@sgammon sgammon deleted the feat/wasm branch July 31, 2023 08:26
@sgammon sgammon mentioned this pull request Sep 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Large PRs or issues with full-blown features module:base Changes and issues relating to the Elide `base` module platform:browser PRs and issues relating to browser support. platform:jvm PRs and issues relating to JVM support. wasm Features and PRs that relate to WebAssembly
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants