Code Monkey home page Code Monkey logo

runtime's Introduction

runtime's People

Contributors

darvld avatar dependabot[bot] avatar renovate[bot] avatar sgammon avatar step-security-bot avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

runtime's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Pending Approval

These branches will be created by Renovate only once you click their checkbox below.

  • chore(deps): pin dependencies (aspect_bazel_lib, bazel_gazelle, bazel_skylib, build_bazel_rules_nodejs, com_github_bazelbuild_buildtools, io_bazel_rules_go, io_bazel_rules_webtesting, io_bazel_stardoc, org_jbox2d, rules_buf, rules_foreign_cc, rules_pkg, rules_proto, rules_rust)
  • chore(deps): update actions/checkout digest to f43a0e5
  • chore(deps): update actions/dependency-review-action digest to cc4f653
  • chore(deps): update actions/setup-node digest to 1a4442c
  • chore(deps): update com_github_google_flatbuffers digest to dafd2f1
  • chore(deps): update com_google_elemental2 digest to a0067db
  • chore(deps): update com_google_googleapis digest to 62dc7be
  • chore(deps): update com_google_javascript_closure_library digest to 7818ff7
  • chore(deps): update com_google_jsinterop_annotations-j2cl digest to c89f78c
  • chore(deps): update com_google_jsinterop_generator digest to 5bb1ffd
  • chore(deps): update docker/setup-buildx-action digest to 885d146
  • chore(deps): update externs digest to a79cf3e
  • chore(deps): update google-github-actions/auth digest to 3a3c4c5
  • chore(deps): update google_bazel_common digest to d59d067
  • chore(deps): update graalvm/setup-graalvm digest to 2f25c0c
  • chore(deps): update rules_graal digest to 45252cc
  • chore(deps): update rules_java digest to 3c72e84
  • chore(deps): update rules_python digest to 7de43d1
  • chore(deps): update typescript digest to d8086f1
  • chore(deps): update actions/upload-artifact action to v3.1.3
  • chore(deps): update dependency esbuild to v0.21.4
  • chore(deps): update dependency tslib to v2.6.3
  • chore(deps): update actions/checkout action to v3.6.0
  • chore(deps): update dependency @bazel/buildifier to v6.4.0
  • chore(deps): update dependency @bazel/buildozer to v6.4.0
  • chore(deps): update dependency @bazel/ibazel to v0.25.0
  • chore(deps): update dependency @types/node to v20.14.2
  • chore(deps): update dependency aspect_bazel_lib to v1.42.3
  • chore(deps): update dependency bazel_gazelle to v0.37.0
  • chore(deps): update dependency bazel_skylib to v1.7.1
  • chore(deps): update dependency com_github_bazelbuild_buildtools to v6.4.0
  • chore(deps): update dependency io_bazel_rules_go to v0.48.0
  • chore(deps): update dependency io_bazel_stardoc to v0.6.2
  • chore(deps): update dependency rules_buf to v0.3.0
  • chore(deps): update dependency rules_foreign_cc to v0.10.1
  • chore(deps): update dependency rules_pkg to v0.10.1
  • chore(deps): update dependency rules_rust to v0.45.1
  • chore(deps): update github/codeql-action action to v2.25.8
  • chore(deps): update ossf/scorecard-action action to v2.3.3
  • chore(deps): update step-security/harden-runner action to v2.8.0
  • chore(deps): update actions/checkout action to v4
  • chore(deps): update actions/dependency-review-action action to v4
  • chore(deps): update actions/setup-node action to v4
  • chore(deps): update actions/upload-artifact action to v4
  • chore(deps): update bazelbuild/setup-bazelisk action to v3
  • chore(deps): update dependency @bazel/buildifier to v7
  • chore(deps): update dependency @bazel/buildozer to v7
  • chore(deps): update dependency aspect_bazel_lib to v2
  • chore(deps): update dependency bazel to v7
  • chore(deps): update dependency com_github_bazelbuild_buildtools to v7
  • chore(deps): update dependency rules_pkg to v1
  • chore(deps): update dependency rules_proto to v6
  • chore(deps): update docker/setup-buildx-action action to v3
  • chore(deps): update github/codeql-action action to v3
  • chore(deps): update google-github-actions/auth action to v2
  • chore(deps): lock file maintenance
  • ๐Ÿ” Create all pending approval PRs at once ๐Ÿ”

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

