David Lechner
7b08d8a7bf
test: drop RecursivePartial type
...
There is an existing type we can use instead.
2022-03-11 15:42:42 -06:00
David Lechner
93111b6af4
explorer: implement import action
2022-03-11 15:41:16 -06:00
David Lechner
7b095765ac
pybricksMicropython/lib: add pythonFileExtensionRegex
...
This can be reused in code to work with file names.
2022-03-11 15:41:16 -06:00
David Lechner
e36a30de4c
pybricksMicropython/lib: add module
...
This creates a new module for dealing with stuff specific to Pybricks
MicroPython.
2022-03-11 15:41:16 -06:00
David Lechner
38b9bb6656
explorer: confirm file deletion
...
Since deleting files cannot be undone, we need to be extra sure before
actually deleting the file.
2022-03-10 13:48:57 -06:00
David Lechner
a995c52e04
notifications: add helper function to simplify tests
...
This reduces duplicate code and uses more of the real implementation.
2022-03-10 13:48:11 -06:00
David Lechner
63fc715f20
fileStorage: add didDeleteFile and didFailToDeleteFile actions
...
This will allow handling errors if removing a file from storage fails.
2022-03-10 13:45:10 -06:00
David Lechner
96f0dd16fd
explorer: create new file wizard
2022-03-10 02:22:29 -06:00
David Lechner
fd120bb5a6
fileStorage: fix incorrect suggested file name
2022-03-10 02:10:34 -06:00
David Lechner
ddbf3a20f4
explorer: add more UI tests
2022-03-10 02:02:20 -06:00
David Lechner
b37209683b
test: extend testRender to return spy on dispatch
2022-03-10 02:00:14 -06:00
David Lechner
41fc961661
fileStorage: implement delete action
2022-03-10 01:02:18 -06:00
David Lechner
03d12feb89
explorer: add basic file explorer
...
This is the beginnings of a file explorer. Most actions are not yet
implemented.
2022-03-09 20:54:04 -06:00
David Lechner
6afee4b6d6
test: add testRender()
...
This adds a testRender() helper function to simplify UI tests. Instead
of mocking the redux store, we use the real thing.
2022-03-09 17:24:46 -06:00
David Lechner
d0c84cbb9f
vscode: add debug config to attach to process
...
This is useful for debugging rouge tests.
2022-03-09 17:12:53 -06:00
David Lechner
1469d2146e
app: rework service worker registration
...
- registration is moved from top-level index to app/sagas.
- mock implementation is provided for tests
- actions are renamed to include "app" prefix
- actions are changed to not use non-serializable arguments
- reducers are changed to not use non-serializable state
2022-03-09 15:48:30 -06:00
David Lechner
8b75e3f1a3
npx browserslist@latest --update-db
...
automated changes
2022-03-09 11:57:22 -06:00
David Lechner
d8da424472
contributing: update serving locally
...
The self-signed certificate didn't work with the service worker, so
drop that and use a different method instead.
2022-03-08 14:47:27 -06:00
David Lechner
907826cf0e
app: rework BeforeInstallPromptEvent
...
This removed passing the BeforeInstallPromptEvent as an action argument
(action arguments should be serializable). Instead the saga just keeps
a reference to the event and actions are used only to resolve the state
of the UI.
2022-03-08 13:37:43 -06:00
David Lechner
7884f047b5
service-worker: rename actions
...
This adds a prefix to the actions so that we won't have to use aliases.
2022-03-07 17:46:26 -06:00
David Lechner
225ae0e0f2
vscode: automate headers
...
This uses the psi-header extension to automate the creation and
maintenance of source code file headers.
2022-03-07 16:38:47 -06:00
David Lechner
32d198f8e7
craco: drop esnext rules
...
Since 08e59d2 , shopify no longer published .esnext files for webpack
so we can drop these rules. However, when we do this, there is still
another .mjs issue that needs to be worked around.
2022-03-07 10:42:18 -06:00
David Lechner
ba92aa648f
Merge remote-tracking branch 'origin/master' into HEAD
2022-03-07 10:25:16 -06:00
dependabot[bot]
08e59d2be7
build(deps): bump @shopify/react-i18n from 6.3.10 to 6.3.11
...
Bumps [@shopify/react-i18n](https://github.com/Shopify/quilt/tree/HEAD/packages/react-i18n ) from 6.3.10 to 6.3.11.
- [Release notes](https://github.com/Shopify/quilt/releases )
- [Changelog](https://github.com/Shopify/quilt/blob/main/packages/react-i18n/CHANGELOG.md )
- [Commits](https://github.com/Shopify/quilt/commits/@shopify/react-i18n@6.3.11/packages/react-i18n )
---
updated-dependencies:
- dependency-name: "@shopify/react-i18n"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-07 16:17:51 +00:00
David Lechner
d767ca0784
notifications/sagas: fix rename in comment
...
This was missed when actions were refactored to remove ActionType enums.
2022-03-05 12:39:30 -06:00
dependabot[bot]
6b104f8172
build(deps-dev): bump eslint-plugin-react from 7.29.2 to 7.29.3
...
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react ) from 7.29.2 to 7.29.3.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases )
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md )
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.29.2...v7.29.3 )
---
updated-dependencies:
- dependency-name: eslint-plugin-react
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-04 16:15:49 +00:00
David Lechner
569217d5dc
editor: don't put editor in redux store
...
The redux store should not have non-serializable objects like the editor
in it.
2022-03-02 18:56:47 -06:00
David Lechner
fca7d0f253
vscode: debug tests through craco
...
Changing react-scripts to craco in the debug config was missed in 2342023 .
2022-03-02 15:37:41 -06:00
David Lechner
a6f427351a
Merge remote-tracking branch 'origin/master' into dlech
2022-03-02 10:34:20 -06:00
David Lechner
bc7e9e2a20
fileStorage: add archive actions
...
This allows users to back up all files to their computer.
2022-03-02 10:33:21 -06:00
dependabot[bot]
618a2f0633
build(deps): bump @types/react-redux from 7.1.22 to 7.1.23
...
Bumps [@types/react-redux](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-redux ) from 7.1.22 to 7.1.23.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-redux )
---
updated-dependencies:
- dependency-name: "@types/react-redux"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-02 16:23:39 +00:00
David Lechner
12f34eb210
utils: add new timestamp function
...
This will be used to create suggested file names that include a timestamp.
2022-03-01 14:42:45 -06:00
David Lechner
a87e2c664c
fileStorage: add export actions
...
These are largely copied from the editor saveAs actions and allow
exporting ("downloading") a file from the browser local storage to
the file system.
2022-03-01 13:44:08 -06:00
David Lechner
80219d297f
licenses/reducers: use ReadonlyArray
...
This helps protect against mistakes in future changes.
2022-03-01 12:00:29 -06:00
David Lechner
55c6841fae
fileStorage/reducers: drop use of Set
...
Using set causes problems with tooling that mocks the global app state,
so stick with arrays.
2022-03-01 11:58:50 -06:00
dependabot[bot]
3c0c593ffe
build(deps): bump @shopify/react-i18n from 6.3.9 to 6.3.10
...
Bumps [@shopify/react-i18n](https://github.com/Shopify/quilt/tree/HEAD/packages/react-i18n ) from 6.3.9 to 6.3.10.
- [Release notes](https://github.com/Shopify/quilt/releases )
- [Changelog](https://github.com/Shopify/quilt/blob/main/packages/react-i18n/CHANGELOG.md )
- [Commits](https://github.com/Shopify/quilt/commits/@shopify/react-i18n@6.3.10/packages/react-i18n )
---
updated-dependencies:
- dependency-name: "@shopify/react-i18n"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-01 16:31:38 +00:00
dependabot[bot]
8753ced58d
build(deps): bump xterm from 4.17.0 to 4.18.0
...
Bumps [xterm](https://github.com/xtermjs/xterm.js ) from 4.17.0 to 4.18.0.
- [Release notes](https://github.com/xtermjs/xterm.js/releases )
- [Commits](https://github.com/xtermjs/xterm.js/compare/4.17.0...4.18.0 )
---
updated-dependencies:
- dependency-name: xterm
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-01 16:22:10 +00:00
dependabot[bot]
451fceda0d
build(deps): bump typescript from 4.5.5 to 4.6.2
...
Bumps [typescript](https://github.com/Microsoft/TypeScript ) from 4.5.5 to 4.6.2.
- [Release notes](https://github.com/Microsoft/TypeScript/releases )
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.5.5...v4.6.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-03-01 16:14:52 +00:00
David Lechner
31600c6f37
editor: fix error if main.py does not exist
...
The editor saga was assuming that main.py always exists, which is not
the case for the first use of the app. This fixes the issue by checking
to see if the file exists before attempting to open it. This also
revealed a bug in fileStorage where the list of files was not populated
during initialization.
2022-02-28 12:24:46 -06:00
David Lechner
97363b4327
actions: improve type inference
...
It seems like there should be a better way to do this.
2022-02-28 12:22:08 -06:00
David Lechner
02d7672155
react-dropzone: fix for breaking change in v12
...
This fixes a breaking change from upgrading to react-dropzone to v12.
2022-02-28 11:01:59 -06:00
dependabot[bot]
db2ac5456e
build(deps): bump react-dropzone from 11.5.3 to 12.0.4
...
Bumps [react-dropzone](https://github.com/react-dropzone/react-dropzone ) from 11.5.3 to 12.0.4.
- [Release notes](https://github.com/react-dropzone/react-dropzone/releases )
- [Commits](https://github.com/react-dropzone/react-dropzone/compare/v11.5.3...v12.0.4 )
---
updated-dependencies:
- dependency-name: react-dropzone
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-28 11:01:59 -06:00
dependabot[bot]
0e339058a9
build(deps): bump @shopify/react-i18n from 6.3.8 to 6.3.9
...
Bumps [@shopify/react-i18n](https://github.com/Shopify/quilt/tree/HEAD/packages/react-i18n ) from 6.3.8 to 6.3.9.
- [Release notes](https://github.com/Shopify/quilt/releases )
- [Changelog](https://github.com/Shopify/quilt/blob/main/packages/react-i18n/CHANGELOG.md )
- [Commits](https://github.com/Shopify/quilt/commits/@shopify/react-i18n@6.3.9/packages/react-i18n )
---
updated-dependencies:
- dependency-name: "@shopify/react-i18n"
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-28 16:15:15 +00:00
dependabot[bot]
489acd28bd
build(deps): bump url-parse from 1.5.7 to 1.5.10
...
Bumps [url-parse](https://github.com/unshiftio/url-parse ) from 1.5.7 to 1.5.10.
- [Release notes](https://github.com/unshiftio/url-parse/releases )
- [Commits](https://github.com/unshiftio/url-parse/compare/1.5.7...1.5.10 )
---
updated-dependencies:
- dependency-name: url-parse
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-26 13:42:13 -06:00
dependabot[bot]
907efb29e3
build(deps-dev): bump eslint-plugin-react from 7.28.0 to 7.29.2
...
Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react ) from 7.28.0 to 7.29.2.
- [Release notes](https://github.com/yannickcr/eslint-plugin-react/releases )
- [Changelog](https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md )
- [Commits](https://github.com/yannickcr/eslint-plugin-react/compare/v7.28.0...v7.29.2 )
---
updated-dependencies:
- dependency-name: eslint-plugin-react
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-02-26 19:24:25 +00:00
David Lechner
91acba7511
Merge pull request #750 from pybricks/dlech
...
updates
2022-02-26 13:16:59 -06:00
David Lechner
994540e263
actions: fix missed refactoring
...
Missed some renames when refactoring that weren't picked up locally
for some reason.
2022-02-26 12:55:49 -06:00
David Lechner
a9f4eaa32d
actions: simplify usage of Matchable
...
This removes use of the pseudo-internal toString() function and also
removes extraneous uses of ReturnType<>. Also, a new when() method
is added to simplify additional uses.
2022-02-26 12:43:10 -06:00
David Lechner
3cbfc4ca68
Merge remote-tracking branch 'origin/master' into dlech
2022-02-25 18:02:37 -06:00
David Lechner
9641898a75
actions: refactor actions
...
The pattern we were using for actions required actions to be defined in
three places, an enum member containing the type string, an type
definition and a function. This combines all three of these into one by
using a helper function based on the ideas from [1].
[1]: https://phryneas.de/redux-typescript-no-discriminating-union
2022-02-25 17:58:30 -06:00