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

Update dependency riot to v9 #2295

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update dependency riot to v9 #2295

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 21, 2023

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
riot (source) 4.14.0 -> 9.4.4 age adoption passing confidence

Release Notes

riot/riot (riot)

v9.4.4

Compare Source

v9.4.3

Compare Source

v9.4.2

Compare Source

v9.4.1

Compare Source

v9.4.0

Compare Source

v9.3.0

Compare Source

v9.2.2

Compare Source

  • Improve the compiler css selector replacement strategy

v9.2.1

Compare Source

  • Fix broken selector scoping with css comments above the selectors

v9.2.0

Compare Source

v9.1.8

Compare Source

  • Update improve performance of internal array/object iterators

v9.1.7

Compare Source

v9.1.6

Compare Source

v9.1.5

Compare Source

v9.1.4

Compare Source

  • Update riotjs dom bindings adding small optimizations and removing deprecated code to reduce the bundle size
  • Update dev dependecies

v9.1.3

Compare Source

v9.1.2

Compare Source

  • Fix missing @riotjs/dom-bindings types
  • Update dependencies

v9.1.1

Compare Source

  • Improve the order of the exports keys in the package.json file

v9.1.0

Compare Source

  • Improve compatibility with commonjs environments
  • Improve the quality typescript declaration exports
  • Update dev dependencies

v9.0.4

Compare Source

v9.0.3

Compare Source

  • Fix disable the boolean attributes rendering on custom elements
    • known boolean attributes are available only on existing html tags like input or select

v9.0.2

Compare Source

  • Update node engine >=18.0.0 value in package.json

v9.0.1

Compare Source

  • Fix removal of falsy boolean attributes

v9.0.0: Evergreen

Compare Source

