Commit Graph
1139 Commits
Author SHA1 Message Date
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
David Lechner 8f377b3909 app/actions: fix duplicate type name
This fixes a duplicate type name shared by didInstallPrompt and
didInstall actions.
2022-02-25 10:02:26 -06:00
David Lechner cf8744a6cd actions: drop typed dispatch
This doesn't provide much benefit and is just one more rule to remember,
so we can do without it.
2022-02-24 17:16:52 -06:00
David Lechner e4b7a9aec7 fileStorage: new file storage backend
This replaces the localStorage file storage with a new backend that uses
localForage (indexeddb) for storing the file contents. This will also
allow storing multiple files.
2022-02-24 16:59:49 -06:00
dependabot[bot] 846ccdc3ed build(deps): bump @types/jest from 27.4.0 to 27.4.1
Bumps [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jest) from 27.4.0 to 27.4.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jest)

---
updated-dependencies:
- dependency-name: "@types/jest"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-23 16:13:06 +00:00
David Lechner a0a1ae7126 "@blueprintjs/core": "^3.53.0"
This allows us to drop the monkey patch to work around an upstream bug.
2022-02-22 14:23:20 -06:00
David Lechner a0da9f7111 Improve code coverage 2022-02-22 12:32:20 -06:00
David Lechner b3ed75f02b status-bar: add titles
This adds titles to interactive elements. This causes a small (browser-
native) tooltip to display when hovering.
2022-02-22 12:32:20 -06:00
David Lechner 109e65b54f tool-versions: update to node 16
This is needed for the String.replaceAll() method.
2022-02-22 12:32:20 -06:00