From 2c8c5b2fec6a521b88d22eb1e9e8ce972c22933d Mon Sep 17 00:00:00 2001 From: Eric Chen Date: Mon, 22 Apr 2024 21:59:53 +0800 Subject: [PATCH] refactor(fileIcons): apply Ecmascript pattern to webpack filenames --- src/icons/fileIcons.ts | 219 ++++++++--------------------------------- 1 file changed, 39 insertions(+), 180 deletions(-) diff --git a/src/icons/fileIcons.ts b/src/icons/fileIcons.ts index d471513e4..80c746fed 100644 --- a/src/icons/fileIcons.ts +++ b/src/icons/fileIcons.ts @@ -1,6 +1,6 @@ import { FileIcons, IconPack } from '../models/index'; import { parseByPattern } from './patterns/libs'; -import { Cosmiconfig } from './patterns/utils'; +import { Cosmiconfig, Ecmascript } from './patterns/utils'; /** * Defines file icons @@ -975,185 +975,44 @@ export const fileIcons: FileIcons = { { name: 'sbt', fileExtensions: ['sbt'] }, { name: 'webpack', - fileNames: [ - 'webpack.js', - 'webpack.cjs', - 'webpack.mjs', - 'webpack.ts', - 'webpack.cts', - 'webpack.mts', - 'webpack.base.js', - 'webpack.base.cjs', - 'webpack.base.mjs', - 'webpack.base.ts', - 'webpack.base.cts', - 'webpack.base.mts', - 'webpack.config.js', - 'webpack.config.cjs', - 'webpack.config.mjs', - 'webpack.config.ts', - 'webpack.config.cts', - 'webpack.config.mts', - 'webpack.common.js', - 'webpack.common.cjs', - 'webpack.common.mjs', - 'webpack.common.ts', - 'webpack.common.cts', - 'webpack.common.mts', - 'webpack.config.common.js', - 'webpack.config.common.cjs', - 'webpack.config.common.mjs', - 'webpack.config.common.ts', - 'webpack.config.common.cts', - 'webpack.config.common.mts', - 'webpack.config.common.babel.js', - 'webpack.config.common.babel.ts', - 'webpack.dev.js', - 'webpack.dev.cjs', - 'webpack.dev.mjs', - 'webpack.dev.ts', - 'webpack.dev.cts', - 'webpack.dev.mts', - 'webpack.development.js', - 'webpack.development.cjs', - 'webpack.development.mjs', - 'webpack.development.ts', - 'webpack.development.cts', - 'webpack.development.mts', - 'webpack.config.dev.js', - 'webpack.config.dev.cjs', - 'webpack.config.dev.mjs', - 'webpack.config.dev.ts', - 'webpack.config.dev.cts', - 'webpack.config.dev.mts', - 'webpack.config.dev.babel.js', - 'webpack.config.dev.babel.ts', - 'webpack.config.main.js', - 'webpack.config.renderer.ts', - 'webpack.mix.js', - 'webpack.mix.cjs', - 'webpack.mix.mjs', - 'webpack.mix.ts', - 'webpack.mix.cts', - 'webpack.mix.mts', - 'webpack.prod.js', - 'webpack.prod.cjs', - 'webpack.prod.mjs', - 'webpack.prod.ts', - 'webpack.prod.cts', - 'webpack.prod.mts', - 'webpack.prod.config.js', - 'webpack.prod.config.cjs', - 'webpack.prod.config.mjs', - 'webpack.prod.config.ts', - 'webpack.prod.config.cts', - 'webpack.prod.config.mts', - 'webpack.production.js', - 'webpack.production.cjs', - 'webpack.production.mjs', - 'webpack.production.ts', - 'webpack.production.cts', - 'webpack.production.mts', - 'webpack.server.js', - 'webpack.server.cjs', - 'webpack.server.mjs', - 'webpack.server.ts', - 'webpack.server.cts', - 'webpack.server.mts', - 'webpack.client.js', - 'webpack.client.cjs', - 'webpack.client.mjs', - 'webpack.client.ts', - 'webpack.client.cts', - 'webpack.client.mts', - 'webpack.config.server.js', - 'webpack.config.server.cjs', - 'webpack.config.server.mjs', - 'webpack.config.server.ts', - 'webpack.config.server.cts', - 'webpack.config.server.mts', - 'webpack.config.client.js', - 'webpack.config.client.cjs', - 'webpack.config.client.mjs', - 'webpack.config.client.ts', - 'webpack.config.client.cts', - 'webpack.config.client.mts', - 'webpack.config.production.babel.js', - 'webpack.config.production.babel.ts', - 'webpack.config.prod.babel.js', - 'webpack.config.prod.babel.cjs', - 'webpack.config.prod.babel.mjs', - 'webpack.config.prod.babel.ts', - 'webpack.config.prod.babel.cts', - 'webpack.config.prod.babel.mts', - 'webpack.config.prod.js', - 'webpack.config.prod.cjs', - 'webpack.config.prod.mjs', - 'webpack.config.prod.ts', - 'webpack.config.prod.cts', - 'webpack.config.prod.mts', - 'webpack.config.production.js', - 'webpack.config.production.cjs', - 'webpack.config.production.mjs', - 'webpack.config.production.ts', - 'webpack.config.production.cts', - 'webpack.config.production.mts', - 'webpack.config.staging.js', - 'webpack.config.staging.cjs', - 'webpack.config.staging.mjs', - 'webpack.config.staging.ts', - 'webpack.config.staging.cts', - 'webpack.config.staging.mts', - 'webpack.config.babel.js', - 'webpack.config.babel.ts', - 'webpack.config.base.babel.js', - 'webpack.config.base.babel.ts', - 'webpack.config.base.js', - 'webpack.config.base.cjs', - 'webpack.config.base.mjs', - 'webpack.config.base.ts', - 'webpack.config.base.cts', - 'webpack.config.base.mts', - 'webpack.config.staging.babel.js', - 'webpack.config.staging.babel.ts', - 'webpack.config.coffee', - 'webpack.config.test.js', - 'webpack.config.test.cjs', - 'webpack.config.test.mjs', - 'webpack.config.test.ts', - 'webpack.config.test.cts', - 'webpack.config.test.mts', - 'webpack.config.vendor.js', - 'webpack.config.vendor.cjs', - 'webpack.config.vendor.mjs', - 'webpack.config.vendor.ts', - 'webpack.config.vendor.cts', - 'webpack.config.vendor.mts', - 'webpack.config.vendor.production.js', - 'webpack.config.vendor.production.cjs', - 'webpack.config.vendor.production.mjs', - 'webpack.config.vendor.production.ts', - 'webpack.config.vendor.production.cts', - 'webpack.config.vendor.production.mts', - 'webpack.test.js', - 'webpack.test.cjs', - 'webpack.test.mjs', - 'webpack.test.ts', - 'webpack.test.cts', - 'webpack.test.mts', - 'webpack.dist.js', - 'webpack.dist.cjs', - 'webpack.dist.mjs', - 'webpack.dist.ts', - 'webpack.dist.cts', - 'webpack.dist.mts', - 'webpackfile.js', - 'webpackfile.cjs', - 'webpackfile.mjs', - 'webpackfile.ts', - 'webpackfile.cts', - 'webpackfile.mts', - ], + fileNames: ['webpack.config.coffee'], + patterns: { + 'webpack.base': Ecmascript, + 'webpack.client': Ecmascript, + 'webpack.common': Ecmascript, + 'webpack.config.babel': Ecmascript, + 'webpack.config.base.babel': Ecmascript, + 'webpack.config.base': Ecmascript, + 'webpack.config.client': Ecmascript, + 'webpack.config.common.babel': Ecmascript, + 'webpack.config.common': Ecmascript, + 'webpack.config.dev.babel': Ecmascript, + 'webpack.config.dev': Ecmascript, + 'webpack.config.main': Ecmascript, + 'webpack.config.prod.babel': Ecmascript, + 'webpack.config.prod': Ecmascript, + 'webpack.config.production.babel': Ecmascript, + 'webpack.config.production': Ecmascript, + 'webpack.config.renderer': Ecmascript, + 'webpack.config.server': Ecmascript, + 'webpack.config.staging.babel': Ecmascript, + 'webpack.config.staging': Ecmascript, + 'webpack.config.test': Ecmascript, + 'webpack.config.vendor.production': Ecmascript, + 'webpack.config.vendor': Ecmascript, + 'webpack.config': Ecmascript, + 'webpack.dev': Ecmascript, + 'webpack.development': Ecmascript, + 'webpack.dist': Ecmascript, + 'webpack.mix': Ecmascript, + 'webpack.prod.config': Ecmascript, + 'webpack.prod': Ecmascript, + 'webpack.production': Ecmascript, + 'webpack.server': Ecmascript, + 'webpack.test': Ecmascript, + webpack: Ecmascript, + webpackfile: Ecmascript, + }, }, { name: 'ionic', fileNames: ['ionic.config.json', '.io-config.json'] }, {