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

Bundle jsii modules as npm tarballs #52

Merged
merged 22 commits into from
Jul 11, 2018
Merged

Bundle jsii modules as npm tarballs #52

merged 22 commits into from
Jul 11, 2018

Commits on Jul 3, 2018

  1. Bundle jsii modules as npm tarballs

    This change modifies the way we bundle jsii modules. Instead of webpacking them
    and storing the code inside the assembly spec, we now simply use "npm pack" to
    produce an npm tarball (.tgz) and include that in the generated library.
    
    The kernel now simply accepts the path to the tarball (as oppose to the entire
    code passed through STDIN), and untars it into a working directory (under node_modules).
    This effectively allows dependencies to `require(it)`.
    
    This change also dramatically improves load-time performance (again, we are not sending
    a big JSON file over the wire, parse it, and then evaluate it into the VM).
    
    Bundled dependencies are now simple npm bundled dependencies. If a module uses the old-
    style configuration, we fail with instructions.
    
    NOTE: we currently do not support multiple versions of the same module loaded together
    into the same kernel space. This is a major and unacceptable limitation for production
    environments, which we must address, or otherwise, people will constantly hit these
    restrictions as jsii software stacks evolve.
    
    BREAKING CHANGE.
    Elad Ben-Israel committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    d5829ef View commit details
    Browse the repository at this point in the history
  2. CR fixes

    Elad Ben-Israel committed Jul 3, 2018
    Configuration menu
    Copy the full SHA
    42c0d07 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2018

  1. .NET: bundling of jsii-runtime and jsii tarball modules

    Bundle jsii tarball modules into generated .NET packages and also
    bundle the jsii-runtime program as an embedded resource into the
    dotnet runtime library.
    
    This removes the dependency on jsii-runtime, and leaves only node.js
    as an external dependency. It also improves load-time performance since
    the tarball is only passed as a path to the runtime/kernel and not
    the entire .js code.
    Elad Ben-Israel committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    280f5c5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7645943 View commit details
    Browse the repository at this point in the history
  3. Bring in a few fixes from dotnet-tarballs

    Elad Ben-Israel committed Jul 5, 2018
    Configuration menu
    Copy the full SHA
    031a2c0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3678f06 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2018

  1. Initial set of CR comments

    Elad Ben-Israel committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    959befd View commit details
    Browse the repository at this point in the history
  2. Fix "update-version.sh"

    `set -euo` fails for unbound variables
    Elad Ben-Israel committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    c05c9b1 View commit details
    Browse the repository at this point in the history
  3. Add CodeBuild build badge

    Elad Ben-Israel committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    13ff227 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    84ef674 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b9d3149 View commit details
    Browse the repository at this point in the history
  6. Add missing tgz to pacmak tests

    Elad Ben-Israel committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    d6f5e0d View commit details
    Browse the repository at this point in the history
  7. Ignore +build when setting jsii version

    Elad Ben-Israel committed Jul 8, 2018
    Configuration menu
    Copy the full SHA
    d04f0b9 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2018

  1. update versions

    Elad Ben-Israel committed Jul 9, 2018
    Configuration menu
    Copy the full SHA
    0c2e631 View commit details
    Browse the repository at this point in the history
  2. Require native type

    Elad Ben-Israel committed Jul 9, 2018
    Configuration menu
    Copy the full SHA
    e862a4a View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2018

  1. Do not include commit sha in version

    Since we have version numbers in test expectations
    every build will get a different version number and that
    invariably causes tests to fail.
    Elad Ben-Israel committed Jul 10, 2018
    Configuration menu
    Copy the full SHA
    ff76775 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2018

  1. Improvements to pacmak tests

    1. Add calc-lib
    2. Create expected tarball on-the-fly to avoid binary diffs resulting from different platforms
    Elad Ben-Israel committed Jul 11, 2018
    Configuration menu
    Copy the full SHA
    0efe687 View commit details
    Browse the repository at this point in the history
  2. Take only first 7 chars from commit sha

    Elad Ben-Israel committed Jul 11, 2018
    Configuration menu
    Copy the full SHA
    0109d7c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e358e35 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6672bc2 View commit details
    Browse the repository at this point in the history
  5. Add node_modules/.bin to PATH so we can execute lerna

    Elad Ben-Israel committed Jul 11, 2018
    1 Configuration menu
    Copy the full SHA
    05540b7 View commit details
    Browse the repository at this point in the history
  6. Fix a couple of tests

    Elad Ben-Israel committed Jul 11, 2018
    Configuration menu
    Copy the full SHA
    817c11b View commit details
    Browse the repository at this point in the history