Compare commits
3 Commits
8bfab0e01d
...
dfb6d66c10
Author | SHA1 | Date |
---|---|---|
Bauke | dfb6d66c10 | |
Bauke | 53ec36b216 | |
Bauke | 028bee0327 |
|
@ -1,3 +1,20 @@
|
|||
# Set TARGET using duckscript rather than the usual `env_not_set` way as there's
|
||||
# currently a potential bug with using decode maps and conditions.
|
||||
# https://github.com/sagiegurari/cargo-make/issues/1018
|
||||
env_scripts = ["""
|
||||
#!@duckscript
|
||||
|
||||
target = get_env TARGET
|
||||
if is_empty ${target}
|
||||
browser = get_env BROWSER
|
||||
if eq ${browser} "firefox"
|
||||
set_env TARGET "firefox-desktop"
|
||||
else
|
||||
set_env TARGET ${browser}
|
||||
end
|
||||
end
|
||||
"""]
|
||||
|
||||
[env]
|
||||
# Set BROWSER="firefox" if not already defined.
|
||||
# All browser targets are defined in `source/types.d.ts` as a global `$browser`.
|
||||
|
@ -62,10 +79,16 @@ args = ["install", "--silent"]
|
|||
[tasks.run]
|
||||
clear = true
|
||||
command = "pnpm"
|
||||
args = [
|
||||
"web-ext",
|
||||
"run",
|
||||
# Set --target explicitly, since web-ext for some reason doesn't use the target
|
||||
# set in the configuration file. https://github.com/mozilla/web-ext/issues/1862
|
||||
env = { TARGET = { source = "${BROWSER}", default_value = "${BROWSER}", mapping = { "firefox" = "firefox-desktop" } } }
|
||||
args = ["web-ext", "run", "--target=${TARGET}", "--config=build/web-ext-${BROWSER}.json"]
|
||||
"--target=${TARGET}",
|
||||
"--config=build/web-ext-${BROWSER}.json",
|
||||
"--adb-device=${ADB_DEVICE}",
|
||||
"--firefox-apk=org.mozilla.fenix"
|
||||
]
|
||||
|
||||
# Alias for `WATCH=true makers build`.
|
||||
[tasks.watch]
|
||||
|
|
12
flake.lock
12
flake.lock
|
@ -5,11 +5,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1687171271,
|
||||
"narHash": "sha256-BJlq+ozK2B1sJDQXS3tzJM5a+oVZmi1q0FlBK/Xqv7M=",
|
||||
"lastModified": 1701680307,
|
||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "abfb11bd1aec8ced1c9bb9adfe68018230f4fb3c",
|
||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -20,11 +20,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1687488839,
|
||||
"narHash": "sha256-7JDjuyHwUvGJJge9jxfRJkuYyL5G5yipspc4J3HwjGA=",
|
||||
"lastModified": 1704842529,
|
||||
"narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "f9e94676ce6c7531c44d38da61d2669ebec0f603",
|
||||
"rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
39
package.json
39
package.json
|
@ -5,35 +5,35 @@
|
|||
"@holllo/migration-helper": "^0.1.4",
|
||||
"@holllo/webextension-storage": "^0.2.0",
|
||||
"caret-pos": "^2.0.0",
|
||||
"debounce": "^1.2.1",
|
||||
"debounce": "^2.0.0",
|
||||
"fast-diff": "^1.3.0",
|
||||
"modern-normalize": "^2.0.0",
|
||||
"platform": "^1.3.6",
|
||||
"preact": "^10.15.1",
|
||||
"preact": "^10.19.3",
|
||||
"webextension-polyfill": "^0.10.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@bauke/eslint-config": "^0.1.3",
|
||||
"@bauke/prettier-config": "^0.1.3",
|
||||
"@bauke/stylelint-config": "^0.1.3",
|
||||
"@bauke/eslint-config": "^0.1.4",
|
||||
"@bauke/prettier-config": "^0.1.4",
|
||||
"@bauke/stylelint-config": "^0.1.4",
|
||||
"@holllo/test": "^0.2.1",
|
||||
"@types/debounce": "^1.2.1",
|
||||
"@types/node": "^20.3.3",
|
||||
"@types/platform": "^1.3.4",
|
||||
"@types/webextension-polyfill": "^0.10.1",
|
||||
"concurrently": "^8.2.0",
|
||||
"cssnano": "^6.0.1",
|
||||
"esbuild": "^0.18.11",
|
||||
"@types/debounce": "^1.2.4",
|
||||
"@types/node": "^20.11.0",
|
||||
"@types/platform": "^1.3.6",
|
||||
"@types/webextension-polyfill": "^0.10.7",
|
||||
"concurrently": "^8.2.2",
|
||||
"cssnano": "^6.0.3",
|
||||
"esbuild": "^0.19.11",
|
||||
"esbuild-copy-static-files": "^0.1.0",
|
||||
"esbuild-sass-plugin": "^2.10.0",
|
||||
"postcss": "^8.4.24",
|
||||
"sass": "^1.63.6",
|
||||
"esbuild-sass-plugin": "^2.16.1",
|
||||
"postcss": "^8.4.33",
|
||||
"sass": "^1.69.7",
|
||||
"stylelint": "^15.9.0",
|
||||
"trash-cli": "^5.0.0",
|
||||
"tsx": "^3.12.7",
|
||||
"typescript": "^5.1.6",
|
||||
"web-ext": "^7.6.2",
|
||||
"xo": "^0.54.2"
|
||||
"tsx": "^4.7.0",
|
||||
"typescript": "^5.3.3",
|
||||
"web-ext": "^7.10.0",
|
||||
"xo": "^0.56.0"
|
||||
},
|
||||
"prettier": "@bauke/prettier-config",
|
||||
"stylelint": {
|
||||
|
@ -43,6 +43,7 @@
|
|||
"extends": "@bauke/eslint-config",
|
||||
"prettier": true,
|
||||
"rules": {
|
||||
"@typescript-eslint/no-unsafe-enum-comparison": "off",
|
||||
"complexity": "off",
|
||||
"no-await-in-loop": "off"
|
||||
},
|
||||
|
|
3567
pnpm-lock.yaml
3567
pnpm-lock.yaml
File diff suppressed because it is too large
Load Diff
|
@ -41,7 +41,7 @@ async function generateReplacements(
|
|||
data: AnonymizeUsernamesData,
|
||||
): Promise<Record<string, string>> {
|
||||
const usernames = new Set(
|
||||
elements.map((element) => usernameFromElement(element).replace(/@/g, "")),
|
||||
elements.map((element) => usernameFromElement(element).replaceAll("@", "")),
|
||||
);
|
||||
|
||||
const replacements: Record<string, string> = {};
|
||||
|
|
|
@ -39,7 +39,7 @@ function applyEnhancements(): number {
|
|||
}
|
||||
|
||||
// Remove any excess whitespace.
|
||||
text = text.replace(/\s+/g, " ").trim();
|
||||
text = text.replaceAll(/\s+/, " ").trim();
|
||||
|
||||
// Remove the editor's name too as we already have that.
|
||||
text = text.slice(text.indexOf(" ") + 1);
|
||||
|
@ -166,7 +166,7 @@ function transformText(text: string): TransformedText {
|
|||
);
|
||||
|
||||
if (removed !== undefined) {
|
||||
const tags = removed.replace(/'/g, "").split(", ");
|
||||
const tags = removed.replaceAll("'", "").split(", ");
|
||||
spans.push(
|
||||
...tags.map((tag) => (
|
||||
<>
|
||||
|
@ -180,7 +180,7 @@ function transformText(text: string): TransformedText {
|
|||
}
|
||||
|
||||
if (added !== undefined) {
|
||||
const tags = added.replace(/'/g, "").split(", ");
|
||||
const tags = added.replaceAll("'", "").split(", ");
|
||||
spans.push(
|
||||
...tags.map((tag) => (
|
||||
<>
|
||||
|
|
|
@ -82,7 +82,7 @@ export class UserLabelsFeature extends Component<Props, State> {
|
|||
});
|
||||
|
||||
for (const element of elements) {
|
||||
let username: string = element.textContent!.replace(/@/g, "");
|
||||
let username: string = element.textContent!.replaceAll("@", "");
|
||||
|
||||
if (this.props.anonymizeUsernamesEnabled) {
|
||||
username = element.dataset.trxUsername ?? username;
|
||||
|
|
|
@ -54,6 +54,7 @@ async function importFileHandler(event: Event): Promise<void> {
|
|||
reader.abort();
|
||||
});
|
||||
|
||||
// eslint-disable-next-line unicorn/prefer-blob-reading-methods
|
||||
reader.readAsText(fileList[0]);
|
||||
}
|
||||
|
||||
|
|
|
@ -47,8 +47,8 @@ export class AnonymizeUsernamesSetting extends Component<SettingProps, State> {
|
|||
const replacementTypeOptions = Object.values(ReplacementType).map((key) => (
|
||||
<option selected={key === replacementType} value={key}>
|
||||
{key
|
||||
.replace(/-/g, " ")
|
||||
.replace(/(\b[a-z])/gi, (character) => character.toUpperCase())}
|
||||
.replaceAll("-", " ")
|
||||
.replaceAll(/(\b[a-z])/gi, (character) => character.toUpperCase())}
|
||||
</option>
|
||||
));
|
||||
|
||||
|
|
|
@ -135,8 +135,8 @@ export class HideTopicsSetting extends Component<SettingProps, State> {
|
|||
const matcherOptions = Object.values(HideTopicMatcher).map((key) => (
|
||||
<option selected={predicate.matcher === key} value={key}>
|
||||
{key
|
||||
.replace(/-/g, " ")
|
||||
.replace(/(\b[a-z])/gi, (character) => character.toUpperCase())}
|
||||
.replaceAll("-", " ")
|
||||
.replaceAll(/(\b[a-z])/gi, (character) => character.toUpperCase())}
|
||||
</option>
|
||||
));
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
import {Component, type ComponentChildren, type JSX} from "preact";
|
||||
// eslint-disable-next-line n/file-extension-in-import
|
||||
import {useContext} from "preact/hooks";
|
||||
import {AppContext} from "../context.js";
|
||||
import {type Feature} from "../../storage/exports.js";
|
||||
|
|
|
@ -126,8 +126,10 @@ export class MiscellaneousSetting extends Component<SettingProps, State> {
|
|||
onClick={clickHandler}
|
||||
/>
|
||||
{feature
|
||||
.replace(/-/g, " ")
|
||||
.replace(/(\b[a-z])/gi, (character) => character.toUpperCase())}
|
||||
.replaceAll("-", " ")
|
||||
.replaceAll(/(\b[a-z])/gi, (character) =>
|
||||
character.toUpperCase(),
|
||||
)}
|
||||
</label>
|
||||
<FeatureDescription feature={feature} />
|
||||
</li>
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
border: 1px solid var(--border-color);
|
||||
font-size: 80%;
|
||||
max-height: 8rem;
|
||||
overflow-x: hidden;
|
||||
overflow-y: hidden;
|
||||
overflow: hidden;
|
||||
position: absolute;
|
||||
|
||||
li {
|
||||
|
|
|
@ -253,6 +253,6 @@ export function processSnippetShortcut(
|
|||
alt: components.includes("alt"),
|
||||
ctrl: components.includes("ctrl"),
|
||||
shift: components.includes("shift"),
|
||||
key: components[components.length - 1],
|
||||
key: components.at(-1),
|
||||
} satisfies ProcessedSnippetShortcut;
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ export const migrations: Array<Migration<string>> = [
|
|||
enabledFeatures.value.clear();
|
||||
for (const [key, value] of Object.entries(data.features)) {
|
||||
if (value) {
|
||||
const snakeCasedKey = key.replace(/([A-Z])/g, "-$1").toLowerCase();
|
||||
const snakeCasedKey = key.replaceAll(/([A-Z])/g, "-$1").toLowerCase();
|
||||
if (Object.values(Feature).includes(snakeCasedKey as Feature)) {
|
||||
enabledFeatures.value.add(snakeCasedKey as Feature);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue