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: v4.0.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: v4.0.2
Choose a head ref

Commits on Jun 29, 2023

  1. Copy the full SHA
    3cda014 View commit details
  2. chore(deps): update dependency conventional-changelog-cli to v3 (#4480)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jun 29, 2023
    Copy the full SHA
    2a0a3bb View commit details

Commits on Jun 30, 2023

  1. chore(deps): update dependency @types/node to v20.3.2 (#4531)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jun 30, 2023
    Copy the full SHA
    aa46300 View commit details

Commits on Jul 3, 2023

  1. chore(deps): update dependency puppeteer to v20.7.4 (#4534)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 3, 2023
    Copy the full SHA
    fc5e383 View commit details
  2. chore(deps): update dependency webpack to v5.88.1 (#4536)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 3, 2023
    Copy the full SHA
    6e8ae69 View commit details
  3. chore(deps): update dependency terser to v5.18.2 (#4535)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 3, 2023
    Copy the full SHA
    bdcc2e7 View commit details
  4. chore(deps): update typescript-eslint to v5.60.1 (#4537)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 3, 2023
    Copy the full SHA
    6d8e45e View commit details
  5. chore(deps): update dependency eslint-plugin-jsdoc to v46.4.2 (#4538)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 3, 2023
    Copy the full SHA
    35816fb View commit details

Commits on Jul 5, 2023

  1. chore(deps): update dependency eslint to v8.44.0 (#4542)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 5, 2023
    Copy the full SHA
    045d4b4 View commit details
  2. chore(deps): update dependency @types/node to v20.3.3 (#4541)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 5, 2023
    Copy the full SHA
    e86c3d6 View commit details

Commits on Jul 6, 2023

  1. chore(deps): update actions/setup-node action to v3.7.0 (#4546)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 6, 2023
    Copy the full SHA
    4cd142f View commit details
  2. Copy the full SHA
    d9e4e1a View commit details

Commits on Jul 7, 2023

  1. chore(deps): update dependency magic-string to v0.30.1 (#4549)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 7, 2023
    Copy the full SHA
    472dee1 View commit details

Commits on Jul 10, 2023

  1. chore(deps): update node.js to v20.4.0 (#4561)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    f21d56b View commit details
  2. chore(deps): update dependency puppeteer to v20.8.0 (#4560)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    9b78077 View commit details
  3. chore(deps): update dependency @types/node to v20.4.0 (#4558)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    145739d View commit details
  4. chore(deps): update typescript-eslint to v5.61.0 (#4562)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    18847ad View commit details
  5. chore(deps): bump tough-cookie from 4.1.2 to 4.1.3 (#4555)

    Bumps [tough-cookie](https://github.com/salesforce/tough-cookie) from 4.1.2 to 4.1.3.
    - [Release notes](https://github.com/salesforce/tough-cookie/releases)
    - [Changelog](https://github.com/salesforce/tough-cookie/blob/master/CHANGELOG.md)
    - [Commits](salesforce/tough-cookie@v4.1.2...v4.1.3)
    
    ---
    updated-dependencies:
    - dependency-name: tough-cookie
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 10, 2023
    Copy the full SHA
    2832cf2 View commit details
  6. chore(deps): update dependency postcss to v8.4.25 (#4557)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    f87cb3e View commit details
  7. chore(deps): update dependency eslint-plugin-jsdoc to v46.4.3 (#4556)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    1f518fb View commit details
  8. chore(deps): update dependency npm to v9.8.0 (#4559)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 10, 2023
    Copy the full SHA
    b001be0 View commit details

Commits on Jul 11, 2023

  1. chore(deps): update dependency semver to v7.5.4 (#4565)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 11, 2023
    Copy the full SHA
    20fd100 View commit details
  2. chore(deps): update dependency @types/eslint to v8.44.0 (#4566)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 11, 2023
    Copy the full SHA
    a52f6fc View commit details
  3. chore(deps): update dependency @types/node to v20.4.1 (#4564)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 11, 2023
    Copy the full SHA
    30e5ffc View commit details

Commits on Jul 13, 2023

  1. chore(repo): minimize component starter test pack (#4520)

    * chore(repo): minimize component starter test pack
    
    this commit minimizes the number of files included in `npm pack` when
    running the stencil component starter smoke tests. previously, files
    would get added to the binary that would either be unnecessary, or would
    not be representative of an actual stencil release. these include:
    
    - `build/`, an artifact of building stencil itself. this isn't needed at
      all, and has been removed from the build archive
    - `node_modules/` would get implicitly linked by `npm pack`, which get
      deleted now prior to running the command
    
    a side effect of this work is that we now compartmentalize the building
    of the stencil tarball (as opposed to generating a dev build for every
    run of ci and pushing that to a registry). this makes the chances of
    accidentally picking the wrong file when running `npm pack` and renaming
    it lower.
    
    STENCIL-850 Investigate Component Starter Issues in CI
    STENCIL-688 Revisit Logic for Component Starter Tests
    
    * refactor(compiler): add a Result union type for polymorphic returns (#4281)
    
    This adds a new way to handle return types like those of the
    `generateBuildStatus` function. See here for some previous conversation
    about this:
    #3383 (comment)
    
    At present in `main` this function returns `d.CompilerBuildStats | {
    diagnostics: d.Diagnostic[] }`:
    
    https://github.com/ionic-team/stencil/blob/b5dc6d533f7961641e4876fe3411834884748b2f/src/compiler/build/build-stats.ts#L11-L14
    
    We use this sort of pattern in a few places throughout the codebase,
    where basically if a function could generate diagnostic messages it will
    return either it's 'normal' return value _or_ an object holding those
    diagnostics. We then typically have some manual checking to see which of
    the two it is, or perhaps just a type assertion.
    
    This pattern works alright, but in looking at this code before we
    identified it as something we'd like to clean up in the future.
    
    To do so, this commit introduces a new `Result` union type which is
    either an `Ok` or an `Err`. It's quite obviously strongly inspired by
    the `Result` enum in Rust's standard library
    (https://doc.rust-lang.org/std/result/) and it lets us handle two
    possible return values, one for the 'happy path' and one indicating
    something didn't go right, in a principled way.
    
    Using it looks something like this:
    
    ```ts
    import { result } from "@utils";
    
    const myFunc = (): result.Result<string, string> {
      if (failing) {
        return result.err("I failed!");
      } else {
        return result.ok("I succeeded!");
      }
    }
    ```
    
    Once you have a value of type `Result` there are some helper methods
    similar to what you might be familiar with in Rust like a `result.map`.
    
    * Revert "refactor(compiler): add a Result union type for polymorphic returns (#4281)"
    
    This reverts commit e71e9b3.
    
    ---------
    
    Co-authored-by: Alice <alice.writes.wrongs@gmail.com>
    rwaskiewicz and alicewriteswrongs authored Jul 13, 2023
    Copy the full SHA
    538766b View commit details
  2. fix(rollup-config): deprecate BundlingConfig#namedExports (#4532)

    this commit deprecates the `namedExports` field on the `BundlingConfig`
    interface. `@rollup/plugin-commonjs` no longer honors this field as of
    rollup/plugins@5d2dcf4.
    
    Fixes: #2523
    
    STENCIL-867
    rwaskiewicz authored Jul 13, 2023
    Copy the full SHA
    a353769 View commit details
  3. fix(runtime): properly type color-interpolation-filter (#4530)

    this commit updates the typings of
    `SVGAttributes#color-interpolation-filter` to match the current spec,
    which states the only accepted values are 'auto', 'sRGB' and
    'linearRGB'.
    
    this commit renames 's-rGB' to 'sRGB' and 'linear-rGB' to 'linearRGB'.
    it also removes 'inherit'.
    
    it is believed this was done by accident in a regex-based replacement of
    camelCased properties to kebab-cased attributes in 667597d
    rwaskiewicz authored Jul 13, 2023
    Copy the full SHA
    3ccf753 View commit details
  4. test(validate-testing): test when no flags are provided (#4540)

    this commit adds tests for valdiating stencil's testing configuration
    when no flags are provided to the testing validation function.
    
    this changeset was intended to be added in
    #4384, but for some reason was
    missed
    rwaskiewicz authored Jul 13, 2023
    Copy the full SHA
    5f436af View commit details
  5. fix(compiler): sourcemap errors for dist-custom-elements + dist-hydra…

    …te-script (#4527)
    
    this commit fixes an issue where a stencil project that use both the
    `dist-custom-elements` and `dist-hydrate-script` output targets would
    see the following error when building their project (with sourcemaps
    enabled):
    
    ```
    [ WARN  ]  Bundling Warning SOURCEMAP_ERROR
               Error when using sourcemap for reporting an error: Can't resolve original location of error.
    ```
    
    this commit resolves this error by ensuring the `HTMLElement` core
    runtime API used by `dist-custom-elements` no longer interferese with
    the generated code for `dist-hydrate-script`. this is accomplished by
    using the output-target-specific runtime api slots introduced in #4200.
    this prevents the `HTMLElement` import from polluting the
    sourcemaps/source used in the `dist-hydrate-script` target
    rwaskiewicz authored Jul 13, 2023
    Copy the full SHA
    1d79672 View commit details
  6. refactor(compiler): remove requireFunc (#4568)

    Now that we're node-only for compiling components we don't need this any
    longer (or, put another way, it's just become an alias for `require`
    anyway)
    alicewriteswrongs authored Jul 13, 2023
    Copy the full SHA
    01d7a9e View commit details
  7. fix(compiler): sourcemap generation without ext runtime (#4570)

    * fix(compiler): sourcemap generation for non-external runtime
    
    this commit fixes a bug where projects using the `dist-custom-elements`
    output target with `externalRuntime: false` would receive the following
    error when building their project:
    ```
    [ WARN  ]  Bundling Warning SOURCEMAP_ERROR
               Error when using sourcemap for reporting an error: Can't resolve original location of error.
    ```
    
    the cause of this error was attempting to import a function,
    `attachShadow` that is no longer exported from the runtime bundle (as of
    #3117). to date, this has not
    had an effect on stencil (as the import gets treeshaken away). however,
    when trying to generate sourcemaps for a project using this
    configuration would cause a mismatch between what was expected to be in
    the produced output (the import statement) and what was really there (no
    import statement)
    
    * refactor(compiler): remove unused ATTACH_SHADOW API
    
    this commit removes the RUNTIME_APIS.ATTACH_SHADOW field that is no
    longer used in the codebase. it's only usage was in tests for adding
    runtime apis, and has been replaced with another field from
    `RUNTIME_APIS`
    rwaskiewicz authored Jul 13, 2023
    Copy the full SHA
    d1be334 View commit details

Commits on Jul 14, 2023

  1. refactor(environment): remove IS_NODE_ENV and delete dead code (#4551)

    * refactor(environment): remove IS_NODE_ENV and delete dead code
    
    This removes the `IS_NODE_ENV` variable from our environment module
    which previously was used to switch between browser-specific and
    node-specific approaches to various things in the Stencil compilation
    process.
    
    Following the merge of #4317 we only support one runtime, node, for
    compiling Stencil components, so we can assume that `IS_NODE_ENV` is
    `true` and delete code accordingly.
    
    * refactor(environment): remove IS_BROWSER_ENV and delete dead code
    
    This removes the `IS_BROWSER_ENV` from our environment module.
    Previously this was used to signal when Stencil was being used to
    compile components in a browser environment.
    
    After we removed support for that functionality in #4317 we don't need
    the variable any longer, so we can assume that `IS_BROWSER_ENV` is
    `false` and delete dead code accordingly.
    alicewriteswrongs authored Jul 14, 2023
    Copy the full SHA
    445fc4f View commit details
  2. fix(output-targets): fix path normalization logic (#4545)

    In #4317 as part of removing in-browser compilation support we removed
    the polyfills for nodejs built-in modules like `path` which were
    injected by Rollup during build-time. Although the _main_ purpose of
    these polyfills was allowing Stencil to run in the browser in the case
    of the `path` module there was also a secondary purpose which was
    ensuring that paths were treated the same way across supported platforms
    (posix + windows).
    
    See, for instance, the following lines in the polyfill:
    
    https://github.com/ionic-team/stencil/blob/b911f1986a0d583bd1e3cd42cbbca9b255c32f2d/src/compiler/sys/modules/path.ts#L35-L38
    
    These functions basically wrapped the existing path implementation with
    our `normalizePath` helper, which would ensure that the output paths
    would be the same on both windows and posix systems (e.g. macOS and
    linux).
    
    When we merged #4317 an effort was made to add `normalizePath` around
    the codebase where it was thought that various paths being calculated
    needed to be platform-independent, however, a few locations were missed
    (in particular, some paths output into typedefs, which would show up as
    non-posix paths when building on windows).
    
    To address the issue we introduce `relative` and `join` functions into
    the existing path-related `utils` file (which is incidentally renamed)
    which work similarly to how the patched functions in the old polyfill
    did. Then several usage sites are changed to import those new utils
    instead of the 'raw' functions from `path`. Together these changes
    should ensure that Stencil's output is not platform-dependent.
    
    See here for an issue reporting the problem: #4543
    alicewriteswrongs authored Jul 14, 2023
    Copy the full SHA
    cd5849c View commit details
  3. fix(compiler): ensures transformed paths are relative paths for `dist…

    …-collection` (#4552)
    
    * ensures transformed paths are relative paths
    
    * fix test expected path
    tanner-reits authored Jul 14, 2023
    Copy the full SHA
    e11ac0e View commit details
  4. fix(compiler): only create one class member when transforming `@Eleme…

    …nt()` decorators (#4547)
    
    * only create one class member for an `@Element()`
    
    * add some regression tests
    tanner-reits authored Jul 14, 2023
    Copy the full SHA
    13fac03 View commit details

Commits on Jul 17, 2023

  1. chore(deps): update dependency @types/node to v20.4.2 (#4577)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    0e23326 View commit details
  2. chore(deps): update dependency eslint-plugin-jest to v27.2.3 (#4578)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    1447475 View commit details
  3. chore(deps): update dependency puppeteer to v20.8.2 (#4580)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    58f3c66 View commit details
  4. chore(deps): update dependency postcss to v8.4.26 (#4579)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    c0c607e View commit details
  5. chore(deps): update typescript-eslint to v5.62.0 (#4582)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    58b3acb View commit details
  6. chore(deps): update dependency terser to v5.19.0 (#4581)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 17, 2023
    Copy the full SHA
    42a031f View commit details
  7. chore(deps): update dependency prettier to v3 (#4563)

    * chore(deps): update dependency prettier to v3
    
    * update @ionic/prettier-config so prettier can go to v3
    
    * run prettier v3
    
    * deal with prettier upgrade fallout
    
    * have to do that for windows :/
    
    * lol
    
    * undo that change
    
    * update jest path
    
    this commit works on windows, we'll see if unix does too
    
    ---------
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Alice Pote <alice.writes.wrongs@gmail.com>
    Co-authored-by: Ryan Waskiewicz <waskiewicz@ionic.io>
    3 people authored Jul 17, 2023
    Copy the full SHA
    efc3b22 View commit details
  8. fix(compiler): handle @supports blocks when scoping css (#4572)

    * ignore `@supports` rules in "polyfill" replacements
    
    * update regex to work with multiple selectors on a line
    
    * handle entire css rule as a single line
    
    * add unit tests for `@supports` rules
    
    * add detail to regex matches
    tanner-reits authored Jul 17, 2023
    Copy the full SHA
    18ed5fc View commit details

Commits on Jul 18, 2023

  1. chore(deps): update dependency eslint to v8.45.0 (#4585)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 18, 2023
    Copy the full SHA
    a55a5a5 View commit details
  2. refactor(compiler): add a Result union type for polymorphic returns (#…

    …4573)
    
    This commit was initially added in #4281 and then reverted in #4415.
    
    This adds a new way to handle return types like those of the
    `generateBuildStatus` function. See here for some previous conversation
    about this:
    
    At present in `main` this function returns `d.CompilerBuildStats | {
    diagnostics: d.Diagnostic[] }`:
    
    https://github.com/ionic-team/stencil/blob/b5dc6d533f7961641e4876fe3411834884748b2f/src/compiler/build/build-stats.ts#L11-L14
    
    We use this sort of pattern in a few places throughout the codebase,
    where basically if a function could generate diagnostic messages it will
    return either it's 'normal' return value _or_ an object holding those
    diagnostics. We then typically have some manual checking to see which of
    the two it is, or perhaps just a type assertion.
    
    This pattern works alright, but in looking at this code before we
    identified it as something we'd like to clean up in the future.
    
    To do so, this commit introduces a new `Result` union type which is
    either an `Ok` or an `Err`. It's quite obviously strongly inspired by
    the `Result` enum in Rust's standard library
    (https://doc.rust-lang.org/std/result/) and it lets us handle two
    possible return values, one for the 'happy path' and one indicating
    something didn't go right, in a principled way.
    
    Using it looks something like this:
    
    ```ts
    import { result } from "@utils";
    
    const myFunc = (): result.Result<string, string> {
      if (failing) {
        return result.err("I failed!");
      } else {
        return result.ok("I succeeded!");
      }
    }
    ```
    
    Once you have a value of type `Result` there are some helper methods
    similar to what you might be familiar with in Rust like a `result.map`.
    alicewriteswrongs authored Jul 18, 2023
    Copy the full SHA
    d5b31ce View commit details
  3. refactor(compiler): propagate ValidatedConfig (#4569)

    This propagates the `ValidatedConfig` in place of the `Config`,
    branching out from `src/compiler/transpile.ts`
    alicewriteswrongs authored Jul 18, 2023
    Copy the full SHA
    7d5dc6c View commit details
  4. chore(deps): update dependency @ionic/prettier-config to v4 (#4586)

    * chore(deps): update dependency @ionic/prettier-config to v4
    
    * fmt(): format code
    
    ---------
    
    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    Co-authored-by: Ryan Waskiewicz <ryanwaskiewicz@gmail.com>
    renovate[bot] and rwaskiewicz authored Jul 18, 2023
    Copy the full SHA
    9d2d0a0 View commit details

Commits on Jul 19, 2023

  1. fix(lazy): adjust the type of defineCustomElements (#4592)

    This fixes an issue with the type for `defineCustomElements` that we set
    in output-lazy-loader.ts. In #4419 we changed the return type of the
    function to be `void` (at runtime) but we didn't make a corresponding
    adjustment to the type declaration for the function that we generate
    here:
    
    https://github.com/ionic-team/stencil/blob/7d5dc6cf5e0d2020c513cc87b6b2e5b93eece9bc/src/compiler/output-targets/output-lazy-loader.ts#L88
    
    This change adjusts that type declaration to have a `void` return value,
    instead of `Promise<void>`.
    
    See #4589 for more context
    alicewriteswrongs authored Jul 19, 2023
    Copy the full SHA
    5c85c33 View commit details
  2. chore(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 (#4593)

    Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
    - [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
    - [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)
    
    ---
    updated-dependencies:
    - dependency-name: word-wrap
      dependency-type: indirect
    ...
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 19, 2023
    Copy the full SHA
    989b53f View commit details

Commits on Jul 21, 2023

  1. chore(deps): update dependency terser to v5.19.1 (#4602)

    Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
    renovate[bot] authored Jul 21, 2023
    Copy the full SHA
    9b0d6b1 View commit details
Showing 381 changed files with 3,602 additions and 3,892 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/actions/download-archive/action.yml
Original file line number Diff line number Diff line change
@@ -16,5 +16,5 @@ runs:
path: ${{ inputs.path }}

- name: Extract Archive
run: unzip -q -o ${{ inputs.path }}/${{ inputs.filename }}
run: unzip -q -o ${{ inputs.path }}/${{ inputs.filename }} -d ${{ inputs.path }}
shell: bash
2 changes: 1 addition & 1 deletion .github/workflows/actions/get-core-dependencies/action.yml
Original file line number Diff line number Diff line change
@@ -7,7 +7,7 @@ runs:
# jobs that need a different version of the Node runtime should explicitly
# set their node version after running this step
- name: Use Node Version from Volta
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version-file: './package.json'
cache: 'npm'
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -38,4 +38,4 @@ jobs:
with:
name: stencil-core
output: stencil-core-build.zip
paths: build cli compiler dev-server internal mock-doc scripts/build screenshot sys testing
paths: cli compiler dev-server internal mock-doc scripts/build screenshot sys testing
2 changes: 1 addition & 1 deletion .github/workflows/test-analysis.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ jobs:
uses: ./.github/workflows/actions/get-core-dependencies

- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'
2 changes: 1 addition & 1 deletion .github/workflows/test-browserstack.yml
Original file line number Diff line number Diff line change
@@ -59,7 +59,7 @@ jobs:
persist-credentials: false

- name: Use Node Version from Volta (Karma)
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
# pull the version to use from the volta key in package.json
node-version-file: './test/karma/package.json'
37 changes: 32 additions & 5 deletions .github/workflows/test-component-starter.yml
Original file line number Diff line number Diff line change
@@ -22,26 +22,53 @@ jobs:
uses: ./.github/workflows/actions/get-core-dependencies

- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'

- name: Create Pack Directory
# `mkdir` will fail if this directory already exists.
# in the next steps, we'll immediately put the packed build archive in this directory.
# between that and excluding `*.tgz` files in `.gitignore`, that _should_ make it safe enough for us to later
# use `mv` to rename the `npm pack`ed tarball
run: mkdir stencil-pack-destination
shell: bash

- name: Download Build Archive
uses: ./.github/workflows/actions/download-archive
with:
name: stencil-core
path: .
path: ./stencil-pack-destination
filename: stencil-core-build.zip

- name: Copy package.json
# need `package.json` in order to run `npm pack`
run: cp package.json ./stencil-pack-destination
shell: bash

- name: Copy bin
# `bin/` isn't a part of the compiled output (therefore not in the build archive).
# we need this entrypoint for stencil to run.
run: cp -R bin ./stencil-pack-destination
shell: bash

- name: Remove node_modules
# clear out our local `node_modules/` so that they're not linked to in any way when `npm pack` is run
run: rm -rf node_modules/
shell: bash

- name: Pack the Build Archive
run: npm pack
working-directory: ./stencil-pack-destination
shell: bash

- name: Move the Stencil Build Artifact
# TODO(STENCIL-688): revisit this logic
# there isn't a great way to get the output of `npm pack`, just grab the most recent and hope for the best
run: mv $(ls -t *.tgz | head -1) stencil-eval.tgz
# there isn't a great way to get the output of `npm pack`, just grab the most recent from our destination
# directory and hope for the best.
#
# we don't set the working-directory here to avoid having to deal with relative paths in the destination arg
run: mv $(ls -t stencil-pack-destination/*.tgz | head -1) stencil-eval.tgz
shell: bash

- name: Initialize Component Starter
2 changes: 1 addition & 1 deletion .github/workflows/test-e2e.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ jobs:
uses: ./.github/workflows/actions/get-core-dependencies

- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'
2 changes: 1 addition & 1 deletion .github/workflows/test-unit.yml
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@ jobs:
uses: ./.github/workflows/actions/get-core-dependencies

- name: Use Node ${{ matrix.node }}
uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3.6.0
uses: actions/setup-node@e33196f7422957bea03ed53f6fbb155025ffc7b8 # v3.7.0
with:
node-version: ${{ matrix.node }}
cache: 'npm'
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,25 @@
## 😈 [4.0.2](https://github.com/ionic-team/stencil/compare/v4.0.1...v4.0.2) (2023-07-24)


### Bug Fixes

* **compiler:** ensures transformed paths are relative paths for `dist-collection` ([#4552](https://github.com/ionic-team/stencil/issues/4552)) ([e11ac0e](https://github.com/ionic-team/stencil/commit/e11ac0e52f8ed1e3bc605779d893df3d4e767957))
* **compiler:** handle `@supports` blocks when scoping css ([#4572](https://github.com/ionic-team/stencil/issues/4572)) ([18ed5fc](https://github.com/ionic-team/stencil/commit/18ed5fc0a8828c3df4a5b31e2778ceda48f49730))
* **compiler:** only create one class member when transforming `@Element()` decorators ([#4547](https://github.com/ionic-team/stencil/issues/4547)) ([13fac03](https://github.com/ionic-team/stencil/commit/13fac0399fd08672832adb52ee3caed57aef2f2f))
* **compiler:** sourcemap errors for dist-custom-elements + dist-hydrate-script ([#4527](https://github.com/ionic-team/stencil/issues/4527)) ([1d79672](https://github.com/ionic-team/stencil/commit/1d79672809dcaa3b56ec3761e46f9d1ef51915ad))
* **compiler:** sourcemap generation without ext runtime ([#4570](https://github.com/ionic-team/stencil/issues/4570)) ([d1be334](https://github.com/ionic-team/stencil/commit/d1be334b5ed12381eafbcd05ab56029a9366a21d))
* **lazy:** adjust the type of `defineCustomElements` ([#4592](https://github.com/ionic-team/stencil/issues/4592)) ([5c85c33](https://github.com/ionic-team/stencil/commit/5c85c332a7390b30fdba1d8598e618e5bf0f2b59))
* **mock-doc:** adjust matchMedia mock return ([#4509](https://github.com/ionic-team/stencil/issues/4509)) ([3cda014](https://github.com/ionic-team/stencil/commit/3cda014035412c775f2b03b4feda337944907b8f))
* **output-targets:** fix path normalization logic ([#4545](https://github.com/ionic-team/stencil/issues/4545)) ([cd5849c](https://github.com/ionic-team/stencil/commit/cd5849c6e1853750adde2b71791ca825f38f730d))
* **rollup-config:** deprecate BundlingConfig#namedExports ([#4532](https://github.com/ionic-team/stencil/issues/4532)) ([a353769](https://github.com/ionic-team/stencil/commit/a353769b0094cd502a9ce35f797f74c7dc1d9232)), closes [#2523](https://github.com/ionic-team/stencil/issues/2523)
* **runtime:** properly type color-interpolation-filter ([#4530](https://github.com/ionic-team/stencil/issues/4530)) ([3ccf753](https://github.com/ionic-team/stencil/commit/3ccf753f13ced6fa1339850882919192e912da30))


## Thanks

🎉 Thanks for @bdriguesdev for their contributions! 🎉


## [4.0.1](https://github.com/ionic-team/stencil/compare/v4.0.0...v4.0.1) (2023-06-28)


@@ -128,6 +150,13 @@ See [BREAKING_CHANGES.md - v4.0.0](./BREAKING_CHANGES.md#stencil-v400) for a com
See [the v4.0.0 Migration Guide](https://stenciljs.com/docs/introduction/upgrading-to-stencil-four) for a guide to migrate to Stencil v4.0.0.


## ☀️ [3.4.2](https://github.com/ionic-team/stencil/compare/v3.4.1...v3.4.2) (2023-07-24)


### Bug Fixes

* **compiler:** ensures transformed paths are relative paths for `dist-collection` (v3) ([#4553](https://github.com/ionic-team/stencil/issues/4553)) ([2d3e0d3](https://github.com/ionic-team/stencil/commit/2d3e0d30507ad251b88b3381de8828a95a0057d0))


## 🐨 [3.4.1](https://github.com/ionic-team/stencil/compare/v3.4.0...v3.4.1) (2023-06-26)

6 changes: 3 additions & 3 deletions bin/stencil
Original file line number Diff line number Diff line change
@@ -18,22 +18,22 @@ if (isNodeLT(minimumVersion)) {
currentVersion +
', however Stencil requires v' +
minimumVersion +
'.0 or greater. It is recommended to use an Active LTS version of Node (https://nodejs.org/en/about/releases/).\n'
'.0 or greater. It is recommended to use an Active LTS version of Node (https://nodejs.org/en/about/releases/).\n',
);
process.exit(1);
}

if (isNodeLT(futureDeprecationMinVersion)) {
console.warn(
'\nIn an upcoming major release of Stencil, Node v' + recommendedVersion + '.0 or higher will be required.\n'
'\nIn an upcoming major release of Stencil, Node v' + recommendedVersion + '.0 or higher will be required.\n',
);
} else if (isNodeLT(recommendedVersion)) {
console.warn(
'\nYour current version of Node is v' +
currentVersion +
", however Stencil's recommendation is v" +
recommendedVersion +
'.0 or greater. Note that future versions of Stencil will eventually remove support for older Node versions and an Active LTS version is recommended (https://nodejs.org/en/about/releases/).\n'
'.0 or greater. Note that future versions of Stencil will eventually remove support for older Node versions and an Active LTS version is recommended (https://nodejs.org/en/about/releases/).\n',
);
}

Loading