V9 is almost fully backward compatible with previous versions of Riot.js. However, a few breaking changes have been made, which are listed below:

  • Fix https://github.com/riot/riot/issues/2975
  • Use Module Syntax Exports
  • Reduce library size to 5.8kb
  • Use Prettier to format the codebase
  • Discontinued support for node versions older than v18
  • Breaking Change: Babel Code transpilation has been removed
    • To target older browsers, you will need to transpile your Riot.js import within your app
  • Breaking Change: Non boolean falsy attributes will no longer be removed; instead, use null or undefined (see also https://github.com/riot/riot/issues/2975). For example:
    • <p is-active={false}> - is-active will no longer be removed. Use <p is-active={null}> instead
    • Note that Riot.js will still automatically detect boolean attributes like checked or selected and in that case remove them with falsy values

Several ecosystem packages have received major updates and the rest will be updated soon. Future versions of Riot.js ecosystem packages will be synchronized to avoid confusion. To use Riot.js v9, ensure that you install only v9 @​riotjs packages.

v7.1.0

Compare Source

v7.0.7

Compare Source

v7.0.6

Compare Source

  • Update improve the deno compatibility adding the file extension to the esm files imports

v7.0.5

Compare Source

  • Improve rendering performance
  • Update development dependencies

v7.0.4

Compare Source

v7.0.3

Compare Source

v7.0.2

Compare Source

v7.0.1

Compare Source

  • Fix small bug computing text expressions in runtime slots

v7.0.0

Compare Source

  • Update: code cleanup to improve the esm bundle and treeshaking
    • Remove: riot.esm.js in favor of the esm folder
  • Add: runtime slots https://github.com/riot/riot/discussions/2917
    • The runtime slots are available in the riot+compiler.js bundle (A documentation update will be available soon)
  • Update: reduced bundle size to 5kb riot.min.js gzipped
  • Update: new Compiler (riot+compiler.js) bundle 50% lighter than the previous one

Important: The documentation will be updated during the next few weeks, however no API breaking changes were introduced.

v6.1.2

Compare Source

v6.1.1

Compare Source

v6.1.0

Compare Source

  • Update compiler
    • Components output code will use modern javascript (like arrow functions) reducing heavily their size
    • Components code output will be smaller due to compiler optimizations
  • Update dependencies

v6.0.4

Compare Source

v6.0.3

Compare Source

  • Fix tags with only named export statements. Their javascript will be properly generated also without an export default
  • Update @riotjs/dom-bindings types adding better typescript support

v6.0.2

Compare Source

v6.0.1

Compare Source

  • Update: update the @riotjs/compiler improving the typescript support for type aliases like export type ComponentInterface = RiotComponent<MyComponentProps, MyComponentState>

v6.0.0

Compare Source

If you are not a typescript user this release doesn't introduce any braking change. If you are a typescript user you can start writing Riot.js components as follows

<my-component>
  <p>{ state.greeting }{ props.username }</p>

  <!--
    Notice that lang="ts" does actually nothing.
    It's just needed to let your IDE interpret the below code as typescript.
    The riot compiler will ignore it
  -->
  <script lang="ts">
    import {withTypes, RiotComponent} from 'riot'

    export type MyComponentProps = {
      username: string
    }

    export type MyComponentState = {
      message: string
    }

    export type MyComponent = RiotComponent<MyComponentProps, MyComponentState>

    export default withTypes<MyComponent>({
      state: {
        message: 'hello'
      }
    })
  </script>
</my-component>

Many thanks to https://github.com/kachurun for his help on this major release

v5.4.5

Compare Source

v5.4.4

Compare Source

v5.4.3

Compare Source

v5.4.2

Compare Source

v5.4.1

Compare Source

v5.4.0

Compare Source

  • Update: replace the compiler acorn javascript parser with the (bigger but more modern) @babel/parser
  • Add: typescript syntax support in Riot.js <script> tags

Notice:
Riot.js will not type check your components scripts nor transpile them. This version allows you to use the typescript syntax without forcing the use of a typescript preprocessor, but type checking and transpilation should be handled with tools like babel or ts-loader
You can check the new compiler here with the following demo component:

<random>
  <h3>{ props.title }</h3>

  <button onclick={ generate }>
    Generate
  </button>

  <h1>
    { state.number }
  </h1>

  <logs logs={ state.logs } onclear={ clearLogs }></logs>

  <script lang="ts">
    import Logs from '../logs/logs.riot'
    import {RandomComponent} from './types'

    function Random(): RandomComponent {
      return {
        state: {
          number: null,
          logs: []
        },
        generate(event: MouseEvent): void {
          this.update({
            number: Math.floor(Math.random() * 10000),
            logs: this.state.logs.concat({
              text: `Generate button clicked. Event type is ${event.type}`
            })
          })
        },
        clearLogs(): void {
          this.update({
            logs: []
          })
        }
      }
    }

    Random.components = {
      Logs
    }

    export default Random
  </script>
</random>

v5.3.3

Compare Source

v5.3.2

Compare Source

v5.3.1

Compare Source

<my-component>
  <p>{ state.message }</p>
  <button onclick={onClick}>Click Me</button>

  <script>
    const context = this

    context.state = {
      message: ''
    }
    
    context.onBeforeMount = () => {
      context.state.message = 'Hello'
    }

    context.onClick = () => {
      context.update({
        message: 'Goodbye'
      })
    }
  </script>
</my-component>

v5.3.0

Compare Source

  • Update improve support for legacy Riot.js syntax fixing some edge cases
  • Update improve support for recursive tags

Now you can recursively render tags without having to register them globally

<recursive-tree>
  <p>{ props.name }</p>
  <recursive-tree 
    if={ props.children.length && props.children } 
    each={ child in props.children } { ...child }/>
</recursive-tree>

v5.2.0

Compare Source

  • Add support for old style Riot.js syntax

Some liked more the old RIot.js syntax so you can now write components also as follows

<old-syntax>
  <p>{ state.message }</p>
  <button onclick={onClick}>Click Me</button>

  <script>
    this.onBeforeMount = () => {
      this.state.message = 'Hello'
    }

    this.onClick = () => {
      this.update({
        message: 'Goodbye'
      })
    }
  </script>
</old-syntax>

v5.1.4

Compare Source

v5.1.3

Compare Source

v5.1.2

Compare Source

  • Update default project branch name master -> main
  • Fix make sure pure components will not be automatically removed by Riot.js if or each directives

v5.1.1

Compare Source

v5.1.0

Compare Source

  • Add support for <template> slot tags https://github.com/riot/riot/issues/2888
  • Add improve debugging support, allowing shortcuts for the use of console methods in expressions: Before {window.console.log('hello')} -> After {console.log('hello')}
  • Improve rendering performance simplifying the compiler output

v5.0.0

Compare Source

This release is completely backward compatible, make sure to update the @riotjs/[email protected] along with [email protected]. All the Riot.js echosystem tools should keep working as expected without needing major release updates.

Changelog
  • Replace the internal domdiff rendering engine with a fork of udomdiff
  • Improve rendering performance
  • Improve library size (-1kb)
  • Improve Riot.js is side-effect free. Supports ES2015 exports also, hence fully tree-shakeable
  • Fix https://github.com/riot/riot/issues/2878 browser globals in expressions are available only as window properties breaking change
    old { location.href } new { window.location.href }

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot enabled auto-merge (rebase) October 21, 2023 18:53
@renovate renovate bot force-pushed the renovate/riot-9.x branch 3 times, most recently from 6ddd664 to 4db324d Compare October 28, 2023 10:55
@renovate renovate bot force-pushed the renovate/riot-9.x branch 2 times, most recently from a9cfe49 to df11b4f Compare December 16, 2023 04:48
@renovate renovate bot force-pushed the renovate/riot-9.x branch 4 times, most recently from f28fda4 to 6676691 Compare January 9, 2024 17:35
@renovate renovate bot force-pushed the renovate/riot-9.x branch 3 times, most recently from b1d1d79 to 35c852e Compare February 29, 2024 17:54
@renovate renovate bot force-pushed the renovate/riot-9.x branch 8 times, most recently from 0dcde4c to 80476c6 Compare March 15, 2024 13:07
@renovate renovate bot force-pushed the renovate/riot-9.x branch 2 times, most recently from d103c84 to 6e1da55 Compare May 8, 2024 23:14
@renovate renovate bot force-pushed the renovate/riot-9.x branch 2 times, most recently from d1a68bf to 8fb66b1 Compare June 16, 2024 09:58
@renovate renovate bot force-pushed the renovate/riot-9.x branch 12 times, most recently from c8b4b36 to d59c06d Compare September 26, 2024 21:43
@renovate renovate bot force-pushed the renovate/riot-9.x branch 15 times, most recently from 76c9b9f to 78cc1ad Compare October 11, 2024 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants