diff --git a/eslint.config.js b/eslint.config.js
index 4145441..9dd1182 100644
--- a/eslint.config.js
+++ b/eslint.config.js
@@ -4,6 +4,7 @@ export default antfu({
svelte: true,
stylistic: {
indent: 'tab',
+ semi: 'always',
},
languageOptions: {
globals: {
@@ -13,9 +14,7 @@ export default antfu({
rules: {
'no-self-assign': 'off',
'no-console': 'off',
- 'import/order': 'off',
'jsonc/object-curly-spacing': 'off',
- 'style/semi': ['error', 'always'],
'svelte/html-quotes': [
'error',
{
diff --git a/package-lock.json b/package-lock.json
index 42ded22..cb07b0c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -365,7 +365,7 @@
},
"node_modules/@clack/prompts/node_modules/is-unicode-supported": {
"version": "1.3.0",
- "dev": true,
+ "extraneous": true,
"inBundle": true,
"license": "MIT",
"engines": {
diff --git a/source/extension.svelte b/source/extension.svelte
index 456b8f0..18a671c 100644
--- a/source/extension.svelte
+++ b/source/extension.svelte
@@ -17,6 +17,8 @@
const chromeWebStoreUrl = `https://chrome.google.com/webstore/detail/${id}`;
const edgeWebStoreUrl = `https://microsoftedge.microsoft.com/addons/detail/${id}`;
const url = generateHomeURL();
+ // The browser will still fill the "short name" with "name" if missing
+ const realName = trimName(shortName ?? name);
function generateHomeURL() {
if (installType !== 'normal') {
@@ -28,6 +30,16 @@
: chromeWebStoreUrl;
}
+ // https://github.com/hankxdev/one-click-extensions-manager/issues/152
+ function trimName(name) {
+ return name
+ .replace(/[-:—|].+$/, '')
+ .replace(
+ /(extension|chrome extension|browser extension|for chrome|for google chrome)$/i,
+ '',
+ );
+ }
+
function toggleExtension() {
const wasEnabled = enabled;
@@ -65,7 +77,7 @@
on:click={toggleExtension}
on:contextmenu
>
-
{shortName ?? name}
+
{realName}
{#if optionsUrl && enabled}