27 Commits

Author SHA1 Message Date
Abdullah Atta
68ebb132cd global: update packages to ensure we bundle only 1 version of @mdi/js 2023-02-20 15:23:52 +05:00
Abdullah Atta
7cd6a6e9ee clipper(web): fix all eslint warnings 2022-12-05 15:20:54 +05:00
Abdullah Atta
58319c27f5 misc: install patch-package package 2022-12-02 11:25:59 +05:00
Abdullah Atta
b5843c24d4 editor: do not use shebang to execute build script 2022-10-06 13:19:44 +05:00
Abdullah Atta
b3ea6523ae global: set license prop of all package.json files to GPL-3.0-or-later 2022-09-26 15:30:16 +05:00
ammarahm-ed
042028f1eb ci: build ipa in two steps 2022-09-22 17:57:13 +05:00
ammarahm-ed
508cb9bf2e ci: move codemagic.yaml to root 2022-09-22 13:44:06 +05:00
Abdullah Atta
6d75476e7c web: optimize tests by ~120% (#1018)
This is mainly done via sharding, caching & reducing total work:
1. `terser` is turned off when generating test build
2. `nx` distributed cache allows reusing build outputs
3. `playwright` sharding allows running tests in parallel

This can further be improved by using `swc` & `esbuild` during build
2022-09-21 14:01:32 +05:00
ammarahm-ed
85a3b5f016 ci: add release commands 2022-09-20 14:45:41 +05:00
Abdullah Atta
dba1fe41e5 misc: add serve package for running web tests 2022-09-14 12:05:53 +05:00
Abdullah Atta
d31a43b463 web: rewrite the whole test suite to be more resilient
**Why?**
The old test suite was a confusing mess, hard to maintain, update, and
add more tests to. It lacked a much needed layer of expressivity &
the reusable functions were all over the place.
Since it used a global `page` (by mistake), it couldn't run in parallel.
Moreover, the global `page` approach caused random flakiness.

All the above reasons led to this OM (Object Model) based approach to tests.
The tests are now much more expressive, reslient, resuable & easier to
maintain. During the rewriting process I also added a couple more
tests (about 10) so this is a net improvement.

Previously, running the tests were also quite slow (15-25s avg). This has
now been improved to (5-8s avg) by running the tests in production.
This means the app now requires to be built before running the tests:

```sh
npm run build:test:web # this is only required once
npm run test:web
```
2022-09-14 11:50:24 +05:00
Abdullah Atta
ab38d89314 setup: use zx for cross-platform scripting 2022-09-07 23:04:40 +05:00
ammarahm-ed
24f0e5bd9c mobile: make e2e tests work on android & iOS 2022-09-01 15:01:52 +05:00
Abdullah Atta
8fa4e2184f config: streamline running core tests
by default running `npm run test:core` will only run unit tests.
E2E tests require setting up credentials in the .env file.
Until we figure out a way to streamline this whole process,
this is how the tests will be run.
2022-08-31 20:03:58 +05:00
Abdullah Atta
b150686f10 config: add test:web command for running web tests 2022-08-31 18:26:46 +05:00
Abdullah Atta
36c8a13d15 config: run bootstrap as a preparation step 2022-08-31 18:26:34 +05:00
Abdullah Atta
da58248456 web: migrate list-container to typescript 2022-08-31 15:48:51 +05:00
ammarahm-ed
dcd5c16514 mobile: cleanup console.log statements 2022-08-31 13:03:22 +05:00
Abdullah Atta
d81f5dba65 refactor: migrate to theme-ui from rebass 2022-08-31 07:26:27 +05:00
Abdullah Atta
c317774c8a docs: add license header 2022-08-30 16:17:04 +05:00
ammarahm-ed
b4eb920f5e Merge branch 'master' of https://github.com/streetwriters/notesnook-private 2022-08-29 16:19:59 +05:00
ammarahm-ed
1c4bcef583 (mobile): fix build errors 2022-08-29 16:19:17 +05:00
Abdullah Atta
5020f189b3 chore: add commitlint git hook 2022-08-29 13:17:45 +05:00
thecodrr
12b011278e refactor: use single typescript version & config 2022-08-27 17:27:46 +05:00
thecodrr
15f5fcd521 refactor: run eslint on the whole project 2022-08-27 15:23:11 +05:00
thecodrr
e898ef5d86 refactor: run prettier on the whole codebase 2022-08-26 16:19:39 +05:00
thecodrr
054c973c99 chore: setup lerna, nx & prettier 2022-08-26 16:12:58 +05:00