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.17.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.17.2-0
Choose a head ref
  • 7 commits
  • 32 files changed
  • 3 contributors

Commits on Jul 11, 2022

  1. chore(types): remove optional types on ConfigFlags interface (#3460)

    Removing the optional types on `ConfigFlags` lets us remove a few null
    suppression errors here and there and removes some `strictNullChecks`
    violations as well.
    
    To make it easy to create a correctly-formed `ConfigFlags` object this
    also introduces a `createConfigFlags` helper function which takes a
    partial `ConfigFlags` object and returns one with default properties
    set.
    alicewriteswrongs authored Jul 11, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6db0ffc View commit details

Commits on Jul 13, 2022

  1. refactor(karma): document karma utilities (#3453)

    this commit lightly refactors the various karma utilities used by
    browserstack tests. the motivation for this effort was STENCIL-433,
    wherein we are attempting to stabilize the browserstack tests. there
    was an initial belief that some of the flakiness could have been a
    result of the contents of these utils. that is not longer suspected -
    however, the code changes found in this commit are (subjectively) nice
    cleanups to have for future maintainers
    
    STENCIL-433: Stabilize Browserstack Tests
    rwaskiewicz authored Jul 13, 2022

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    3171892 View commit details
  2. chore(github): split browserstack into two jobs (#3454)

    this commit takes the pre-existing browserstack workflow (renamed from
    `browserstack.yml` to `test-browserstack.yml`) and splits one job into two:
    one for building stencil, and another to build the downstream applications
    + run browserstack
    
    the intent behind this commit is to make re-running browserstack a
    faster operation for stencil engineers. rather than waiting
    approximately 8 minutes to see if a job passes, we take the flakier of
    the two (running browserstack) and move it into its own job. from the
    github ui, we can "rerun failed jobs" for this workflow, resulting in a
    ~3.5 minute turnaround time. this is a part of a larger effort to
    stabilize browserstack tests. while this commit doesn't perform any
    stabilizations per se, it does help mitigate the time lost due to flaky
    tests.
    
    the first job makes use of our pre-existing `build_core` job, which
    should meet our requirements for preventing secrets from leaking.
    we do still end up with a double build (one in the main ci workflow,
    and one here). the good news is that the two builds/caches are isolated
    from one another, which means for now we don't have to worry about
    race conditions between the Browserstack build and the main one. In the
    future, we'd like to see if there's anything that can be done in this regard
    (either using the same build step or smarter caching), but at the least
    for now this PR moves the needle a little bit closer in the direction of ci
    stability (or having a better experience when its flaky)
    
    STENCIL-433 Stabilize Browserstack CI Tests
    rwaskiewicz authored Jul 13, 2022
    Copy the full SHA
    b9fbe85 View commit details
  3. fix(compiler): fix typedef file generated for dist-custom-elements (#…

    …3468)
    
    This fixes the typedef file generated for the `index.js` file produced
    by `dist-custom-elements`. Previously it was mistakenly assuming that
    the path to a component's `d.ts` file could be generated on the basis of
    the `tag` set on the component. This _is_ the case if the component's
    filename is equal to it's tag, but there is no requirement that that be
    the case.
    
    This changes the way that the relative path from
    `${outputDir}/components/index.d.ts` to the `.d.ts` file for a specific
    component is generated.
    
    Previously we were doing something like:
    
    ```ts
    ${outputDir}/types/components/${component.tagName}/${component.tagName}
    ```
    
    This doesn't work if a component is saved in
    `src/components/button/button.tsx` but has a tag like `custom-button`.
    So to fix this we can instead:
    
    - find the relative path from the source root to the component, giving
      us e.g. `components/button/button.tsx`
    - join that relative path with the relative path from where `index.d.ts`
      is going to be saved (`${outputDir}/components/index.d.ts`) to the
      directory where types are written (e.g. `${outputDir}/types`)
    
    This will give us an import in `index.d.ts` that looks like:
    
    ```ts
    export { Button as CustomButton } from '../types/components/button/button.tsx';
    ```
    alicewriteswrongs authored Jul 13, 2022
    Copy the full SHA
    854d498 View commit details

Commits on Jul 18, 2022

  1. chore(browserstack): add concurrency field (#3466)

    this commit adds a concurrency string, 'run_browserstack_queue' to the
    'run_browserstack' job in ci.
    
    the name for the concurrency field was chosen to:
    - make it easily identifiable as a part of running browswerstack
    - not overlap with the name of the run_browserstack job completely to
       avoid any confusion when debugging in the future
        
    this change prevents a condition in ci where two simultaneous browserstack 
    runs are attempted at the same time. stencil's browserstack license only
    allows for five parallel runs at a given time. as of the time of this
    writing, stencil uses three browsers per run of browserstack. as a
    result, two runs of the job will result in requesting more browsers than
    our license permits. on the browserstack side, the extra run (number six
    of the five) is queued to run once one of the five completes. however,
    on the karma side things, we don't have a great way to check for these
    queued jobs and poll until one is done. as a result, we experience
    timeouts/disconnects with browserstack as a result of waiting for a
    browser instance (that's queued) to start up. oftentimes, we hit a
    jasmine/karma timeout of ~30_000 milliseconds.
        
    with this change, we are able to continue to have the flexibility to
    re-run just the browserstack tests, while blocking them from running
    when we aren't sure that we can acquire all the necessary instances. it
    should be noted that this does not handle cases where a developer is
    tunneling into browserstack from their local machine
    rwaskiewicz authored Jul 18, 2022
    Copy the full SHA
    bd1b8c2 View commit details
  2. feat(mock-doc): dispatch blur and focus events (#3449)

    for mock-doc, `blur()` and `focus()` methods will now dispatch an
    event. created `MockFocusEvent` which extends a new 
    `MockUIEvent`, which extends the existing `MockEvent`.
    marlon-ionic authored Jul 18, 2022
    Copy the full SHA
    15520b7 View commit details

Commits on Jul 19, 2022

  1. 🏜 v2.17.2-0

    rwaskiewicz committed Jul 19, 2022
    Copy the full SHA
    0b9d4b0 View commit details
Loading