diff --git a/src/services/bamboo/icon.png b/public/icons/bamboo.png similarity index 100% rename from src/services/bamboo/icon.png rename to public/icons/bamboo.png diff --git a/src/services/buildbot/icon.png b/public/icons/buildbot.png similarity index 100% rename from src/services/buildbot/icon.png rename to public/icons/buildbot.png diff --git a/src/services/buildkite/icon.png b/public/icons/buildkite.png similarity index 100% rename from src/services/buildkite/icon.png rename to public/icons/buildkite.png diff --git a/src/services/cctray/icon.png b/public/icons/cctray.png similarity index 100% rename from src/services/cctray/icon.png rename to public/icons/cctray.png diff --git a/src/services/github/icon.png b/public/icons/github.png similarity index 100% rename from src/services/github/icon.png rename to public/icons/github.png diff --git a/src/services/jenkins/icon.png b/public/icons/jenkins.png similarity index 100% rename from src/services/jenkins/icon.png rename to public/icons/jenkins.png diff --git a/src/services/teamcity/icon.png b/public/icons/teamcity.png similarity index 100% rename from src/services/teamcity/icon.png rename to public/icons/teamcity.png diff --git a/src/services/travis/icon.png b/public/icons/travis.png similarity index 100% rename from src/services/travis/icon.png rename to public/icons/travis.png diff --git a/img/chrome.svg b/public/img/chrome.svg similarity index 100% rename from img/chrome.svg rename to public/img/chrome.svg diff --git a/img/firefox.svg b/public/img/firefox.svg similarity index 100% rename from img/firefox.svg rename to public/img/firefox.svg diff --git a/img/icon-128.png b/public/img/icon-128.png similarity index 100% rename from img/icon-128.png rename to public/img/icon-128.png diff --git a/img/icon-16.png b/public/img/icon-16.png similarity index 100% rename from img/icon-16.png rename to public/img/icon-16.png diff --git a/img/icon-19.png b/public/img/icon-19.png similarity index 100% rename from img/icon-19.png rename to public/img/icon-19.png diff --git a/img/icon-48.png b/public/img/icon-48.png similarity index 100% rename from img/icon-48.png rename to public/img/icon-48.png diff --git a/img/icon.svg b/public/img/icon.svg similarity index 100% rename from img/icon.svg rename to public/img/icon.svg diff --git a/src/services/bamboo/logo.png b/public/logos/bamboo.png similarity index 100% rename from src/services/bamboo/logo.png rename to public/logos/bamboo.png diff --git a/src/services/buildbot/logo.png b/public/logos/buildbot.png similarity index 100% rename from src/services/buildbot/logo.png rename to public/logos/buildbot.png diff --git a/src/services/buildkite/logo.svg b/public/logos/buildkite.svg similarity index 100% rename from src/services/buildkite/logo.svg rename to public/logos/buildkite.svg diff --git a/src/services/cctray/logo.png b/public/logos/cctray.png similarity index 100% rename from src/services/cctray/logo.png rename to public/logos/cctray.png diff --git a/src/services/github/logo.svg b/public/logos/github.svg similarity index 100% rename from src/services/github/logo.svg rename to public/logos/github.svg diff --git a/src/services/jenkins/logo.png b/public/logos/jenkins.png similarity index 100% rename from src/services/jenkins/logo.png rename to public/logos/jenkins.png diff --git a/src/services/teamcity/logo.png b/public/logos/teamcity.png similarity index 100% rename from src/services/teamcity/logo.png rename to public/logos/teamcity.png diff --git a/src/services/travis/logo.png b/public/logos/travis.png similarity index 100% rename from src/services/travis/logo.png rename to public/logos/travis.png diff --git a/src/common/__mocks__/core.mock.serviceTypes.js b/src/common/__mocks__/core.mock.serviceTypes.js index ff60390d..efa56420 100644 --- a/src/common/__mocks__/core.mock.serviceTypes.js +++ b/src/common/__mocks__/core.mock.serviceTypes.js @@ -2,8 +2,8 @@ export default [ { typeName: 'Atlassian Bamboo', baseUrl: 'bamboo', - icon: 'services/bamboo/icon.png', - logo: 'services/bamboo/logo.png', + icon: 'bamboo.png', + logo: 'bamboo.png', fields: [ { type: 'url', @@ -23,8 +23,8 @@ export default [ { typeName: 'BuildBot', baseUrl: 'buildbot', - icon: 'services/buildbot/icon.png', - logo: 'services/buildbot/logo.png', + icon: 'buildbot.png', + logo: 'buildbot.png', fields: [ { type: 'url', name: 'Server URL, e.g. https://build.webkit.org/' }, { type: 'username' }, @@ -42,8 +42,8 @@ export default [ { typeName: 'BuildKite', baseUrl: 'buildkite', - icon: 'services/buildkite/icon.png', - logo: 'services/buildkite/logo.svg', + icon: 'buildkite.png', + logo: 'buildkite.svg', fields: [ { type: 'token', @@ -62,8 +62,8 @@ export default [ { typeName: 'CCTray XML', baseUrl: 'cctray', - icon: 'services/cctray/icon.png', - logo: 'services/cctray/logo.png', + icon: 'cctray.png', + logo: 'cctray.png', defaultConfig: { baseUrl: 'cctray', name: '', @@ -85,8 +85,8 @@ export default [ { typeName: 'GitHub Actions', baseUrl: 'github', - icon: 'services/github/icon.png', - logo: 'services/github/logo.svg', + icon: 'github.png', + logo: 'github.svg', fields: [ { type: 'url', @@ -109,8 +109,8 @@ export default [ { typeName: 'Jenkins', baseUrl: 'jenkins', - icon: 'services/jenkins/icon.png', - logo: 'services/jenkins/logo.png', + icon: 'jenkins.png', + logo: 'jenkins.png', fields: [ { type: 'url', @@ -131,8 +131,8 @@ export default [ { typeName: 'TeamCity', baseUrl: 'teamcity', - icon: 'services/teamcity/icon.png', - logo: 'services/teamcity/logo.png', + icon: 'teamcity.png', + logo: 'teamcity.png', fields: [ { type: 'url', name: 'Server URL, e.g. http://teamcity.jetbrains.com/' }, { type: 'username' }, diff --git a/src/options/components/sidebar.tsx b/src/options/components/sidebar.tsx index 95d569ff..326588ad 100644 --- a/src/options/components/sidebar.tsx +++ b/src/options/components/sidebar.tsx @@ -11,7 +11,7 @@ export default ({ service, view }: { service?: CIServiceSettings; view?: string const getIconFor = (baseUrl): string => { const item = serviceTypes.find(serviceType => serviceType.baseUrl === baseUrl); - return item ? `/${item.icon}` : ''; + return item ? `/icons/${item.icon}` : ''; }; // TODO: sortable return ( diff --git a/src/options/pages/add/components/serviceThumbnails.tsx b/src/options/pages/add/components/serviceThumbnails.tsx index 9fbcbc5e..62e1f1ce 100644 --- a/src/options/pages/add/components/serviceThumbnails.tsx +++ b/src/options/pages/add/components/serviceThumbnails.tsx @@ -30,7 +30,10 @@ export default ({ }} >
- {serviceType.typeName} + {serviceType.typeName}
{serviceType.typeName}
diff --git a/src/service-worker/notification.test.ts b/src/service-worker/notification.test.ts index 2b2bfe48..693b6f3b 100644 --- a/src/service-worker/notification.test.ts +++ b/src/service-worker/notification.test.ts @@ -55,15 +55,17 @@ describe('show', () => { }); it('adds iconUrl', async () => { - mockChrome.runtime.getURL.mockImplementation(icon => `https://google.com/${icon}`); + mockChrome.runtime.getURL.mockImplementation( + icon => `chrome-extension://BR${icon}`, + ); await notification.show(testInfo); - expect(mockChrome.runtime.getURL).toBeCalledWith(`services/baseUrl/icon.png`); + expect(mockChrome.runtime.getURL).toBeCalledWith(`/icons/baseUrl.png`); expect(mockChrome.notifications.create).toBeCalledWith( testInfo.id, expect.objectContaining({ - iconUrl: `https://google.com/services/baseUrl/icon.png`, + iconUrl: `chrome-extension://BR/icons/baseUrl.png`, }), ); }); diff --git a/src/service-worker/notification.ts b/src/service-worker/notification.ts index 5ec14fd2..b4041670 100644 --- a/src/service-worker/notification.ts +++ b/src/service-worker/notification.ts @@ -47,7 +47,7 @@ async function getIcon(info: NotificationInfo) { const service = await serviceConfig.getItem(info.serviceName); if (!service) throw new Error(`Service ${info.serviceName} not found`); const serviceType = service.baseUrl; - const icon = chrome.runtime.getURL(`services/${serviceType}/icon.png`); + const icon = chrome.runtime.getURL(`/icons/${serviceType}.png`); return icon; } diff --git a/src/services/bamboo/bamboo.ts b/src/services/bamboo/bamboo.ts index 90ec81ed..b2444923 100644 --- a/src/services/bamboo/bamboo.ts +++ b/src/services/bamboo/bamboo.ts @@ -69,8 +69,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'Atlassian Bamboo', baseUrl: 'bamboo', - icon: 'services/bamboo/icon.png', - logo: 'services/bamboo/logo.png', + icon: 'bamboo.png', + logo: 'bamboo.png', fields: [ { type: 'url', diff --git a/src/services/buildbot/buildbot.ts b/src/services/buildbot/buildbot.ts index 35f7a515..f58689f3 100644 --- a/src/services/buildbot/buildbot.ts +++ b/src/services/buildbot/buildbot.ts @@ -53,8 +53,8 @@ export default { getDefinition: () => ({ typeName: 'BuildBot', baseUrl: 'buildbot', - icon: 'services/buildbot/icon.png', - logo: 'services/buildbot/logo.png', + icon: 'buildbot.png', + logo: 'buildbot.png', fields: [ { type: 'url', name: 'Server URL, e.g. https://build.webkit.org/' }, { type: 'username' }, diff --git a/src/services/buildkite/buildkite.ts b/src/services/buildkite/buildkite.ts index 1a83e5d1..648e6ea8 100644 --- a/src/services/buildkite/buildkite.ts +++ b/src/services/buildkite/buildkite.ts @@ -109,8 +109,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'BuildKite', baseUrl: 'buildkite', - icon: 'services/buildkite/icon.png', - logo: 'services/buildkite/logo.svg', + icon: 'buildkite.png', + logo: 'buildkite.svg', fields: [ { type: 'token', diff --git a/src/services/cctray/cctray.ts b/src/services/cctray/cctray.ts index 13a56f9c..508cb31a 100644 --- a/src/services/cctray/cctray.ts +++ b/src/services/cctray/cctray.ts @@ -30,8 +30,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'CCTray XML', baseUrl: 'cctray', - icon: 'services/cctray/icon.png', - logo: 'services/cctray/logo.png', + icon: 'cctray.png', + logo: 'cctray.png', defaultConfig: { baseUrl: 'cctray', name: '', diff --git a/src/services/github/github.ts b/src/services/github/github.ts index a5ada813..693f1d4c 100644 --- a/src/services/github/github.ts +++ b/src/services/github/github.ts @@ -50,8 +50,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'GitHub Actions', baseUrl: 'github', - icon: 'services/github/icon.png', - logo: 'services/github/logo.svg', + icon: 'github.png', + logo: 'github.svg', fields: [ { type: 'url', diff --git a/src/services/jenkins/jenkins.ts b/src/services/jenkins/jenkins.ts index 40e156b8..d15a1cd6 100644 --- a/src/services/jenkins/jenkins.ts +++ b/src/services/jenkins/jenkins.ts @@ -107,8 +107,8 @@ export default { return { typeName: 'Jenkins', baseUrl: 'jenkins', - icon: 'services/jenkins/icon.png', - logo: 'services/jenkins/logo.png', + icon: 'jenkins.png', + logo: 'jenkins.png', fields: [ { type: 'url', diff --git a/src/services/teamcity/teamcity.ts b/src/services/teamcity/teamcity.ts index a29b92bd..636d522b 100644 --- a/src/services/teamcity/teamcity.ts +++ b/src/services/teamcity/teamcity.ts @@ -66,8 +66,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'TeamCity', baseUrl: 'teamcity', - icon: 'services/teamcity/icon.png', - logo: 'services/teamcity/logo.png', + icon: 'teamcity.png', + logo: 'teamcity.png', fields: [ { type: 'url', name: 'Server URL, e.g. http://teamcity.jetbrains.com/' }, { type: 'username' }, diff --git a/src/services/travis/travis.ts b/src/services/travis/travis.ts index a52d385e..38c8ef82 100644 --- a/src/services/travis/travis.ts +++ b/src/services/travis/travis.ts @@ -64,8 +64,8 @@ export default { getDefinition: (): CIServiceDefinition => ({ typeName: 'Travis', baseUrl: 'travis', - icon: 'services/travis/icon.png', - logo: 'services/travis/logo.png', + icon: 'travis.png', + logo: 'travis.png', fields: [ { type: 'url', diff --git a/vite.config.mts b/vite.config.mts index 71f00357..e55017a1 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -15,14 +15,7 @@ export default defineConfig({ react(), copy({ flatten: false, - targets: [ - { - src: ['src/services/**/*.png', 'src/services/**/*.svg'], - dest: 'dist/build/', - }, - { src: 'img/*', dest: 'dist/build/img/' }, - { src: 'manifest.json', dest: 'dist/build/' }, - ], + targets: [{ src: 'manifest.json', dest: 'dist/build/' }], }), tsconfigPaths(), zipPack({ @@ -33,7 +26,7 @@ export default defineConfig({ ], build: { assetsInlineLimit: 0, - emptyOutDir: false, + emptyOutDir: true, sourcemap: true, minify: true, rollupOptions: { @@ -48,7 +41,7 @@ export default defineConfig({ format: 'es', entryFileNames: '[name].js', chunkFileNames: '[name]-chunk.js', - assetFileNames: '[name].[ext]', + assetFileNames: 'assets/[name].[ext]', }, }, },