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}