mirror of
https://github.com/zen-browser/surfer.git
synced 2025-07-07 00:45:32 +02:00
chore: Update package.json description for clarity
This commit is contained in:
parent
1f72a1630d
commit
7cfe4aa88d
15 changed files with 184 additions and 136 deletions
|
@ -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,
|
||||
},
|
||||
|
|
58
.github/workflows/codeql-analysis.yml
vendored
58
.github/workflows/codeql-analysis.yml
vendored
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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"
|
||||
```
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 }
|
||||
.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;
|
||||
}
|
||||
|
|
2
docs/templates/anchor-link.html
vendored
2
docs/templates/anchor-link.html
vendored
|
@ -1 +1 @@
|
|||
<a class="anchor" href="#{{ id }}"></a>
|
||||
<a class="anchor" href="#{{ id }}"></a>
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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,
|
||||
},
|
||||
{
|
||||
|
|
|
@ -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<void> => {
|
|||
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}.`,
|
||||
|
|
|
@ -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',
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -88,7 +88,13 @@ async function writeUpdateFileToDisk(
|
|||
channel: string,
|
||||
updateObject: {
|
||||
updates: {
|
||||
update: Record<string, string | number | Record<string, string | number | undefined> | undefined>
|
||||
update: Record<
|
||||
string,
|
||||
| string
|
||||
| number
|
||||
| Record<string, string | number | undefined>
|
||||
| undefined
|
||||
>
|
||||
}
|
||||
}
|
||||
) {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -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()
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue