There's still a problem of not being able to reproduce from a clean slate because the `packages/server/data` folder is always being used, and the browser appears to keep some state, somehow.
This adds the first e2e test via [cypress](https://cypress.io). It's still incomplete, but it was a bit of a pain to figure out the shadow dom stuff.
The next step is to force a specific verification code when running via tests so the test can progress.
* CI: Full Release
This implements a full release action that takes care of creating a tag, release, then building and uploading builds for all targets.
This implements building the iOS package + uploading the artifact.
It builds successfully though I was unable to get past the loading screen, even locally (not sure what's wrong, might need help).
The QRScanner problem was a journey. It started with trying to install the package via url, from https://github.com/padloc/cordova-plugin-qrscanner and I ran into https://github.com/lerna/lerna/issues/2674 then I tried to simply publish a new package name (`padloc-cordova-plugin-qrscanner`), but as I was replacing the plugin name in the code, it started blowing up in a few different places, and it just felt wrong. Finally, I just created a patch command in `npm`, which can later evolve into a bash script or whatever we need. It's not pretty, but that worked!
The signed command doesn't run yet for iOS because building for the app store will be a separate PR, for publishing, like the other targets.
This will close the development/CI/CD part of #330
This isn't working, but has some attempts. It's currently blocked, because the built app just has many `ReferenceError: Can't find variable: process`. Something with Webpack isn't building properly, as even trying to just run `webpack serve` from inside yields the same result (I updated webpack, but the problem is in the setup/config, really). I also tried setting `resolve.fallback.process: require.resolve('process/browser')` ([among other things](https://pretagteam.com/question/webpack-5-uncaught-referenceerror-process-is-not-defined)), but the executed code comes from `@padloc/app`, so I'd have to add that package there, and it feels wrong. I'm positive I'm just doing something wrong with the setup, but already spent quite some time on it.
To test, pull this down, run `npm install`, and `npm run tauri:dev` (runs with `webpack` instead of `tauri`, just because the console errors are more useful).
In the process of trying to get this to work, I migrated the icons to the assets directory and updated them. I also tweaked the initial HTML to match the new v4 theme.
Related to #281
Initial work to build Android APK, via Cordova. Still largely untested because I haven't been able to get it to build locally, over Android SDK issues.
This PR/branch implements the automatic building + archiving of the Web Extension (for Firefox and Chrome).
It won't publish to the stores just yet, and for now Firefox is disabled, until we have the secrets set in GitHub.
Related to #330
- File reading is now happening later in the process;
- File reading now reuses methods from `core/attachment`;
- Errors thrown in the import now include an error message;
- Adds prettier command to "prettify" all files;
- Adds prettier command to check for files not conforming to prettier's config;
- Makes CI run the prettier:check command;
- Changes `export const method = () => {};` to `export function method() {}` in the `1pux-parser` file;
- Other minor consistency changes/fixes/improvements;
- Actually ran prettier on every file, and it had a lot of things to tweak.
- Brings 1pux-to-csv important types and functions inline
- Doesn't try to parse 1pux file unless it matches the extension
- Move reading of file to a bit later
- Improves "add dependency" command
- Adds "remove dependency" command
This implements `.nvmrc` and `.npmrc` files, as well as locking `package.json` versions, in order to get us closer to reproducible builds and more stable environment.
Closes#320
This allows importing 1pux files from 1Password.
It also has some other fixes for dependencies and types that were preventing `npm run start` and `npm run dev` from running. Unfortunately, it's still failing, though.
This implements `.nvmrc` and `.npmrc` files, as well as locking `package.json` versions, in order to get us closer to reproducible builds and more stable environment.
Closes#320
This makes it so that on every push (includes PRs), dependencies and tests run on GitHub Actions.
It also adds a small badge reporting the latest push/run on the `v4` branch.
Fixes#321