bazel
WORKSPACE
  • com_github_bazelbuild_buildtools v6.1.2
  • com_google_protobuf v%s
  • com_google_googleapis 85f8c758016c279fb7fa8f0d51ddc7ccc0dd5e05
  • proto_common 3332dec527759859840a3a2ff108c67a54708130
  • safe_html_types a0fa702c497b7e201e48b52b5adf0259f1d381ca
  • rules_proto 4.0.0
  • rules_buf v0.1.1
  • typescript 1c822c42a4d527c2f97a27cf1d5cfe2e5558e280
  • rules_pkg 0.9.1
  • io_bazel_stardoc 0.5.6
  • google_bazel_common 340a5edaf011f76568a6351984e090a8b202ebd6
  • bazel_skylib 1.4.2
  • rules_java 8df92300a0df1a5a9048c44a6dde44dfe40001ed
  • io_bazel_rules_go v0.41.0
  • bazel_gazelle v0.32.0
  • rules_python bb8c4859950ecea29e794e85df579558c9d893fd
  • build_bazel_rules_nodejs 4.7.1
  • io_bazel_rules_webtesting 0.3.5
  • com_google_javascript_closure_library f94055af5ac46eecabe937c1cb3360fb5e4659f3
  • externs 0f94b985603723f241f9efd0ee3a8cdbd651818c
  • com_google_j2cl 6699ca5439e31ba6aa37c47fd4a05f4be20be423
  • com_google_elemental2 fa6f03b5156b6056601f02702105c30f14a3ce4b
  • aspect_bazel_lib v1.33.0
  • com_google_jsinterop_generator 6066f4ed7fbc9fc86460a45151cc03ad3a733325
  • rules_graal 9fd38761df4ac293f952d10379c0c3520dd9ceed
  • com_github_google_flatbuffers 48da2389205ca5fbd0d1f40ad52d9c0b8685a076
  • rules_rust 0.25.1
  • rules_foreign_cc 0.9.0
tools/defs/j2cl/workspace.bzl
  • com_google_jsinterop_annotations-j2cl 9bc51de34a411d1834f81c2408f6941719559327
  • org_jbox2d jbox2d-2.2.1.1
bazelisk
.bazelversion
  • bazel 5.4.1
dockerfile
.devcontainer/Dockerfile
  • us-docker.pkg.dev/elide-fw/tools/codespace sha256:c747a6727ff61e64afada3380bcc6389cd7e38e101a5a94805f270fb49333f9f
github-actions
.github/workflows/build.ci.yml
  • step-security/harden-runner v2.5.1@8ca2b8b2ece13480cda6dacd3511b49857a23c09
  • actions/checkout v3@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
  • actions/dependency-review-action v3@1360a344ccb0ab6e9475edef90ad2f46bf8003b1
  • step-security/harden-runner v2.5.1@8ca2b8b2ece13480cda6dacd3511b49857a23c09
  • actions/checkout v3@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
  • graalvm/setup-graalvm v1@d1891786152ae96fee67f86c3a1eae596291bbed
  • google-github-actions/auth v1@35b0e87d162680511bf346c299f71c9c5c379033
  • actions/setup-node v3@e33196f7422957bea03ed53f6fbb155025ffc7b8
  • bazelbuild/setup-bazelisk v2@95c9bf48d0c570bb3e28e57108f3450cd67c1a44
.github/workflows/scheduled-checks.ci.yml
  • step-security/harden-runner v2.5.1@8ca2b8b2ece13480cda6dacd3511b49857a23c09
  • step-security/harden-runner v2.5.1@8ca2b8b2ece13480cda6dacd3511b49857a23c09
  • docker/setup-buildx-action v2@4c0219f9ac95b02789c1075625400b2acbff50b1
.github/workflows/scorecards.yml
  • step-security/harden-runner v2.5.1@8ca2b8b2ece13480cda6dacd3511b49857a23c09
  • actions/checkout v3.5.3@c85c95e3d7251135ab7dc9ce3241c5835cc595a9
  • ossf/scorecard-action v2.0.6@99c53751e09b9529366343771cc321ec74e9bd3d
  • actions/upload-artifact v3.1.2@0b7f8abb1508181956e8e162db84b466c27e18ce
  • github/codeql-action v2.21.2@0ba4244466797eb048eb91a6cd43d5c03ca8bd05
