Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: stenciljs/core
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2.19.1
Choose a base ref
...
head repository: stenciljs/core
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v2.19.2-0
Choose a head ref
  • 8 commits
  • 46 files changed
  • 3 contributors

Commits on Oct 26, 2022

  1. refactor(compiler): create nodes using factory methods (#3748)

    this commit updates stencil to create nodes in the typescript syntax
    tree using `ts.factory.*` functions, rather than the (create|update|etc.)
    functions that were originally exported directly on `ts`. said functions
    were deprecated in v4.0 of typescript, and are slated to be removed in
    v5.0.
    
    this commit has two motivations.
    1. these functions will be removed in typescript 5.0. this is a piece of
       technical debt the team was going to be tackling in preparation for
       said upgrade.
    2. when attempting to upgrade to typescript 4.8, we ran into two issues:
       - several warnings regarding the use of these deprecated methods
         began to spring up, which wasn't a pleasant dev experience
       - it broke stencil - static members were not being properly
         transpiled from the original source code to our intermediate
         representations. code that was originally written as:
    ```tsx
    @component({ ... }) export class Foo {
      @prop bar: boolean;
    }
    ```
        would be transformed to:
    ```tsx
    export class {}
    ```
    
    the changes in this PR help with the 4.8 upgrade, in that moving to
    functions that are no longer deprecated allow for the code to be
    transpile properly. in TS 4.8, decorators are no longer a separate field
    on `Node` derived classes, but are added to the `modifiers` field. this
    change does _not_ take those changes directly into account. it only
    moves to the non-deprecated factory functions. the upgrade to TS 4.8
    will modify some of these functions calls to manage `Node` typing
    changes
    rwaskiewicz authored Oct 26, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    a043e5d View commit details
  2. chore(compiler): remove circular dependency in bundle

    Two changes were necessary to remove a circular dependency relationship
    between `bundle-output.ts` and `dev-module.ts`:
    
    - two constants are moved to a new file, `constants.ts`
    - functionality relating to resolving node module IDs is moved to a new
      file (`dev-node-module-resolve.ts`)
    alicewriteswrongs committed Oct 26, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    e3be37d View commit details
  3. chore(types): turn on strictFunctionTypes compiler flag

    This turns the `strictFunctionTypes` compiler flag on and fixes the
    errors uncovered by doing so.
    alicewriteswrongs committed Oct 26, 2022
    Copy the full SHA
    931bb88 View commit details
  4. chore(jsdoc): apply reword suggestion to JsonDocsComponent field (#3768)

    this commit applies #3766 (comment),
    which was missed prior to merging the pull request
    rwaskiewicz authored Oct 26, 2022
    Copy the full SHA
    b2f0044 View commit details

Commits on Oct 27, 2022

  1. chore(deps-dev): bump @types/semver from 7.3.12 to 7.3.13 (#3775)

    Bumps [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver) from 7.3.12 to 7.3.13.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/semver"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Oct 27, 2022
    Copy the full SHA
    c615205 View commit details
  2. chore(deps-dev): bump @types/node from 16.18.0 to 16.18.2 (#3774)

    Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 16.18.0 to 16.18.2.
    - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
    - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
    
    ---
    updated-dependencies:
    - dependency-name: "@types/node"
      dependency-type: direct:development
      update-type: version-update:semver-patch
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Ryan Waskiewicz <ryanwaskiewicz@gmail.com>
    dependabot[bot] and rwaskiewicz authored Oct 27, 2022
    Copy the full SHA
    8c1c35c View commit details
  3. fix(compiler): account for an existing constructor in convert-decorat…

    …ors (#3776)
    
    This change ensures that statements in an existing constructor are not
    thrown on the floor in the case that we need to edit a constructor (i.e.
    when there is a field with `@Prop` that we need to initialize in the
    constructor).
    
    In f977830 we made a change to
    initialize any class fields decorated with `@Prop()` in a constructor.
    The code to do this would look for a constructor on the class and, if
    found, update the body of the constructor with statements to initialize
    the field.
    
    Unfortunately, that commit would drop all existing statements in the
    constructor on the floor! This broke how some Stencil users initialize
    fields or do certain side effects, since no code they wrote in their
    constructors would make it through to the built output.
    
    This commit fixes the issue by instead setting the constructor body to
    be all of our newly created statements followed by any existing
    statements. This will allow users to initialize fields to custom values
    in the constructor if they so chose.
    
    See #3773 for an issue describing the issue.
    alicewriteswrongs authored Oct 27, 2022
    Copy the full SHA
    7c92dbf View commit details
  4. 🌵 v2.19.2-0

    rwaskiewicz committed Oct 27, 2022
    Copy the full SHA
    0e5137f View commit details
Loading