From 3e42a72d88949f6aabb92fa9956bb7513feeafad Mon Sep 17 00:00:00 2001 From: Daniel LaCosse <3759828+daniellacosse@users.noreply.github.com> Date: Wed, 17 Apr 2024 14:32:31 -0400 Subject: [PATCH] shotgun approach --- .../workflows/build_and_test_debug_client.yml | 32 +++++++++---------- Taskfile.yml | 2 +- client/README.md | 6 ++-- .../ios/Outline.xcodeproj/project.pbxproj | 2 +- .../macos/Outline.xcodeproj/project.pbxproj | 2 +- client/cordova/build.action.mjs | 18 +++++------ client/cordova/import_messages.action.mjs | 2 +- client/cordova/setup.action.mjs | 10 +++--- client/cordova/test.action.mjs | 4 +-- client/electron/build.action.mjs | 6 ++-- client/electron/build_main.action.mjs | 8 ++--- client/electron/connectivity.ts | 4 +-- client/electron/go_vpn_tunnel.ts | 8 ++--- client/electron/index.ts | 6 ++-- client/electron/routing_service.ts | 6 ++-- client/electron/start.action.mjs | 8 ++--- client/electron/tsconfig.json | 2 +- client/electron/tunnel_store.ts | 2 +- client/electron/vpn_tunnel.ts | 2 +- client/tun2socks/build.action.mjs | 2 +- .../outline/connectivity/connectivity.go | 4 +-- client/tun2socks/outline/electron/main.go | 8 ++--- .../tun2socks/outline/shadowsocks/client.go | 6 ++-- client/tun2socks/outline/tun2socks/tunnel.go | 4 +-- .../outline/tun2socks/tunnel_android.go | 4 +-- .../outline/tun2socks/tunnel_darwin.go | 2 +- client/web/app/electron_main.ts | 2 +- client/web/build.action.mjs | 2 +- client/web/start.action.mjs | 6 ++-- client/web/storybook.action.mjs | 2 +- client/web/test.action.mjs | 2 +- client/web/webpack_cordova.mjs | 2 +- package-lock.json | 6 ++-- 33 files changed, 91 insertions(+), 91 deletions(-) diff --git a/.github/workflows/build_and_test_debug_client.yml b/.github/workflows/build_and_test_debug_client.yml index f7c5ce58f0..0b0f6a1b1d 100644 --- a/.github/workflows/build_and_test_debug_client.yml +++ b/.github/workflows/build_and_test_debug_client.yml @@ -37,14 +37,14 @@ jobs: run: npm run action lint - name: Build Web App - run: npm run action client/src/www/build + run: npm run action client/www/build - name: Test Web App - run: npm run action client/src/www/test + run: npm run action client/www/test - uses: codecov/codecov-action@v3 with: - files: ./client/src/output/coverage/www/coverage-final.json + files: ./client/output/coverage/www/coverage-final.json flags: unittests, www linux_debug_build: @@ -132,18 +132,18 @@ jobs: go-version-file: '${{ github.workspace }}/go.mod' - name: Build Tun2Socks (required for Test OutlineAppleLib) - run: npm run action client/src/tun2socks/build macos + run: npm run action client/tun2socks/build macos - name: Test OutlineAppleLib - run: npm run action client/src/cordova/test macos + run: npm run action client/cordova/test macos - name: Build MacOS Client - run: npm run action client/src/cordova/build macos + run: npm run action client/cordova/build macos - uses: codecov/codecov-action@v3 with: xcode: true - xcode_archive_path: ./client/src/output/coverage/apple/macos/TestResult.xcresult + xcode_archive_path: ./client/output/coverage/apple/macos/TestResult.xcresult flags: unittests, apple, macos ios_debug_build: @@ -174,18 +174,18 @@ jobs: go-version-file: '${{ github.workspace }}/go.mod' - name: Build Tun2Socks (required for Test OutlineAppleLib) - run: npm run action client/src/tun2socks/build ios + run: npm run action client/tun2socks/build ios - name: Test OutlineAppleLib - run: npm run action client/src/cordova/test ios + run: npm run action client/cordova/test ios - name: Build iOS Client - run: npm run action client/src/cordova/build ios + run: npm run action client/cordova/build ios - uses: codecov/codecov-action@v3 with: xcode: true - xcode_archive_path: ./client/src/output/coverage/apple/ios/TestResult.xcresult + xcode_archive_path: ./client/output/coverage/apple/ios/TestResult.xcresult flags: unittests, apple, ios maccatalyst_debug_build: @@ -216,18 +216,18 @@ jobs: go-version-file: '${{ github.workspace }}/go.mod' - name: Build Tun2Socks (required for Test OutlineAppleLib) - run: npm run action client/src/tun2socks/build maccatalyst + run: npm run action client/tun2socks/build maccatalyst - name: Test OutlineAppleLib - run: npm run action client/src/cordova/test maccatalyst + run: npm run action client/cordova/test maccatalyst - name: Build Mac Catalyst Client - run: npm run action client/src/cordova/build maccatalyst + run: npm run action client/cordova/build maccatalyst - uses: codecov/codecov-action@v3 with: xcode: true - xcode_archive_path: ./client/src/output/coverage/apple/maccatalyst/TestResult.xcresult + xcode_archive_path: ./client/output/coverage/apple/maccatalyst/TestResult.xcresult flags: unittests, apple, maccatalyst android_debug_build: @@ -263,4 +263,4 @@ jobs: run: bash ./client/tools/build/setup_linux_android.sh - name: Build Android Client - run: npm run action client/src/cordova/build android -- --verbose + run: npm run action client/cordova/build android -- --verbose diff --git a/Taskfile.yml b/Taskfile.yml index d9e9815e45..fbb9164b39 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -5,7 +5,7 @@ set: [pipefail] run: when_changed includes: - client:tun2socks: ./client/src/tun2socks/Taskfile.yml + client:tun2socks: ./client/tun2socks/Taskfile.yml tasks: clean: diff --git a/client/README.md b/client/README.md index d5c5b148c7..a7659ac6c4 100644 --- a/client/README.md +++ b/client/README.md @@ -27,7 +27,7 @@ npm install Outline clients share the same web app across all platforms. This code is located in the src/www directory. If you are making changes to the shared web app and do not need to test platform-specific functionality, you can test in a desktop browser by running: ```sh -npm run action client/src/www/start +npm run action client/www/start ``` The latter command will open a browser instance running the app. Browser platform development will use fake servers to test successful and unsuccessful connections. @@ -35,7 +35,7 @@ The latter command will open a browser instance running the app. Browser platfor The app logic is located in [src/www/app](src/www/app). UI components are located in [src/www/ui_components](src/www/ui_components). If you want to work specifically on an individual UI element, try the storybook!: ```sh -npm run action client/src/www/storybook +npm run action client/www/storybook ``` > [!NOTE] @@ -55,7 +55,7 @@ npm run action client/src/www/storybook Certain actions take configuration flags - but since we're running them through `npm`, you'll have to use the `--` seperator to funnel them through to the underlying process. For example, to set up a MacOS project in release mode, you'd run: ```sh -SENTRY_DSN= npm run action client/src/cordova/setup macos -- --buildMode=release --versionName= +SENTRY_DSN= npm run action client/cordova/setup macos -- --buildMode=release --versionName= ``` ## Life of a Packet diff --git a/client/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj b/client/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj index cdea364310..f151498647 100755 --- a/client/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj +++ b/client/cordova/apple/xcode/ios/Outline.xcodeproj/project.pbxproj @@ -255,7 +255,7 @@ EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = ""; }; EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = ""; }; ED33DF2A687741AEAF9F8254 /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = ""; }; - F63DC2162970AFE600D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../../src/cordova/apple/OutlineAppleLib; sourceTree = ""; }; + F63DC2162970AFE600D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ..//cordova/apple/OutlineAppleLib; sourceTree = ""; }; F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = Outline/config.xml; sourceTree = ""; }; FC55AB411F4F960A0056F12C /* VpnExtension-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "VpnExtension-Info.plist"; path = "Outline/VpnExtension-Info.plist"; sourceTree = SOURCE_ROOT; }; FC8C310A1FAA814A004262BE /* NetworkExtension.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NetworkExtension.framework; path = System/Library/Frameworks/NetworkExtension.framework; sourceTree = SDKROOT; }; diff --git a/client/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj b/client/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj index 985e1bee13..f6de7ad9ac 100644 --- a/client/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj +++ b/client/cordova/apple/xcode/macos/Outline.xcodeproj/project.pbxproj @@ -118,7 +118,7 @@ 70DAA8D91908785C00AF3749 /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; path = www; sourceTree = ""; }; A508014170A1492DB0D800B3 /* Outline-Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; path = "Outline-Bridging-Header.h"; sourceTree = ""; }; AA09EA80E0C54DFFB24A1810 /* OutlinePlugin.swift */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.swift; name = OutlinePlugin.swift; path = "cordova-plugin-outline/OutlinePlugin.swift"; sourceTree = ""; }; - F63DC21E2970B23B00D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ../../src/cordova/apple/OutlineAppleLib; sourceTree = ""; }; + F63DC21E2970B23B00D92E0A /* OutlineAppleLib */ = {isa = PBXFileReference; lastKnownFileType = wrapper; name = OutlineAppleLib; path = ..//cordova/apple/OutlineAppleLib; sourceTree = ""; }; FC0799E62037532900A1C822 /* OutlineLauncher.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OutlineLauncher.app; sourceTree = BUILT_PRODUCTS_DIR; }; FC0799E82037532A00A1C822 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; FC0799EF2037532A00A1C822 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; diff --git a/client/cordova/build.action.mjs b/client/cordova/build.action.mjs index 9a39c6f0f1..d0b29537a9 100644 --- a/client/cordova/build.action.mjs +++ b/client/cordova/build.action.mjs @@ -19,10 +19,10 @@ import fs from 'node:fs/promises'; import cordovaLib from 'cordova-lib'; const {cordova} = cordovaLib; -import {runAction} from '../../src/build/run_action.mjs'; -import {getRootDir} from '../../src/build/get_root_dir.mjs'; -import {spawnStream} from '../../src/build/spawn_stream.mjs'; -import {downloadHttpsFile} from '../../src/build/download_file.mjs'; +import {runAction} from '..//src/build/run_action.mjs'; +import {getRootDir} from '..//src/build/get_root_dir.mjs'; +import {spawnStream} from '..//src/build/spawn_stream.mjs'; +import {downloadHttpsFile} from '..//src/build/download_file.mjs'; import {getBuildParameters} from '../build/get_build_parameters.mjs'; @@ -34,9 +34,9 @@ import {getBuildParameters} from '../build/get_build_parameters.mjs'; export async function main(...parameters) { const {platform, buildMode, verbose} = getBuildParameters(parameters); - await runAction('client/src/www/build', ...parameters); - await runAction('client/src/tun2socks/build', ...parameters); - await runAction('client/src/cordova/setup', ...parameters); + await runAction('client/www/build', ...parameters); + await runAction('client/tun2socks/build', ...parameters); + await runAction('client/cordova/setup', ...parameters); if (verbose) { cordova.on('verbose', message => console.debug(`[cordova:verbose] ${message}`)); @@ -132,7 +132,7 @@ async function androidDebug(verbose) { argv: [ // Path is relative to /platforms/android/. // See https://docs.gradle.org/current/userguide/composite_builds.html#command_line_composite - '--gradleArg=--include-build=../../src/cordova/android/OutlineAndroidLib', + '--gradleArg=--include-build=..//cordova/android/OutlineAndroidLib', verbose ? '--gradleArg=--info' : '--gradleArg=--quiet', ], }, @@ -156,7 +156,7 @@ async function androidRelease(ksPassword, ksContents, javaPath, verbose) { argv: [ // Path is relative to /platforms/android/. // See https://docs.gradle.org/current/userguide/composite_builds.html#command_line_composite - '--gradleArg=--include-build=../../src/cordova/android/OutlineAndroidLib', + '--gradleArg=--include-build=..//cordova/android/OutlineAndroidLib', verbose ? '--gradleArg=--info' : '--gradleArg=--quiet', `--keystore=${keystorePath}`, '--alias=privatekey', diff --git a/client/cordova/import_messages.action.mjs b/client/cordova/import_messages.action.mjs index d6ff6c46a3..461000f25f 100644 --- a/client/cordova/import_messages.action.mjs +++ b/client/cordova/import_messages.action.mjs @@ -16,7 +16,7 @@ import chalk from 'chalk'; import minimist from 'minimist'; import path from 'path'; import url from 'url'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; import {readFile, readdir, mkdir} from 'fs/promises'; import * as ANDROID_IMPORTER from './android/import_messages.mjs'; import * as IOS_IMPORTER from './apple/import_messages.mjs'; diff --git a/client/cordova/setup.action.mjs b/client/cordova/setup.action.mjs index 2bf5af0278..889959a358 100644 --- a/client/cordova/setup.action.mjs +++ b/client/cordova/setup.action.mjs @@ -21,9 +21,9 @@ import replace from 'replace-in-file'; import cordovaLib from 'cordova-lib'; const {cordova} = cordovaLib; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; -import {runAction} from '../../../src/build/run_action.mjs'; -import {spawnStream} from '../../../src/build/spawn_stream.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; +import {runAction} from '../..//src/build/run_action.mjs'; +import {spawnStream} from '../..//src/build/spawn_stream.mjs'; import {getBuildParameters} from '../build/get_build_parameters.mjs'; import chalk from 'chalk'; @@ -39,8 +39,8 @@ const WORKING_CORDOVA_OSX_COMMIT = '07e62a53aa6a8a828fd988bc9e884c38c3495a67'; export async function main(...parameters) { const {platform, buildMode, verbose, buildNumber, versionName} = getBuildParameters(parameters); - await runAction('client/src/www/build', ...parameters); - await runAction('client/src/tun2socks/build', ...parameters); + await runAction('client/www/build', ...parameters); + await runAction('client/tun2socks/build', ...parameters); await rmfr(path.resolve(getRootDir(), 'platforms')); await rmfr(path.resolve(getRootDir(), 'plugins')); diff --git a/client/cordova/test.action.mjs b/client/cordova/test.action.mjs index 8b5fdede8f..c0acf56d90 100644 --- a/client/cordova/test.action.mjs +++ b/client/cordova/test.action.mjs @@ -19,8 +19,8 @@ import path from 'path'; import fs from 'fs/promises'; import rmfr from 'rmfr'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; -import {spawnStream} from '../../../src/build/spawn_stream.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; +import {spawnStream} from '../..//src/build/spawn_stream.mjs'; const APPLE_ROOT = path.join(getRootDir(), 'client', 'src', 'cordova', 'apple'); const APPLE_LIBRARY_NAME = 'OutlineAppleLib'; diff --git a/client/electron/build.action.mjs b/client/electron/build.action.mjs index 88502d1dad..0ed0d1ad37 100644 --- a/client/electron/build.action.mjs +++ b/client/electron/build.action.mjs @@ -14,7 +14,7 @@ import minimist from 'minimist'; import {runAction} from '../build/run_action.mjs'; -import {getBuildParameters} from '../../client/src/build/get_build_parameters.mjs'; +import {getBuildParameters} from '../../client/build/get_build_parameters.mjs'; import electron, {Platform} from 'electron-builder'; import copydir from 'copy-dir'; import fs from 'fs/promises'; @@ -48,8 +48,8 @@ export async function main(...parameters) { ); } - await runAction('client/src/www/build', ...parameters); - await runAction('client/src/tun2socks/build', ...parameters); + await runAction('client/www/build', ...parameters); + await runAction('client/tun2socks/build', ...parameters); await runAction('src/electron/build_main', ...parameters); await copydir.sync( diff --git a/client/electron/build_main.action.mjs b/client/electron/build_main.action.mjs index 2506acdf39..d5f616880c 100644 --- a/client/electron/build_main.action.mjs +++ b/client/electron/build_main.action.mjs @@ -13,9 +13,9 @@ // limitations under the License. import {runAction} from '../build/run_action.mjs'; -import {getBuildParameters} from '../../client/src/build/get_build_parameters.mjs'; -import {getWebpackBuildMode} from '../../client/src/build/get_webpack_build_mode.mjs'; -import {runWebpack} from '../../client/src/build/run_webpack.mjs'; +import {getBuildParameters} from '../../client/build/get_build_parameters.mjs'; +import {getWebpackBuildMode} from '../../client/build/get_webpack_build_mode.mjs'; +import {runWebpack} from '../../client/build/run_webpack.mjs'; import electronMainWebpackConfigs from './webpack_electron_main.mjs'; import fs from 'fs/promises'; import path from 'path'; @@ -36,7 +36,7 @@ export async function main(...parameters) { ); } - await runAction('client/src/www/build', ...parameters); + await runAction('client/www/build', ...parameters); // TODO(daniellacosse): separate building the preload script out into its own separate step await runWebpack( diff --git a/client/electron/connectivity.ts b/client/electron/connectivity.ts index e1b8bfa8a4..283a56b99d 100644 --- a/client/electron/connectivity.ts +++ b/client/electron/connectivity.ts @@ -14,8 +14,8 @@ import * as dns from 'dns'; -import {timeoutPromise} from '../../client/src/infrastructure/timeout_promise'; -import * as errors from '../../client/src/www/model/errors'; +import {timeoutPromise} from '../../client/infrastructure/timeout_promise'; +import * as errors from '../../client/www/model/errors'; const DNS_LOOKUP_TIMEOUT_MS = 10000; diff --git a/client/electron/go_vpn_tunnel.ts b/client/electron/go_vpn_tunnel.ts index e808b8102a..eec101d08f 100755 --- a/client/electron/go_vpn_tunnel.ts +++ b/client/electron/go_vpn_tunnel.ts @@ -15,10 +15,10 @@ import {powerMonitor} from 'electron'; import {platform} from 'os'; -import {pathToEmbeddedBinary} from '../../client/src/infrastructure/electron/app_paths'; -import {ShadowsocksSessionConfig} from '../../client/src/www/app/tunnel'; -import {TunnelStatus} from '../../client/src/www/app/tunnel'; -import {ErrorCode, fromErrorCode, UnexpectedPluginError} from '../../client/src/www/model/errors'; +import {pathToEmbeddedBinary} from '../../client/infrastructure/electron/app_paths'; +import {ShadowsocksSessionConfig} from '../../client/www/app/tunnel'; +import {TunnelStatus} from '../../client/www/app/tunnel'; +import {ErrorCode, fromErrorCode, UnexpectedPluginError} from '../../client/www/model/errors'; import {ChildProcessHelper, ProcessTerminatedExitCodeError, ProcessTerminatedSignalError} from './process'; import {RoutingDaemon} from './routing_service'; diff --git a/client/electron/index.ts b/client/electron/index.ts index f0afcd1990..dab99993af 100644 --- a/client/electron/index.ts +++ b/client/electron/index.ts @@ -23,10 +23,10 @@ import * as process from 'process'; import * as url from 'url'; import autoLaunch = require('auto-launch'); // tslint:disable-line -import * as errors from '../../client/src/www/model/errors'; +import * as errors from '../../client/www/model/errors'; -import {ShadowsocksSessionConfig} from '../../client/src/www/app/tunnel'; -import {TunnelStatus} from '../../client/src/www/app/tunnel'; +import {ShadowsocksSessionConfig} from '../../client/www/app/tunnel'; +import {TunnelStatus} from '../../client/www/app/tunnel'; import {GoVpnTunnel} from './go_vpn_tunnel'; import {installRoutingServices, RoutingDaemon} from './routing_service'; import {TunnelStore, SerializableTunnel} from './tunnel_store'; diff --git a/client/electron/routing_service.ts b/client/electron/routing_service.ts index a2b3612eb8..ead1b74234 100755 --- a/client/electron/routing_service.ts +++ b/client/electron/routing_service.ts @@ -19,9 +19,9 @@ import {platform, userInfo} from 'os'; import * as path from 'path'; import * as sudo from 'sudo-prompt'; -import {getAppPath} from '../../client/src/infrastructure/electron/app_paths'; -import {TunnelStatus} from '../../client/src/www/app/tunnel'; -import {ErrorCode, SystemConfigurationException} from '../../client/src/www/model/errors'; +import {getAppPath} from '../../client/infrastructure/electron/app_paths'; +import {TunnelStatus} from '../../client/www/app/tunnel'; +import {ErrorCode, SystemConfigurationException} from '../../client/www/model/errors'; const isLinux = platform() === 'linux'; const isWindows = platform() === 'win32'; diff --git a/client/electron/start.action.mjs b/client/electron/start.action.mjs index 9ef335799d..202277e97d 100644 --- a/client/electron/start.action.mjs +++ b/client/electron/start.action.mjs @@ -15,10 +15,10 @@ import url from 'url'; import electron from 'electron'; -import {runAction} from '../../client/src/build/run_action.mjs'; -import {getBuildParameters} from '../../client/src/build/get_build_parameters.mjs'; -import {getRootDir} from '../../client/src/build/get_root_dir.mjs'; -import {spawnStream} from '../../client/src/build/spawn_stream.mjs'; +import {runAction} from '../../client/build/run_action.mjs'; +import {getBuildParameters} from '../../client/build/get_build_parameters.mjs'; +import {getRootDir} from '../../client/build/get_root_dir.mjs'; +import {spawnStream} from '../../client/build/spawn_stream.mjs'; /** * @description Builds and starts the electron application. diff --git a/client/electron/tsconfig.json b/client/electron/tsconfig.json index 89375e09b8..250734fd0d 100644 --- a/client/electron/tsconfig.json +++ b/client/electron/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../client/src/www/tsconfig.json", + "extends": "../../client/www/tsconfig.json", "compilerOptions": { "outDir": "../../build/electron" } diff --git a/client/electron/tunnel_store.ts b/client/electron/tunnel_store.ts index 44743c6efc..7c0b3b9f86 100755 --- a/client/electron/tunnel_store.ts +++ b/client/electron/tunnel_store.ts @@ -15,7 +15,7 @@ import * as fs from 'fs'; import * as path from 'path'; -import {ShadowsocksSessionConfig} from '../../client/src/www/app/tunnel'; +import {ShadowsocksSessionConfig} from '../../client/www/app/tunnel'; // Format to store a tunnel configuration. export interface SerializableTunnel { diff --git a/client/electron/vpn_tunnel.ts b/client/electron/vpn_tunnel.ts index 12cca0981d..fe096687b0 100755 --- a/client/electron/vpn_tunnel.ts +++ b/client/electron/vpn_tunnel.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import {TunnelStatus} from '../../client/src/www/app/tunnel'; +import {TunnelStatus} from '../../client/www/app/tunnel'; // Represents a VPN tunnel to a proxy server. export interface VpnTunnel { diff --git a/client/tun2socks/build.action.mjs b/client/tun2socks/build.action.mjs index e3cf2918ff..c0fe2a36c4 100644 --- a/client/tun2socks/build.action.mjs +++ b/client/tun2socks/build.action.mjs @@ -13,7 +13,7 @@ // limitations under the License. import url from 'url'; -import {spawnStream} from '../../../src/build/spawn_stream.mjs'; +import {spawnStream} from '../..//src/build/spawn_stream.mjs'; import {getBuildParameters} from '../build/get_build_parameters.mjs'; /** diff --git a/client/tun2socks/outline/connectivity/connectivity.go b/client/tun2socks/outline/connectivity/connectivity.go index b6e9175bec..0114c328e0 100644 --- a/client/tun2socks/outline/connectivity/connectivity.go +++ b/client/tun2socks/outline/connectivity/connectivity.go @@ -21,8 +21,8 @@ import ( "net/http" "time" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/neterrors" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/neterrors" "github.com/Jigsaw-Code/outline-sdk/transport" ) diff --git a/client/tun2socks/outline/electron/main.go b/client/tun2socks/outline/electron/main.go index e2864c46fc..a77c8f920f 100644 --- a/client/tun2socks/outline/electron/main.go +++ b/client/tun2socks/outline/electron/main.go @@ -24,10 +24,10 @@ import ( "syscall" "time" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/internal/utf8" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/neterrors" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/shadowsocks" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/tun2socks" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/internal/utf8" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/neterrors" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/shadowsocks" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/tun2socks" "github.com/eycorsican/go-tun2socks/common/log" _ "github.com/eycorsican/go-tun2socks/common/log/simple" // Register a simple logger. "github.com/eycorsican/go-tun2socks/core" diff --git a/client/tun2socks/outline/shadowsocks/client.go b/client/tun2socks/outline/shadowsocks/client.go index bacbc2c82b..6437bb0b47 100644 --- a/client/tun2socks/outline/shadowsocks/client.go +++ b/client/tun2socks/outline/shadowsocks/client.go @@ -25,9 +25,9 @@ import ( "strconv" "time" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/connectivity" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/internal/utf8" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/connectivity" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/internal/utf8" "github.com/Jigsaw-Code/outline-sdk/transport" "github.com/Jigsaw-Code/outline-sdk/transport/shadowsocks" "github.com/eycorsican/go-tun2socks/common/log" diff --git a/client/tun2socks/outline/tun2socks/tunnel.go b/client/tun2socks/outline/tun2socks/tunnel.go index 17fc0d522b..b169f977b0 100644 --- a/client/tun2socks/outline/tun2socks/tunnel.go +++ b/client/tun2socks/outline/tun2socks/tunnel.go @@ -25,8 +25,8 @@ import ( "github.com/Jigsaw-Code/outline-sdk/transport" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/connectivity" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/tunnel" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/connectivity" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/tunnel" ) // Tunnel represents a tunnel from a TUN device to a server. diff --git a/client/tun2socks/outline/tun2socks/tunnel_android.go b/client/tun2socks/outline/tun2socks/tunnel_android.go index f1ede839f4..50fbf38a80 100644 --- a/client/tun2socks/outline/tun2socks/tunnel_android.go +++ b/client/tun2socks/outline/tun2socks/tunnel_android.go @@ -17,8 +17,8 @@ package tun2socks import ( "runtime/debug" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/shadowsocks" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/tunnel" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/shadowsocks" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/tunnel" "github.com/eycorsican/go-tun2socks/common/log" ) diff --git a/client/tun2socks/outline/tun2socks/tunnel_darwin.go b/client/tun2socks/outline/tun2socks/tunnel_darwin.go index a0ab3b3cad..8ffd7dfbb0 100644 --- a/client/tun2socks/outline/tun2socks/tunnel_darwin.go +++ b/client/tun2socks/outline/tun2socks/tunnel_darwin.go @@ -20,7 +20,7 @@ import ( "runtime/debug" "time" - "github.com/Jigsaw-Code/outline-apps/client/src/tun2socks/outline/shadowsocks" + "github.com/Jigsaw-Code/outline-apps/client/tun2socks/outline/shadowsocks" ) // TunWriter is an interface that allows for outputting packets to the TUN (VPN). diff --git a/client/web/app/electron_main.ts b/client/web/app/electron_main.ts index 87dc973de5..9baeacd8dd 100644 --- a/client/web/app/electron_main.ts +++ b/client/web/app/electron_main.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -/// +/// import 'web-animations-js/web-animations-next-lite.min.js'; import '@webcomponents/webcomponentsjs/webcomponents-bundle.js'; diff --git a/client/web/build.action.mjs b/client/web/build.action.mjs index 6daf6277e1..0083ef8ec2 100644 --- a/client/web/build.action.mjs +++ b/client/web/build.action.mjs @@ -19,7 +19,7 @@ import rmfr from 'rmfr'; import {runWebpack} from '../build/run_webpack.mjs'; import {getBuildParameters} from '../build/get_build_parameters.mjs'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; import {getBrowserWebpackConfig} from './get_browser_webpack_config.mjs'; diff --git a/client/web/start.action.mjs b/client/web/start.action.mjs index 4e996fe6c5..8befdb7730 100644 --- a/client/web/start.action.mjs +++ b/client/web/start.action.mjs @@ -16,18 +16,18 @@ import url from 'url'; import webpack from 'webpack'; import WebpackServer from 'webpack-dev-server'; -import {runAction} from '../../../src/build/run_action.mjs'; +import {runAction} from '../..//src/build/run_action.mjs'; import {getBrowserWebpackConfig} from './get_browser_webpack_config.mjs'; /** * @description Starts the web app for development. */ export async function main() { - await runAction('client/src/www/build', 'browser'); + await runAction('client/www/build', 'browser'); // TODO(daniellacosse): Browser-only webpack setup that's extended both by electron and cordova. // Currently, only the cordova web build works in standalone mode. - await runAction('client/src/cordova/setup', 'browser'); + await runAction('client/cordova/setup', 'browser'); const webpackConfig = getBrowserWebpackConfig('browser', 'debug'); diff --git a/client/web/storybook.action.mjs b/client/web/storybook.action.mjs index 705d59d8a9..6ed5728605 100644 --- a/client/web/storybook.action.mjs +++ b/client/web/storybook.action.mjs @@ -20,7 +20,7 @@ import {fromRollup} from '@web/dev-server-rollup'; import image from '@rollup/plugin-image'; import path from 'path'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; const WWW_PATH = ['src', 'www']; const STORYBOOK_PATH = [...WWW_PATH, '.storybook']; diff --git a/client/web/test.action.mjs b/client/web/test.action.mjs index 8276fec953..10279e334c 100644 --- a/client/web/test.action.mjs +++ b/client/web/test.action.mjs @@ -17,7 +17,7 @@ import url from 'url'; import karma from 'karma'; import puppeteer from 'puppeteer'; import path from 'path'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; const KARMA_CONFIG_PATH = ['client', 'src', 'www', 'karma.conf.js']; diff --git a/client/web/webpack_cordova.mjs b/client/web/webpack_cordova.mjs index 6f6c24ce2a..a7f24b5662 100644 --- a/client/web/webpack_cordova.mjs +++ b/client/web/webpack_cordova.mjs @@ -18,7 +18,7 @@ import webpack from 'webpack'; import {baseConfig, browserConfig, require, __dirname, TS_LOADER, GENERATE_CSS_RTL_LOADER} from './webpack_base.mjs'; import {merge} from 'webpack-merge'; -import {getRootDir} from '../../../src/build/get_root_dir.mjs'; +import {getRootDir} from '../..//src/build/get_root_dir.mjs'; const BABEL_LOADER = { loader: 'babel-loader', diff --git a/package-lock.json b/package-lock.json index d5e246cd3b..eaa24ff289 100644 --- a/package-lock.json +++ b/package-lock.json @@ -434,7 +434,7 @@ "node": ">=10" } }, - "client/src/cordova/plugin": { + "client/cordova/plugin": { "name": "cordova-plugin-outline", "version": "0.0.0", "dev": true @@ -11746,7 +11746,7 @@ "license": "MIT" }, "node_modules/cordova-plugin-outline": { - "resolved": "client/src/cordova/plugin", + "resolved": "client/cordova/plugin", "link": true }, "node_modules/cordova-plugin-splashscreen": { @@ -42028,7 +42028,7 @@ "from": "cordova-plugin-clipboard@github:Jigsaw-Code/outline-cordova-plugin-clipboard#v2.0.0" }, "cordova-plugin-outline": { - "version": "file:client/src/cordova/plugin" + "version": "file:client/cordova/plugin" }, "cordova-plugin-splashscreen": { "version": "6.0.2"