npm
elide/runtime/js/modules/assert/package.json
elide/runtime/js/modules/assert/strict/package.json
elide/runtime/js/modules/buffer/package.json
elide/runtime/js/modules/child_process/package.json
elide/runtime/js/modules/cluster/package.json
elide/runtime/js/modules/console/package.json
elide/runtime/js/modules/crypto/package.json
elide/runtime/js/modules/dgram/package.json
elide/runtime/js/modules/diagnostics_channel/package.json
elide/runtime/js/modules/dns/package.json
elide/runtime/js/modules/dns/promises/package.json
elide/runtime/js/modules/domain/package.json
elide/runtime/js/modules/events/package.json
elide/runtime/js/modules/express/package.json
elide/runtime/js/modules/fs/package.json
elide/runtime/js/modules/fs/promises/package.json
elide/runtime/js/modules/http/package.json
elide/runtime/js/modules/http2/package.json
elide/runtime/js/modules/https/package.json
elide/runtime/js/modules/inspector/package.json
elide/runtime/js/modules/inspector/promises/package.json
elide/runtime/js/modules/module/package.json
elide/runtime/js/modules/net/package.json
elide/runtime/js/modules/os/package.json
elide/runtime/js/modules/path/package.json
elide/runtime/js/modules/path/posix/package.json
elide/runtime/js/modules/path/win32/package.json
elide/runtime/js/modules/perf_hooks/package.json
elide/runtime/js/modules/process/package.json
elide/runtime/js/modules/querystring/package.json
elide/runtime/js/modules/readline/package.json
elide/runtime/js/modules/readline/promises/package.json
elide/runtime/js/modules/stream/consumers/package.json
elide/runtime/js/modules/stream/package.json
elide/runtime/js/modules/stream/promises/package.json
elide/runtime/js/modules/stream/web/package.json
elide/runtime/js/modules/string_decoder/package.json
elide/runtime/js/modules/timers/promises/package.json
elide/runtime/js/modules/tls/package.json
elide/runtime/js/modules/trace_events/package.json
elide/runtime/js/modules/tty/package.json
elide/runtime/js/modules/url/package.json
elide/runtime/js/modules/util/package.json
elide/runtime/js/modules/v8/package.json
elide/runtime/js/modules/vm/package.json
elide/runtime/js/modules/wasi/package.json
elide/runtime/js/modules/worker/package.json
elide/runtime/js/modules/zlib/package.json
package.json
  • @bazel/buildifier 6.1.2
  • @bazel/buildozer 6.1.2
  • @bazel/concatjs 4.6.2
  • @bazel/esbuild 4.6.2
  • @bazel/ibazel 0.16.2
  • @bazel/labs 4.6.1
  • @bazel/typescript 4.6.2
  • @types/node 20.12.11
  • @types/source-map-support 0.5.10
  • esbuild 0.21.2
  • google-closure-library-types 0.1.17
  • karma 6.4.3
  • karma-chrome-launcher 3.2.0
  • karma-firefox-launcher 2.1.3
  • karma-jasmine 5.1.0
  • karma-junit-reporter 2.0.1
  • karma-requirejs 1.1.0
  • karma-sourcemap-loader 0.4.0
  • protobufjs 7.3.0
  • source-map-support 0.5.21
  • tsickle 0.46.3
  • tslib 2.6.2
  • tsutils 3.21.0
  • typescript 4.9.5

  • Check this box to trigger a request for Renovate to run again on this repository

Runtime output tarball is structured incorrectly

Currently, the runtime package expects to find a directory within the JS modules tarball, at the name __runtime__; however, the runtime codebase produces a structure under the directory node_modules. There are some other bugs, too, which are worth fixing, so that the JS modules can be used directly as an output in the main codebase. These are summarized below.

1) Directory structure

  • Expected: __runtime__/<module>/...
  • Actual: node_modules/<module>/...

We need to restructure the tarball so that it matches the expected layout. Without this layout, loading the tarball will immediately crash the CLI upon start.

2) Compression of tarball

Currently, the tarball is a simple, uncompressed package. It needs to be compressed or the CLI will fail to load it.

3) Incorrect module pointers

Via built-in module package.json files, certain built-in module files have a module or main attribute which points to an invalid file. Obviously this must be fixed as it also causes crashes. We need to uniformly provide main and module for all built-in modules, and additionally provide the exports property.

The package.json structure should look like this (sample from buffer):

{
  "name": "buffer",
  "main": "buffer.cjs",
  "module": "buffer.mjs",
  "exports": {
    ".": {
      "require": "./buffer.cjs",
      "import": "./buffer.mjs"
    }
  }
}

4) Uniform availability of both ESM and CJS exports

As mentioned in part above, all built-in modules should provide both types of import support -- CJS and ESM. This is probably accomplished via tuning the esbuild flags for those modules.

Example (again, from buffer):

buffer.cjs:

/**
 * Intrinsic: Buffer.
 *
 * Provides a shim which offers a `Buffer` implementation that is compatible with Node.js-style imports.
 */

/**
 * Export the intrinsic `Buffer` type as the main export, and also an export called `Buffer`.
 */
module.exports.Buffer = globalThis['Buffer'];

buffer.mjs:

/**
 * Intrinsic: Buffer.
 *
 * Provides a shim which offers a `Buffer` implementation that is compatible with Node.js-style imports.
 */

/**
 * Export the intrinsic `Buffer` type as the main export, and also an export called `Buffer`.
 */
export const Buffer = globalThis['Buffer'];

export default {
    Buffer
};

5) Invalid ESM bundles

There is a bug coming from somewhere which results in an invalid ESM package within the builtin JS modules. It generally looks like this:

export {
  <...> as default
}

Polyfill list

Currently, we ship a package of polyfills which load at runtime. This includes:

  • AbortController
  • Buffer
  • Web Streams

We should replace as many of these as possible with pure Kotlin intrinsics.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.