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

Moving electron-redux to V2 as the new default version #324

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Commits on Sep 28, 2020

  1. feat: migrate to typescript (#259)

    * feat: migrate to typescript
    
    This is WIP
    
    * feat: package.json cleanup
    
    * chore: remove eslint config rules
    
    * chore: more cleaning
    
    * chore: add tsc tests
    
    * chore: reorganize export structure
    
    * chore: add some basic e2e tests
    
    * buid: add GH action for PR
    
    * fix: e2e test memory leak fix
    
    * chore: vscode workspace settings
    
    * fix: update username in package.json
    
    * chore: rollup.config simplify
    matmalkowski committed Sep 28, 2020
    Configuration menu
    Copy the full SHA
    24b65b5 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. chore: add eslint (#268)

    * chore: add eslint
    
    This PR adds eslint setup to the reposiory. It doesn't fix existing errors/warnings - should get addressed in follow up Pull Requests since the codebase isn't final now anyway. Errors so far:
    
    ```
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/src/syncMain.ts
      18:56  error  Async arrow function has no 'await' expression  @typescript-eslint/require-await
      46:3   error  Unsafe return of an any typed value             @typescript-eslint/no-unsafe-return
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/src/syncRenderer.ts
       21:8   error    Unsafe assignment of an any value                                                                @typescript-eslint/no-unsafe-assignment
       61:4   error    Unsafe return of an any typed value                                                              @typescript-eslint/no-unsafe-return
       76:3   error    Unsafe return of an any typed value                                                              @typescript-eslint/no-unsafe-return
       85:27  warning  Unexpected any. Specify a different type                                                         @typescript-eslint/no-explicit-any
       93:3   error    Promises must be handled appropriately or explicitly marked as ignored with the `void` operator  @typescript-eslint/no-floating-promises
      105:3   error    Unsafe return of an any typed value                                                              @typescript-eslint/no-unsafe-return
      105:32  warning  Unexpected any. Specify a different type                                                         @typescript-eslint/no-explicit-any
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/src/utils/actions.ts
      15:31  warning  Missing return type on function  @typescript-eslint/explicit-module-boundary-types
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/src/utils/json.ts
       6:9   error    Unsafe assignment of an any value                     @typescript-eslint/no-unsafe-assignment
       7:3   error    Unsafe member access .__hydrate_type on an any value  @typescript-eslint/no-unsafe-member-access
      22:24  warning  Missing return type on function                       @typescript-eslint/explicit-module-boundary-types
      22:36  warning  Argument 'value' should be typed with a non-any type  @typescript-eslint/explicit-module-boundary-types
      22:43  warning  Unexpected any. Specify a different type              @typescript-eslint/no-explicit-any
      23:6   error    Unsafe member access .__hydrate_type on an any value  @typescript-eslint/no-unsafe-member-access
      27:13  error    Unsafe member access .__hydrate_type on an any value  @typescript-eslint/no-unsafe-member-access
      28:18  error    Unsafe member access .items on an any value           @typescript-eslint/no-unsafe-member-access
      31:2   error    Unsafe return of an any typed value                   @typescript-eslint/no-unsafe-return
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/src/utils/misc.ts
       7:44  warning  Missing return type on function  @typescript-eslint/explicit-module-boundary-types
      24:29  warning  Missing return type on function  @typescript-eslint/explicit-module-boundary-types
      33:31  warning  Missing return type on function  @typescript-eslint/explicit-module-boundary-types
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/tests/e2e.spec.ts
      21:5   error  Unexpected `await` of a non-Promise (non-"Thenable") value  @typescript-eslint/await-thenable
      36:12  error  Unexpected `await` of a non-Promise (non-"Thenable") value  @typescript-eslint/await-thenable
      45:12  error  Unexpected `await` of a non-Promise (non-"Thenable") value  @typescript-eslint/await-thenable
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/tests/e2e/main/index.ts
      31:5   error  Promises must be handled appropriately or explicitly marked as ignored with the `void` operator  @typescript-eslint/no-floating-promises
      31:44  error  Invalid type "string | undefined" of template literal expression                                 @typescript-eslint/restrict-template-expressions
      33:5   error  Promises must be handled appropriately or explicitly marked as ignored with the `void` operator  @typescript-eslint/no-floating-promises
      54:1   error  Promises must be handled appropriately or explicitly marked as ignored with the `void` operator  @typescript-eslint/no-floating-promises
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/tests/e2e/renderer/index.ts
       9:5  warning  Forbidden non-null assertion  @typescript-eslint/no-non-null-assertion
      18:5  warning  Forbidden non-null assertion  @typescript-eslint/no-non-null-assertion
      22:5  warning  Forbidden non-null assertion  @typescript-eslint/no-non-null-assertion
      32:5  warning  Forbidden non-null assertion  @typescript-eslint/no-non-null-assertion
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/tests/typescript/syncMain.ts
      5:7  warning  'store' is assigned a value but never used  @typescript-eslint/no-unused-vars
    
    /Users/maciej.malkowski/git/github.com/klarna/electron-redux/tests/typescript/syncRenderer.ts
      5:7  warning  'store' is assigned a value but never used  @typescript-eslint/no-unused-vars
    
    ✖ 35 problems (20 errors, 15 warnings)
    ```
    
    * fix: fix test related type issues
    matmalkowski committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    6027143 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2020

  1. chore: add prettier & format the code (#269)

    This PR adds the prettier code formatter with custom config, and formats existing code according to those rulles.
    
    Pre-commit hook to format staged files was also added.
    matmalkowski committed Oct 15, 2020
    Configuration menu
    Copy the full SHA
    f1e1b2b View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2020

  1. feat: add Code of Conduct & bump version (#270)

    This pull request adds Code of Conducts and marks the change as breaking for semanric release to
    bump the version to v2
    
    BREAKING CHANGE: TS rewrite
    matmalkowski committed Oct 17, 2020
    Configuration menu
    Copy the full SHA
    ed0c1d0 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2020

  1. feat: add semantic-release setup for automatic deployments (#271)

    * feat: add semantic-release setup for automatic deployments
    
    This adds the setup for semantic-release. master/beta/alpha branch changes will get deployed to npm
    with version depending on the commit message
    
    * chore: add PR linter
    
    * chore: add more events tro trigger the check
    matmalkowski committed Oct 19, 2020
    Configuration menu
    Copy the full SHA
    4911227 View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2020

  1. fix: remove default custom serialization and make it an opt-in option (

    …#272)
    
    Removing custom serializer as a default, since its not alligned with redux recomendation about store
    & serialization
    
    fix #261
    matmalkowski committed Oct 26, 2020
    Configuration menu
    Copy the full SHA
    5238bce View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

  1. fix: reduce bundle size by limiting external dependencies (#276)

    I removed external dependency of `flux-standard-action` that includes entire loadash with it when imported. Instead, I re-implemented single function we are using and relied on single modules from loadash that are required. Should reduce the size significantly
    matmalkowski committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    0971fd3 View commit details
    Browse the repository at this point in the history
  2. feat: ignore devtools when sending actions to renderers (#275)

    Co-authored-by: Maciej Małkowski <monkey3310@gmail.com>
    sapkra and matmalkowski committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    c1a93c0 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2020

  1. chore: add README & LICENSE (#281)

    * chore: add README & LICENSE
    
    As per title, adding initial README file & LICENSE. It will need some work for sure, I've left the missing links as TODO
    
    * chore: more badges
    
    * chore: apply suggestions from code review
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    
    * Update LICENSE.md
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    matmalkowski and hardchor committed Nov 26, 2020
    Configuration menu
    Copy the full SHA
    2e0dbbb View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2020

  1. feat: make renderer state initialization synchronous by default (#280)

    * feat: make renderer state initialization synchronous by default
    
    Implements #278
    
    * code review comments
    
    * chore: spelling
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    
    * chore: code review comments
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    matmalkowski and hardchor committed Nov 27, 2020
    Configuration menu
    Copy the full SHA
    09017fe View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2020

  1. docs: setup base documentation website (#277)

    * docussaurus initial setup
    
    * base docussaurus config
    
    * add base gh-pages deployment action
    
    * remove unnecessary job step
    
    * test changing baseurl
    
    * fix last commit
    
    * fix last commit
    
    * remove trailing slash
    
    * fix baseUrl config
    
    * add basic content based on readme
    
    * use yarn in gh-pages action
    
    Co-authored-by: Maciej Małkowski <monkey3310@gmail.com>
    antonioalmeida and matmalkowski committed Nov 30, 2020
    Configuration menu
    Copy the full SHA
    aefed4e View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2020

  1. Configuration menu
    Copy the full SHA
    aa07110 View commit details
    Browse the repository at this point in the history

Commits on Jan 13, 2021

  1. fix: align enhancer style with standards to wrap the middleware (#284)

    * fix: align enhancer style with standards to wrap the middleware
    
    * fix: align enhancer style with standards to wrap the middleware
    sneljo1 committed Jan 13, 2021
    Configuration menu
    Copy the full SHA
    9778605 View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2021

  1. docs: adding initial content for v2 (#290)

    * docs: adding initial content for v2
    
    Adding some initial content for Version 2, including expected file tree of documentation & legacy v1 docs paragraph.
    
    * chore: apply suggestions from code review
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    
    Co-authored-by: Burkhard Reffeling <burkhard.reffeling@gmail.com>
    matmalkowski and hardchor committed Feb 9, 2021
    Configuration menu
    Copy the full SHA
    4ae3407 View commit details
    Browse the repository at this point in the history
  2. docs: fixing doc build issue with missing paths (#295)

    Also adding PR build step to prevent this from happening again
    matmalkowski committed Feb 9, 2021
    Configuration menu
    Copy the full SHA
    06dcf83 View commit details
    Browse the repository at this point in the history

Commits on Feb 10, 2021

  1. Configuration menu
    Copy the full SHA
    134d290 View commit details
    Browse the repository at this point in the history

Commits on Feb 16, 2021

  1. fix(#285): add composeWithStateSync to resolve issues with enhancer o…

    …rder (#296)
    
    * fix(#285): add composeWithStateSync to resolve issues with enhancer order
    
    * fix: resolve PR comments
    
    * chore: add type tests
    
    * docs: update README getting started  and add changes to FAQ
    
    Co-authored-by: Maciej Małkowski <monkey3310@gmail.com>
    sneljo1 and matmalkowski committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    cce8018 View commit details
    Browse the repository at this point in the history
  2. chore: update README

    matmalkowski committed Feb 16, 2021
    Configuration menu
    Copy the full SHA
    aaf911d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b48f338 View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2021

  1. chore: adding basic example of usage in raw scenario + moving integra…

    …tion tests (#299)
    
    * chore: adding basic example of usage in raw scenario
    
    * chore: work in progress
    
    * chore: trying to add tests
    
    * chore: fixing e2e tests and making them runnable
    
    * fix package.json
    
    * chore: code review comments addressed
    matmalkowski committed Feb 22, 2021
    Configuration menu
    Copy the full SHA
    2d05fa7 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2021

  1. feat: use contextBridge in favour of requiring nodeIntegration (#300)

    * feat: use contextBridge in favour of requiring nodeIntegration
    
    Due to security concerns related to usage of nodeIntegration flag, according to best electron practices, renderer functions should be exposed with contextBridge. This PR does exactly that. It also changes a bit API to accomodate for this feature
    
    * feat: fixing issues with test enviroment
    
    * fix: add missing  preventDoubleInitialization() check
    
    * change the scope of the contextBridge bindings to only expose high level API
    matmalkowski committed Jun 2, 2021
    Configuration menu
    Copy the full SHA
    83146af View commit details
    Browse the repository at this point in the history