summaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2025-02-25Add safety comments to talpid_platform_metadata::windowsJoakim Hulthe1-15/+34
2025-02-25Fix unaligned pointer readJoakim Hulthe1-16/+27
2025-02-25Move iface_index helper to talpid-netJoakim Hulthe4-28/+22
2025-02-25Add safety comments to talpid_net::unixJoakim Hulthe1-0/+2
2025-02-25Move some safety comments to clippy recognizes themJoakim Hulthe1-3/+3
2025-02-25Replace libc with nix in talpid-time::unixJoakim Hulthe3-18/+17
2025-02-25Replace libc::if_nametoindex with nixJoakim Hulthe1-20/+9
2025-02-25Replace libc::getuid with nixJoakim Hulthe1-2/+1
2025-02-25Remove redundant warn(undocumented_unsafe_blocks) attrsJoakim Hulthe3-3/+0
2025-02-25Warn on undocumented `unsafe` blocksJoakim Hulthe1-0/+1
2025-02-25Merge branch 'switch-to-other-build-system-des-1588'Markus Pettersson34-562/+2346
2025-02-25Add step to build a test buildTobias Järvelöv1-0/+5
2025-02-25Remove build from build-test-executable npm scriptTobias Järvelöv1-1/+1
The appropriate build command is invoked within the build-test-executable.sh script and we do not need to call it here. This npm script could probably be removed but has been kept for legacy reasons. When removing gulp as a dependency we should probably remove this npm script as well.
2025-02-25Run build standalone gulp task before building executableTobias Järvelöv1-0/+2
2025-02-25Update path to playwright configTobias Järvelöv1-1/+8
2025-02-25Update paths to use build-standalone folderTobias Järvelöv1-3/+3
2025-02-25Update paths to use build-standalone filesTobias Järvelöv1-9/+9
2025-02-25Ignore build-standalone folderTobias Järvelöv1-0/+1
2025-02-25Add gulp tasks to build standalone filesTobias Järvelöv1-0/+8
Previously the standalone files were built at the same time as the application with the build npm script. However with the migration to vite they have to be created separately as they are not referenced in the application and as such will not be built, which is as expected.
2025-02-25Add tsconfig for standalone test filesTobias Järvelöv1-0/+13
This tsconfig is used to build the files used by the test executable.
2025-02-25Use existing electron build as is in mocked testsTobias Järvelöv1-1/+1
We now produce a separate test build before running the mocked tests. This test build sets the mocked main.ts as its entry point, which means we can just start the local build as is.
2025-02-25Update e2e npm script to use build:testTobias Järvelöv1-1/+1
2025-02-25Add npm script to create test buildTobias Järvelöv1-0/+1
2025-02-25Add gulp task for test actionsTobias Järvelöv1-0/+5
2025-02-25Update build script to use vite gulp taskTobias Järvelöv1-1/+1
2025-02-25Remove including non-vite code in electron-builder outputTobias Järvelöv1-5/+0
2025-02-25Add gulp tasks for building a prod build with viteTobias Järvelöv1-3/+9
2025-02-25Add helpers to copy vite assets to build folderTobias Järvelöv1-0/+16
2025-02-25Fix typescript duplicate declaration errorsTobias Järvelöv2-2/+6
After replacing gulp with vite typescript now complains about duplicate names where e.g. a function and a type share the same name. To fix this we mark the imports with the type keyword to tell typescript that we're only using the types as that, types.
2025-02-25Refactor split tunneling to use import instead of requireTobias Järvelöv2-31/+29
2025-02-25Allow requests to vite dev server in dev modeTobias Järvelöv1-1/+13
2025-02-25Refactor allowDevelopmentRequestTobias Järvelöv1-8/+17
In preparation to add more conditions.
2025-02-25Update main to use vite dev server and assetsTobias Järvelöv1-3/+6
Vite serves the resources using a local web server in development in order to enable HMR/React refresh. In production we load resources using the file protocol.
2025-02-25Update mocked main to use index from vite buildTobias Järvelöv1-3/+2
2025-02-25Update paths changed due to vite migrationTobias Järvelöv10-11/+32
After switching to vite from gulp the paths are resolved differently.
2025-02-25Change script file to load in index.html after vite migrationTobias Järvelöv1-2/+1
With the migration to vite we do not need to pre-bundle or transpile code before referencing it in the index file, as vite will resolve and perform the necessary actions for us, i.e. transpile the typescript and bundle it. The global exports variable was only used for the gulp bundle and has therefore also been removed.
2025-02-25Update resource paths after index.html was movedTobias Järvelöv1-8/+8
2025-02-25Move index.html to rootTobias Järvelöv1-0/+0
Vite uses the convention that index.html is in the root folder.
2025-02-25Update main file in package.json to vite outputTobias Järvelöv1-1/+1
2025-02-25Add vite config to included files in tsconfigTobias Järvelöv1-1/+2
To ensure we get proper ts linting.
2025-02-25Add vite configTobias Järvelöv1-0/+117
2025-02-25Add utilities used for the vite configTobias Järvelöv1-0/+55
See the vite.config.ts file's comments for an explanation of why we need to use these utilities.
2025-02-25Add vite npm scriptsTobias Järvelöv1-0/+2
2025-02-25Update package-lock.jsonTobias Järvelöv1-450/+1940
2025-02-25Add workaround for rollup platform-specific deps not installedTobias Järvelöv1-0/+8
There is a known bug with npm where optional dependencies aren't installed correctly, see: - https://github.com/npm/cli/issues/4828 - https://github.com/rollup/rollup/pull/5267 - https://github.com/vitejs/vite/issues/15120 In order to resolve this we have to explicitly list the optional dependencies in our own package.json for them to be resolved and installed correctly.
2025-02-25Add vite dependenciesTobias Järvelöv1-0/+3
Note that vite had to be pinned to an exact version to fix issues with it not being resolved correctly in the mullvad-vpn package.
2025-02-25Reorder dependencies alphabeticallyTobias Järvelöv1-2/+2
This is done automatically by npm when installing a dependency. The order should probably have been alphabetical when the win-shortcuts dependency was added.
2025-02-25Set postinstall script to build typescript libTobias Järvelöv2-4/+8
We want the typescript files to be available after the npm installation has completed.[1] Previously we only built the typescript files in packages when they would be used on the platform we are building for. However, until the typescript files have been generated we can't use imports in the mullvad-vpn package to the other packages, such as win-shortcuts. If we use imports from these packages then the builds will fail on platforms where these packages are not used, as they haven't been built before we transpile typescript into javascript. The build failure occurs as typescript will try to transpile all files in the directories specified in tsconfig.json, regardless if the file will actually be used for the platform or not. [1] https://linear.app/mullvad/issue/DES-1588/switch-to-other-build-system#comment-3546e3b9
2025-02-25Merge branch ↵Markus Pettersson11-187/+512
're-use-builds-of-test-manager-and-test-runner-for-multiple-des-1141'
2025-02-25Build Linux app in release mode for end-to-end testsMarkus Pettersson1-1/+1
We have observed the "download app" step taking a considerable amount of time. Since we are testing so many Linux platforms, it is worth spending the extra time up front compiling the app in release mode to cut the download time, since we are building the app once but the number of downloads scales with the number of tested platforms.