diff --git a/.eslintrc.js b/.eslintrc.js index be28de7..fa69e5c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -3,7 +3,11 @@ module.exports = { es2021: true, node: true, }, - extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:unicorn/recommended'], + extends: [ + 'eslint:recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:unicorn/recommended', + ], parser: '@typescript-eslint/parser', parserOptions: { ecmaVersion: 'latest', @@ -12,7 +16,7 @@ module.exports = { plugins: ['@typescript-eslint', 'unicorn'], rules: { 'unicorn/no-process-exit': 0, - // We are currently using commonjs. If / when it becomes viable for us to + // We are currently using commonjs. If / when it becomes viable for us to // switch to ESModules, we should consider enabling this rule 'unicorn/prefer-module': 0, }, diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 130288b..8c779a8 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -9,14 +9,14 @@ # the `language` matrix defined below to confirm you have the correct set of # supported CodeQL languages. # -name: "CodeQL" +name: 'CodeQL' on: push: - branches: [ main ] + branches: [main] pull_request: # The branches below must be a subset of the branches above - branches: [ main ] + branches: [main] schedule: - cron: '16 12 * * 4' @@ -32,39 +32,39 @@ jobs: strategy: fail-fast: false matrix: - language: [ 'javascript' ] + language: ['javascript'] # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] # Learn more about CodeQL language support at https://git.io/codeql-language-support steps: - - name: Checkout repository - uses: actions/checkout@v2 + - name: Checkout repository + uses: actions/checkout@v2 - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v1 - with: - languages: ${{ matrix.language }} - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - # queries: ./path/to/local/query, your-org/your-repo/queries@main + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v1 + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl + # â„šī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl - # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language + # âœī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language - #- run: | - # make bootstrap - # make release + #- run: | + # make bootstrap + # make release - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v1 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/README.md b/README.md index bd2cd33..06f5569 100644 --- a/README.md +++ b/README.md @@ -33,4 +33,3 @@ file, You can obtain one at http://mozilla.org/MPL/2.0/. ### Firefox This program downloads and modifies Firefox. [Follow their license](https://hg.mozilla.org/mozilla-central/file/tip/LICENSE) when distributing your program. - diff --git a/docs/content/guides/windows.md b/docs/content/guides/windows.md index a767467..938d2ac 100644 --- a/docs/content/guides/windows.md +++ b/docs/content/guides/windows.md @@ -1,50 +1,50 @@ -+++ -title = "Preparing Windows" -weight = 0 -+++ - -# Preparing Windows - -Building on windows is significantly more complex than building on macos or linux. This guide will walk you through preparing your Windows machine for building a Firefox fork. Before building, you should be aware that [only Windows 10 or 11 are officially supported](https://firefox-source-docs.mozilla.org/build/buildsystem/supported-configurations.html#build-hosts), but you might be able to get other versions to work. - -## Installing Dependencies - -The first thing you will need to do is install Microsoft's c++ build tools. You will need to download [Build Tools for Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022). The following will need to be installed: - -- **In the _Workloads_ tab** - - Desktop development with C++ -- **In the _Individual components_ tab** - - MSVC v143 - VS 2022 C++ x64/x86 build tools. - - Windows 10 SDK (at least 10.0.19041.0). - - C++ ATL for v143 build tools (x86 and x64). - -> **Note:** -> If this guide ever gets out of date, you can get the latest build requirements from [Mozilla's docs](https://firefox-source-docs.mozilla.org/setup/windows_build.html#system-preparation) - -You will need to install [MozillaBuild](https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe). Next, [install Git](https://git-scm.com/download/win). You will need to set the following specific options on install to ensure high performance: - -- Configuring the line ending conversions must be: Checkout as-is, commit as-is -- Enable experimental built-in file system monitor - -Install [NodeJS](https://nodejs.org/en/download/current/) on your system. This should also install chocolatey. If it does not, [install it manually](https://docs.chocolatey.org/en-us/choco/setup). To install the final two dependencies, run: - -```sh -npm install --global yarn -choco install make -``` - -You should be good to return back to the main [Getting Started docs](/getting-started/overview) - -## Additional packages required for releasing - -If you are creating binaries to target windows, you will need nsis (which mach calls `makensisu` for some reason, even though the binary is `makensis`): - -```powershell -choco install nsis -``` - -Note that you will also have to provide a path to nsis on your system. For mine it is: - -```sh -export MAKENSISU="C:\\Program Files (x86)\\NSIS\\Bin\\makensis.exe" -``` ++++ +title = "Preparing Windows" +weight = 0 ++++ + +# Preparing Windows + +Building on windows is significantly more complex than building on macos or linux. This guide will walk you through preparing your Windows machine for building a Firefox fork. Before building, you should be aware that [only Windows 10 or 11 are officially supported](https://firefox-source-docs.mozilla.org/build/buildsystem/supported-configurations.html#build-hosts), but you might be able to get other versions to work. + +## Installing Dependencies + +The first thing you will need to do is install Microsoft's c++ build tools. You will need to download [Build Tools for Visual Studio 2022](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022). The following will need to be installed: + +- **In the _Workloads_ tab** + - Desktop development with C++ +- **In the _Individual components_ tab** + - MSVC v143 - VS 2022 C++ x64/x86 build tools. + - Windows 10 SDK (at least 10.0.19041.0). + - C++ ATL for v143 build tools (x86 and x64). + +> **Note:** +> If this guide ever gets out of date, you can get the latest build requirements from [Mozilla's docs](https://firefox-source-docs.mozilla.org/setup/windows_build.html#system-preparation) + +You will need to install [MozillaBuild](https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe). Next, [install Git](https://git-scm.com/download/win). You will need to set the following specific options on install to ensure high performance: + +- Configuring the line ending conversions must be: Checkout as-is, commit as-is +- Enable experimental built-in file system monitor + +Install [NodeJS](https://nodejs.org/en/download/current/) on your system. This should also install chocolatey. If it does not, [install it manually](https://docs.chocolatey.org/en-us/choco/setup). To install the final two dependencies, run: + +```sh +npm install --global yarn +choco install make +``` + +You should be good to return back to the main [Getting Started docs](/getting-started/overview) + +## Additional packages required for releasing + +If you are creating binaries to target windows, you will need nsis (which mach calls `makensisu` for some reason, even though the binary is `makensis`): + +```powershell +choco install nsis +``` + +Note that you will also have to provide a path to nsis on your system. For mine it is: + +```sh +export MAKENSISU="C:\\Program Files (x86)\\NSIS\\Bin\\makensis.exe" +``` diff --git a/docs/sass/_search.scss b/docs/sass/_search.scss index 4012e96..6f69094 100644 --- a/docs/sass/_search.scss +++ b/docs/sass/_search.scss @@ -9,20 +9,20 @@ #search { width: 100%; display: block; - border:none; + border: none; border-left: 1px solid $color; - padding:1px 0; + padding: 1px 0; text-align: left; line-height: $baseline; font-size: $font-size; - font-family:$font-family; - color:$color; - background:transparent; + font-family: $font-family; + color: $color; + background: transparent; } #search:focus { - outline:none; - border:none; + outline: none; + border: none; } .search-results { @@ -42,7 +42,6 @@ } &__teaser { - } } } @@ -58,4 +57,4 @@ cursor: pointer; font-size: $baseline; line-height: 1; -} \ No newline at end of file +} diff --git a/docs/sass/fabric-icons-inline.scss b/docs/sass/fabric-icons-inline.scss index df09918..97f2933 100644 --- a/docs/sass/fabric-icons-inline.scss +++ b/docs/sass/fabric-icons-inline.scss @@ -3,7 +3,8 @@ */ @font-face { font-family: 'FabricMDL2Icons'; - src: url('data:application/octet-stream;base64,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') format('truetype'); + src: url('data:application/octet-stream;base64,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') + format('truetype'); } .ms-Icon { @@ -17,24 +18,59 @@ } // Mixins -@mixin ms-Icon--ChevronRightSmall { content: "\E970"; } -@mixin ms-Icon--ChromeClose { content: "\E8BB"; } -@mixin ms-Icon--Copy { content: "\E8C8"; } -@mixin ms-Icon--GlobalNavButton { content: "\E700"; } -@mixin ms-Icon--MiniLink { content: "\E732"; } -@mixin ms-Icon--Page { content: "\E7C3"; } -@mixin ms-Icon--ProductRelease { content: "\EE2E"; } -@mixin ms-Icon--Save { content: "\E74E"; } -@mixin ms-Icon--Search { content: "\E721"; } - +@mixin ms-Icon--ChevronRightSmall { + content: '\E970'; +} +@mixin ms-Icon--ChromeClose { + content: '\E8BB'; +} +@mixin ms-Icon--Copy { + content: '\E8C8'; +} +@mixin ms-Icon--GlobalNavButton { + content: '\E700'; +} +@mixin ms-Icon--MiniLink { + content: '\E732'; +} +@mixin ms-Icon--Page { + content: '\E7C3'; +} +@mixin ms-Icon--ProductRelease { + content: '\EE2E'; +} +@mixin ms-Icon--Save { + content: '\E74E'; +} +@mixin ms-Icon--Search { + content: '\E721'; +} // Classes -.ms-Icon--ChevronRightSmall:before { @include ms-Icon--ChevronRightSmall } -.ms-Icon--ChromeClose:before { @include ms-Icon--ChromeClose } -.ms-Icon--Copy:before { @include ms-Icon--Copy } -.ms-Icon--GlobalNavButton:before { @include ms-Icon--GlobalNavButton } -.ms-Icon--MiniLink:before { @include ms-Icon--MiniLink } -.ms-Icon--Page:before { @include ms-Icon--Page } -.ms-Icon--ProductRelease:before { @include ms-Icon--ProductRelease } -.ms-Icon--Save:before { @include ms-Icon--Save } -.ms-Icon--Search:before { @include ms-Icon--Search } \ No newline at end of file +.ms-Icon--ChevronRightSmall:before { + @include ms-Icon--ChevronRightSmall; +} +.ms-Icon--ChromeClose:before { + @include ms-Icon--ChromeClose; +} +.ms-Icon--Copy:before { + @include ms-Icon--Copy; +} +.ms-Icon--GlobalNavButton:before { + @include ms-Icon--GlobalNavButton; +} +.ms-Icon--MiniLink:before { + @include ms-Icon--MiniLink; +} +.ms-Icon--Page:before { + @include ms-Icon--Page; +} +.ms-Icon--ProductRelease:before { + @include ms-Icon--ProductRelease; +} +.ms-Icon--Save:before { + @include ms-Icon--Save; +} +.ms-Icon--Search:before { + @include ms-Icon--Search; +} diff --git a/docs/templates/anchor-link.html b/docs/templates/anchor-link.html index f123e20..2be0036 100644 --- a/docs/templates/anchor-link.html +++ b/docs/templates/anchor-link.html @@ -1 +1 @@ -  \ No newline at end of file +  diff --git a/package.json b/package.json index f84d961..e898908 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@zen-browser/surfer", - "version": "1.0.0", + "version": "1.0.1", "description": "Simplifying building firefox forks!", "main": "index.js", "bin": { @@ -27,8 +27,7 @@ "firefox-fork", "build-tool" ], - "authors": [ - ], + "authors": [], "license": "MPL-2.0", "bugs": { "url": "https://github.com/zen-browser/surfer/issues" diff --git a/src/cmds.ts b/src/cmds.ts index c8c505a..3ca79b2 100644 --- a/src/cmds.ts +++ b/src/cmds.ts @@ -70,7 +70,7 @@ export const commands: Cmd[] = [ { arg: '--force', description: 'Delete the engine directory if it already exists', - } + }, ], requestController: async () => (await import('./commands/download')).download, @@ -79,8 +79,7 @@ export const commands: Cmd[] = [ cmd: 'update', aliases: ['update-ff'], description: 'Update Firefox to latest version.', - requestController: async () => - (await import('./commands/update')).update, + requestController: async () => (await import('./commands/update')).update, disableMiddleware: true, }, { diff --git a/src/commands/download.ts b/src/commands/download.ts index ffe3681..9cb42a4 100644 --- a/src/commands/download.ts +++ b/src/commands/download.ts @@ -4,9 +4,7 @@ import { bin_name, config } from '..' import { log } from '../log' -import { - downloadInternals -} from './download/firefox' +import { downloadInternals } from './download/firefox' type Options = { force?: boolean @@ -23,7 +21,7 @@ export const download = async (options: Options): Promise => { process.exit(1) } - await downloadInternals({version, force: options.force}) + await downloadInternals({ version, force: options.force }) log.success( `You should be ready to make changes to ${config.name}.`, diff --git a/src/commands/download/addon.ts b/src/commands/download/addon.ts index 8dcb8eb..6f6cbc9 100644 --- a/src/commands/download/addon.ts +++ b/src/commands/download/addon.ts @@ -1,9 +1,4 @@ -import { - existsSync, - readFileSync, - unlinkSync, - writeFileSync, -} from 'node:fs' +import { existsSync, readFileSync, unlinkSync, writeFileSync } from 'node:fs' import { join } from 'node:path' import { isMatch } from 'picomatch' @@ -65,8 +60,8 @@ export async function resolveAddonDownloadUrl( `https://api.github.com/repos/${addon.repo}/releases/tags/${addon.version}`, { headers: { - 'User-Agent': 'gluon-build -> addon downloader' - } + 'User-Agent': 'gluon-build -> addon downloader', + }, } ) diff --git a/src/commands/download/firefox.ts b/src/commands/download/firefox.ts index 6f0773b..51eceab 100644 --- a/src/commands/download/firefox.ts +++ b/src/commands/download/firefox.ts @@ -112,7 +112,13 @@ async function downloadFirefoxSource(version: string) { return filename } -export async function downloadInternals({ version, force }: { version: string, force?: boolean }) { +export async function downloadInternals({ + version, + force, +}: { + version: string + force?: boolean +}) { // Provide a legible error if there is no version specified if (!version) { log.error( @@ -127,7 +133,9 @@ export async function downloadInternals({ version, force }: { version: string, f } // If the engine directory is empty, we should delete it. - const engineIsEmpty = existsSync(ENGINE_DIR) && await readdir(ENGINE_DIR).then((files) => files.length === 0) + const engineIsEmpty = + existsSync(ENGINE_DIR) && + (await readdir(ENGINE_DIR).then((files) => files.length === 0)) if (engineIsEmpty) { log.info("'engine/' is empty, it...") rmSync(ENGINE_DIR, { recursive: true }) @@ -150,4 +158,4 @@ export async function downloadInternals({ version, force }: { version: string, f config.version.version = version writeFileSync(configPath, JSON.stringify(config, undefined, 2)) -} \ No newline at end of file +} diff --git a/src/commands/updates/browser.ts b/src/commands/updates/browser.ts index 4592bed..c46ff42 100644 --- a/src/commands/updates/browser.ts +++ b/src/commands/updates/browser.ts @@ -88,7 +88,13 @@ async function writeUpdateFileToDisk( channel: string, updateObject: { updates: { - update: Record | undefined> + update: Record< + string, + | string + | number + | Record + | undefined + > } } ) { diff --git a/src/utils/command-exists.ts b/src/utils/command-exists.ts index a743e53..f609386 100644 --- a/src/utils/command-exists.ts +++ b/src/utils/command-exists.ts @@ -114,5 +114,7 @@ function cleanInput(toBeCleaned: string): string { export function commandExistsSync(commandName: string): boolean { const cleanedCommandName = cleanInput(commandName) - return onWindows ? commandExistsWindowsSync(commandName, cleanedCommandName) : commandExistsUnixSync(commandName, cleanedCommandName); + return onWindows + ? commandExistsWindowsSync(commandName, cleanedCommandName) + : commandExistsUnixSync(commandName, cleanedCommandName) } diff --git a/src/utils/string-template.ts b/src/utils/string-template.ts index 50537e1..8414fb6 100644 --- a/src/utils/string-template.ts +++ b/src/utils/string-template.ts @@ -14,7 +14,10 @@ export function stringTemplate( // Replace only replaces the first instance of a string. We want to // replace all instances while (temporary.includes(`\${${variable}}`)) { - temporary = temporary.replace(`\${${variable}}`, variables[variable].toString()) + temporary = temporary.replace( + `\${${variable}}`, + variables[variable].toString() + ) } }