Commit Graph

61 Commits

Author SHA1 Message Date
lelemm
3b6c97faab Development mode for sync server (React Fast Refresh on port 5006) (#4372)
* devmode for sync server

* removed pluggy from this version

* md

* code review

* changed how open browser

* missed this

* linter

* trigger actions
2025-02-17 20:49:46 +00:00
Michael Clark
87779d3199 Updating sync server package name to @actual-app/sync-server (#4370)
* updating sync server to have a consistent package name

* release notes
2025-02-16 22:37:00 +00:00
Mike Clark
ce99c49ddb updating the way the server loads the actual web build path to account for different folder structure 2025-02-09 10:16:29 +00:00
mikesglitch
46aa79ab7c updating docker with new references to sync-server 2025-02-08 22:18:01 +00:00
Mike Clark
83ba751410 integrating actual-server git workflows 2025-02-07 20:30:41 +00:00
Mike Clark
722e30e385 updating yarn lock file to accomodate sync-server 2025-02-07 19:13:30 +00:00
Matt Fiddaman
bd77dfd111 🔧 Migrate to ESLint v9 (#3993) 2025-01-07 18:51:59 +00:00
Matiss Janis Aboltins
f3660c166f ⬆️ upgrade typescript, eslint, prettier (#3289) 2024-08-20 17:18:54 +01:00
Julian Wachholz
8142dd1ec9 feat: introduce i18n framework (#3036)
* feat: introduce i18n framework

* Incorporate review feedback

* Patch demo

* remove unnecessary arguments

* Consistently use t() function

* Fix typing issue

* Fix e2e tests

---------

Co-authored-by: Matiss Janis Aboltins <matiss@mja.lv>
2024-08-11 15:37:33 -04:00
Matiss Janis Aboltins
4af2c4f214 ⬆️ upgrade yarn to 4.3.1 (#3105) 2024-07-20 09:53:42 +01:00
Matiss Janis Aboltins
aaea04fc00 🔧 add lint-staged and husky to auto-patch formatting issues (#3058) 2024-07-16 19:10:57 +01:00
Joel Jeremy Marquez
e63fb46c8f Add run-vrt script to run vrt inside docker (#2762)
* Add run-vrt script to run vrt inside docker

* Release notes

* Update README

* Support E2E_START_URL env variable

* Update README
2024-05-16 14:51:46 -07:00
Julian Dominguez-Schatz
bfb7c1d213 Add plugin for offline PWA support (#2369)
* Add plugin for offline PWA support

* Add release notes

* Attempt to fix kcab fetch issue

* Fix type errors

* Cache more file types

* Empty commit to try to bump action

* Attempt to fix fonts
2024-02-20 18:23:27 -07:00
Joel Jeremy Marquez
8a8113a648 Update loot-core deps (#2280)
* Upgrade desktop-client depenencies

* yarn dedupe

* Update useSelectors

* Update loot-core deps

* yarn dedupe

* Move deps to devDependencies

* yarn dedupe
2024-02-07 18:40:59 -08:00
Joel Jeremy Marquez
d5e49dde59 Update yarn to 4.0.2 (#2283)
* Update yarn

* Release notes
2024-02-02 18:11:07 -08:00
Matiss Janis Aboltins
edba670d3a ⬆️ (prettier) upgrade, fix issues and enable for jsx files (#2253) 2024-01-19 21:48:30 +00:00
Matiss Janis Aboltins
f33bce41ea ♻️ (typescript) enable strict mode everywhere (#2230) 2024-01-15 08:24:33 +00:00
Matiss Janis Aboltins
08c80b6f58 ⬆️ (yarn) upgrade to v4 and better-sqlite3 to v9.1.1 (#1902) 2023-11-14 08:34:12 +00:00
Matiss Janis Aboltins
a1dd6cf3dc 🔧 removing unnecessary manual module resolution (#1707) 2023-09-18 18:42:57 +01:00
Matiss Janis Aboltins
4d8efccc73 🔧 (electron) improved OS detection (#1658)
* 🔧 (electron) improved OS detection

* Release notes
2023-09-07 06:56:15 +01:00
Matiss Janis Aboltins
6817c45ddc ⬆️ upgrade absurd-sql and remove patch-package (#1632) 2023-09-03 17:26:01 +01:00
Matiss Janis Aboltins
a0290609f9 👷 visual regression tests (#1553) 2023-08-25 17:34:10 +01:00
Matiss Janis Aboltins
b114a8f8fc (export) adding error handling & improving dev-exp for electron (#1468) 2023-08-17 08:28:43 +01:00
Jed Fox
a99e88b46c Update node-fetch in the API to fix connection drop issue (#1397) 2023-07-29 05:24:51 -07:00
Shazib Hussain
7165a2159d Lint tweaks (#1223) 2023-06-30 10:20:18 -04:00
Jed Fox
ed50e2b392 Run ESLint at the top level once (#1202)
This significantly speeds up `yarn lint` for me. It also ensures we’re
listing all source files in the project, including the `.eslintrc` files
and any other files that may be present.
2023-06-26 15:32:56 -04:00
Shazib Hussain
228cff3cfd New linter rule import/no-unused-modules & fixing import on typescript (#1173)
- New linter rules are now added
- Perhaps the `createPayee` method i've tagged with a disable should be
deleted.
- I have ignored unused methods in Plaid/Mobile as this stuff is still
WIP/experimental?
2023-06-24 11:58:40 -04:00
Jed Fox
c1af40ff5c Update recommended version to Node.js 18 (#1117)
After #1115, new Node.js versions will be able to be used for
development of the frontend. This PR changes the recommended Node.js
version to 18 (the current LTS version). I have also tested with 16 and
20 and it works.

I also took the opportunity to:

- move the build script that was at the project root to the `bin/`
folder
- update the `browserslist` to target Electron 24 (which is the version
we currently build against). This results in a slightly smaller bundle
due to no longer having to transpile optional chaining.
2023-06-10 13:12:42 -04:00
Matiss Janis Aboltins
3cba838412 🔧 (cross-env) add missing dep and upgrade all to same version (#1106)
1. Upgrade all `cross-env` versions to be the same
2. Added `cross-env` to `desktop-electron` - it was used there, but was
missing as a dep
2023-06-04 21:11:09 +01:00
Jed Fox
efe4194f9c A few fixes for Electron (#1048) 2023-05-20 09:46:10 -04:00
Shazib Hussain
461132b95e Fix electron app (#1003)
Updates to the latest version of electron and moves the backend-frontend
communication from node-ipc to websockets. This resolves the previous
roadblock regarding `nodeIntegration` .

Done

- Remove node-ipc in favour of websockets. 
- Move file copying out of `preload.js` to avoid importing module `fs`
there
- Bump all electron pacakge versions to the latest
- Added new package for finding open ports as node-ipc is gone
- Tweaked webpack config for above changes


Partially fixes #468

Questions/ Pending:
- Literally every single test fails for me, presumably some issue with
my setup/environment.
- The websocket communication is not using TLS. I'm not sure how to
enable this, or if we even need to as its all local.
- Still need to create the CI for building/deploying but I'm not sure
where start in this regard as i have no exp with it. Presumably we will
need to point the electron auto-updater to the github releases url's. If
people are happy with this PR I will look at adding the CI before its
merged.
- In dev mode only, I have disabled TLS security becuase my docker
container's cert is not signed. I _assume_ this will be true for other
people who spin up the server on thier own hardware. Perhaps I just need
to change my cert to one from letsencrypt or something...

Notes.
I have not touched javascript in eons so my apologies if the commit
trail is a bit fragmented. I tried to keep them fairly contained and
then there is a slightly gnarly final commit fixing all the linter
issues... Please let me know if you want me to squash some commits etc.

I initially tried to move this to web workers the same way the web app
does it but this was unsuccessful. I have found no way to spin up a
worker in one place (frontend/backend) and then pass this worker to the
other. The electron ipc channels don't allow you to directly pass
objects such as workers, everything is cloned/serialised. Passing a port
number so the other end can spin up its own socket works fine.

---------

Co-authored-by: Shazib Hussain <contact@shazib.com>
Co-authored-by: Jed Fox <git@jedfox.com>
2023-05-18 19:56:48 -04:00
Jed Fox
6fc4fc294a Update Yarn (#1042) 2023-05-17 18:54:06 -04:00
Matiss Janis Aboltins
759a018346 🔧 make start:browser the default cmd instead of start:desktop (#977) 2023-05-01 10:47:36 +01:00
Jed Fox
5d559afe30 Enable linting for all packages (#861)
<!-- Thank you for submitting a pull request! Make sure to follow the
instructions to write release notes for your PR — it should only take a
minute or two:
https://github.com/actualbudget/docs#writing-good-release-notes -->
2023-04-06 15:49:43 -04:00
Alberto Gasparin
c009a0c7fb Start Typescript inception (#816) 2023-03-28 16:49:51 -05:00
Jed Fox
3cb18683c6 nit: use curly apostrophes throughout the UI (#791) 2023-03-21 13:48:31 -04:00
Jed Fox
c7e531a26c Reduce client build size by 1MB (#750)
before:

```
kcab.worker.4bdc73a8d45eb2115156.js (2.1 MiB)
xfo.kcab.worker.4bdc73a8d45eb2115156.js (1010 KiB)
```

after:

```
kcab.worker.39f5fba82d7bc7477962.js (1.41 MiB)
xfo.kcab.worker.39f5fba82d7bc7477962.js (1000 KiB)
```

What’s changed:

- `loot-core` did not have a `browserslist` config, so
`@babel/preset-env` assumes we want to [transpile all the way back to
ES5](https://babeljs.io/docs/options#no-targets). I’ve removed the
`browserslist` config from each of the `package.json` files and moved it
to the root so this doesn’t happen again.
- I updated the target from `electron 3.0` to `electron 12.0` to match
our Electron dependency
- I’ve added `defaults` (currently equivalent to `> 0.5%, last 2
versions, Firefox ESR, not dead`) which is [recommended by
browserslist](https://browsersl.ist/#q=defaults). We could consider
tightening this, but it doesn’t offer a ton of space savings at this
point to just target Electron 12.
- Since much less transpilation will be happening, stack traces (dev and
prod) will be much easier to read!
2023-03-14 13:55:39 -04:00
Jed Fox
a82300e20f Remove outdated part of the postinstall script (#733) 2023-03-09 07:36:52 -05:00
Jed Fox
0688c25843 Remove/dedupe/upgrade several dependencies (#702)
* Run `yarn dedupe`

* Update to better-sqlite3@latest

* Remove react-native

* Remove a bunch more unused deps

* Update mitt to 3.0

* Remove a few more

* Remove react-native-gesture-handler

* Revert "Update to better-sqlite3@latest"

This reverts commit d436bc8d73f2745f484def4e40596322d0c56458.

* Dedupe better-sqlite3 versions

* snapshots!

* Fix jsdom error

* Revert "Dedupe better-sqlite3 versions"

This reverts commit f99d2ab6f9.

* Add back jest-watch-typeahead

* Fix conflicting Jest version

(The jest-environment-jsdom package that is magically available seems to only be compatible with Jest 27)
2023-02-28 15:47:53 -05:00
Matiss Janis Aboltins
18eae3ebf6 🏗️ moving back to create-react-app (#697) 2023-02-28 08:50:49 +00:00
Matiss Janis Aboltins
92d18868b6 ⬆️ upgrade yarn to v3.4.1 (latest stable) (#683)
* ⬆️  upgrade yarn to v3.4.1 (latest stable)

* Fix resolutions
2023-02-23 19:19:33 +00:00
Matiss Janis Aboltins
50a71335e6 test: bare-bones e2e testing with playwright (#416) 2023-01-12 22:43:32 +00:00
Matiss Janis Aboltins
e58e00d454 ⬆️ upgrade prettier and fix new issues (#442) 2023-01-12 18:34:08 +00:00
Matiss Janis Aboltins
ae7378252f 🔥 removal of react-native mobile apps (#443) 2023-01-12 18:19:38 +00:00
Matiss Janis Aboltins
d2b210088f chore: fix eslint issues and make warnings CI blocking 2022-12-30 18:46:57 +00:00
Tom French
4f0bfe4a1f ci: lint desktop-client in CI 2022-08-25 16:21:26 +01:00
Tom French
d61457716e chore: update remaining test scripts 2022-08-24 21:27:47 +01:00
Tom French
9be15eaee1 build: replace babel-jest with ts-jest 2022-08-24 20:21:35 +01:00
Tom French
8d0872c7a4 Merge branch 'master' into prettier
* master:
  fix: correct import of merkle in test
  chore: move snapshot to new dir
  refactor: move crdt files into separate directory
  revert: revert pruning of svg imports
  style: nicer re-exporting syntax
  refactor: remove unused imports
  chore: update package scripts to take advantage of yarn v3
  build: add missing eslint dependency to loot-core
  build: add cross-env dependency to desktop-client package.json
  build: remove deprecated nohoist settings and prevent hoisting of mobile dependencies
  fix: move downshift patch to monorepo root
  CI: update CI definition to use yarn v3
  fix: wrap glob in quotes so that it's properly passed to npm-run-all
  chore: update root yarn scripts to use `workspace` command instead of cd
  chore: fix broken builds
  chore: update to yarnv3 and fix missing packages preventing install
  Force react-error-overlay to 6.0.9 to fix error
  Add docs for building for windows (contributed by @ejmurra)
  add: tsconfig.json
2022-08-23 12:31:04 +01:00
Tom French
58a0910996 build: remove deprecated nohoist settings and prevent hoisting of mobile dependencies 2022-08-22 22:35:07 -04:00