material-icon-theme 4.17.0 → 4.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,7 +3,46 @@
3
3
  All notable changes to this project will be documented in this file. Dates are displayed in UTC.
4
4
 
5
5
 
6
- #### [v4.17.0](https://github.com/PKief/vscode-material-icon-theme/compare/v4.16.0...HEAD)
6
+ #### [v4.19.0](https://github.com/PKief/vscode-material-icon-theme/compare/v4.18.1...v4.19.0)
7
+
8
+ > July 2, 2022
9
+
10
+ - fix: added __integration-tests__ folder [`#1585`](https://github.com/PKief/vscode-material-icon-theme/pull/1585)
11
+ - fix: update cypress files [`#1582`](https://github.com/PKief/vscode-material-icon-theme/pull/1582)
12
+ - [Add] Cypress file name "cypress.config.js" in fileIcon.ts [`#1579`](https://github.com/PKief/vscode-material-icon-theme/pull/1579)
13
+ - feat: add support for new type declaration files [`#1576`](https://github.com/PKief/vscode-material-icon-theme/pull/1576)
14
+ - feat: add `tsconfig.node.json` [`#1575`](https://github.com/PKief/vscode-material-icon-theme/pull/1575)
15
+ - Adds Cypress 10.x e2e extension [`#1573`](https://github.com/PKief/vscode-material-icon-theme/pull/1573)
16
+ - Fixing non-object workspace settings bug [`#1565`](https://github.com/PKief/vscode-material-icon-theme/pull/1565)
17
+
18
+ #### [v4.18.1](https://github.com/PKief/vscode-material-icon-theme/compare/v4.18.0...v4.18.1)
19
+
20
+ > June 9, 2022
21
+
22
+ - On-boarding to VS Code sponsor [`#1558`](https://github.com/PKief/vscode-material-icon-theme/pull/1558)
23
+ - feat: introduce the icon for the config files of auto [`#1511`](https://github.com/PKief/vscode-material-icon-theme/pull/1511)
24
+ - Fix: Workspace settings override user settings [`#1553`](https://github.com/PKief/vscode-material-icon-theme/pull/1553)
25
+
26
+ #### [v4.18.0](https://github.com/PKief/vscode-material-icon-theme/compare/v4.17.0...v4.18.0)
27
+
28
+ > June 5, 2022
29
+
30
+ - Support workspace settings [`#1540`](https://github.com/PKief/vscode-material-icon-theme/pull/1540)
31
+ - Add React and Jsx folder icon [`#1519`](https://github.com/PKief/vscode-material-icon-theme/pull/1519)
32
+ - Feature: added folder for Lua language; [`#1542`](https://github.com/PKief/vscode-material-icon-theme/pull/1542)
33
+ - feat: add go.work.sum to list of go-mod files [`#1512`](https://github.com/PKief/vscode-material-icon-theme/pull/1512)
34
+ - Add new `.cts` and `.mts` file extensions [`#1541`](https://github.com/PKief/vscode-material-icon-theme/pull/1541)
35
+ - feat: add site to folder-public [`#1544`](https://github.com/PKief/vscode-material-icon-theme/pull/1544)
36
+ - Add separate file icon for rescript interface [`#1539`](https://github.com/PKief/vscode-material-icon-theme/pull/1539)
37
+ - Add new extension for i18n and Minecraft icon. [`#1538`](https://github.com/PKief/vscode-material-icon-theme/pull/1538)
38
+ - feat: add `.` possibility to kubernetes folders [`#1536`](https://github.com/PKief/vscode-material-icon-theme/pull/1536)
39
+ - feat: Support Playwright component test config files [`#1527`](https://github.com/PKief/vscode-material-icon-theme/pull/1527)
40
+ - associate xlsm with excel icon, closes #1493 [`#1521`](https://github.com/PKief/vscode-material-icon-theme/pull/1521)
41
+ - feat: add support for the graphqlrc.cjs file [`#1513`](https://github.com/PKief/vscode-material-icon-theme/pull/1513)
42
+ - feat: introduce support for the webpack config in mjs [`#1514`](https://github.com/PKief/vscode-material-icon-theme/pull/1514)
43
+ - feat: improve postcss config icon [`#1507`](https://github.com/PKief/vscode-material-icon-theme/pull/1507)
44
+
45
+ #### [v4.17.0](https://github.com/PKief/vscode-material-icon-theme/compare/v4.16.0...v4.17.0)
7
46
 
8
47
  > May 6, 2022
9
48
 
package/icons/auto.svg ADDED
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <g>
4
+ <path d="M8.48 4.17c.334.574 1.047.798 1.696.636A7.539 7.539 0 0 1 12 4.583c.62 0 1.223.075 1.799.217.647.159 1.357-.065 1.691-.64.39-.668.116-1.532-.63-1.751A10.144 10.144 0 0 0 12 2c-1.006 0-1.977.146-2.894.419-.743.22-1.015 1.083-.627 1.75Z" fill="#ffc400"/>
5
+ <path d="M5.039 4.772c.564-.535 1.458-.34 1.848.331.333.572.176 1.292-.284 1.769a7.424 7.424 0 0 0-1.456 2.17c-.242.552-.762.958-1.367.958-.854 0-1.496-.781-1.191-1.572a10.008 10.008 0 0 1 2.45-3.656Z" fill="#ad1457"/>
6
+ <path d="M3.197 12c.718 0 1.32.583 1.444 1.286.613 3.483 3.675 6.13 7.359 6.13s6.746-2.647 7.359-6.13c.124-.703.726-1.286 1.444-1.286.719 0 1.279.581 1.187 1.289C21.353 18.203 17.123 22 12 22s-9.353-3.797-9.99-8.711C1.918 12.58 2.478 12 3.197 12Z" fill="#cfd8dc"/>
7
+ <path d="M20.203 9.958c.857 0 1.5-.786 1.19-1.578a10.01 10.01 0 0 0-2.458-3.632c-.564-.533-1.455-.336-1.845.333-.333.573-.174 1.295.289 1.772a7.423 7.423 0 0 1 1.459 2.155c.243.548.762.95 1.365.95Z" fill="#ff5252"/>
8
+ <path d="M7.133 9.32c-.442-.488.053-1.262.657-1.027l4.912 1.91c1.114.434 1.538 1.84.862 2.855a1.785 1.785 0 0 1-2.83.222l-3.6-3.96Z" fill="#cfd8dc"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg fill="none" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
3
+ <g>
4
+ <path d="M8.48 4.17c.334.574 1.047.798 1.696.636A7.539 7.539 0 0 1 12 4.583c.62 0 1.223.075 1.799.217.647.159 1.357-.065 1.691-.64.39-.668.116-1.532-.63-1.751A10.144 10.144 0 0 0 12 2c-1.006 0-1.977.146-2.894.419-.743.22-1.015 1.083-.627 1.75Z" fill="#ffc400"/>
5
+ <path d="M5.039 4.772c.564-.535 1.458-.34 1.848.331.333.572.176 1.292-.284 1.769a7.424 7.424 0 0 0-1.456 2.17c-.242.552-.762.958-1.367.958-.854 0-1.496-.781-1.191-1.572a10.008 10.008 0 0 1 2.45-3.656Z" fill="#ad1457"/>
6
+ <path d="M3.197 12c.718 0 1.32.583 1.444 1.286.613 3.483 3.675 6.13 7.359 6.13s6.746-2.647 7.359-6.13c.124-.703.726-1.286 1.444-1.286.719 0 1.279.581 1.187 1.289C21.353 18.203 17.123 22 12 22s-9.353-3.797-9.99-8.711C1.918 12.58 2.478 12 3.197 12Z" fill="#546e7a"/>
7
+ <path d="M20.203 9.958c.857 0 1.5-.786 1.19-1.578a10.01 10.01 0 0 0-2.458-3.632c-.564-.533-1.455-.336-1.845.333-.333.573-.174 1.295.289 1.772a7.423 7.423 0 0 1 1.459 2.155c.243.548.762.95 1.365.95Z" fill="#ff5252"/>
8
+ <path d="M7.133 9.32c-.442-.488.053-1.262.657-1.027l4.912 1.91c1.114.434 1.538 1.84.862 2.855a1.785 1.785 0 0 1-2.83.222l-3.6-3.96Z" fill="#546e7a"/>
9
+ </g>
10
+ </svg>
@@ -0,0 +1 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve"><path d="M19,20H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h6l2,2h7c1.1,0,2,0.9,2,2H4v10l2.1-8h17.1l-2.3,8.5 C20.7,19.4,19.9,20,19,20z" fill="#42a5f5"/><g transform="translate(-.203 -.102)"><circle cx="17.5" cy="15.6" r="5.7" fill="none" stroke="#B3E5FC"/><path d="M17.6,12.1c-2,0-3.6,1.6-3.6,3.5c0,2,1.6,3.5,3.6,3.5c2,0,3.6-1.6,3.6-3.5C21.2,13.7,19.6,12.1,17.6,12.1L17.6,12.1z M18.6,13.1c0.7,0,1.3,0.6,1.3,1.3c0,0,0,0,0,0c0,0.7-0.6,1.3-1.3,1.3c-0.7,0-1.3-0.6-1.3-1.3C17.4,13.7,17.9,13.1,18.6,13.1C18.6,13.1,18.6,13.1,18.6,13.1L18.6,13.1z" fill-rule="evenodd" clip-rule="evenodd" fill="#B3E5FC"/><ellipse cx="21.7" cy="11.5" rx="1.3" ry="1.3" fill-rule="evenodd" clip-rule="evenodd" fill="#B3E5FC"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" xml:space="preserve"><path d="M10,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8c0-1.1-0.9-2-2-2h-8L10,4z" fill="#42a5f5"/><g transform="translate(-.203 -.102)"><circle cx="17.5" cy="15.6" r="5.7" fill="none" stroke="#B3E5FC"/><path class="st2" d="M17.6,12.1c-2,0-3.6,1.6-3.6,3.5c0,2,1.6,3.5,3.6,3.5c2,0,3.6-1.6,3.6-3.5C21.2,13.7,19.6,12.1,17.6,12.1L17.6,12.1z M18.6,13.2c0.7,0,1.3,0.6,1.3,1.3c0,0,0,0,0,0c0,0.7-0.6,1.3-1.3,1.3c-0.7,0-1.3-0.6-1.3-1.3C17.3,13.7,17.9,13.2,18.6,13.2C18.6,13.2,18.6,13.2,18.6,13.2L18.6,13.2z" fill-rule="evenodd" clip-rule="evenodd" fill="#B3E5FC"/><ellipse class="st2" cx="21.7" cy="11.5" rx="1.3" ry="1.3" fill-rule="evenodd" clip-rule="evenodd" fill="#B3E5FC"/></g></svg>
@@ -0,0 +1,5 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg version="1.1" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
3
+ <path d="m35.781 10.461c-10.552 0-15.829 0.001406-19.525 2.6914a13.867 13.867 0 0 0-3.1035 3.1055c-2.691 3.695-2.6914 8.9701-2.6914 19.537v28.408c0 10.552-5.47e-4 15.824 2.6895 19.523a14.201 14.201 0 0 0 3.1055 3.1211c3.695 2.691 8.9724 2.6914 19.525 2.6914h28.422c10.552 0 15.824-4.06e-4 19.523-2.6914a14.578 14.578 0 0 0 3.1211-3.1211c2.692-3.694 2.6914-8.9704 2.6914-19.523v-28.408c-4e-3 -10.567-0.003406-15.842-2.6914-19.537a14.201 14.201 0 0 0-3.1211-3.1055c-3.694-2.69-8.9694-2.6914-19.523-2.6914h-28.422zm1.582 4.4062h25.258c9.3781 0 14.065-0.001626 17.348 2.3887a12.619 12.619 0 0 1 2.7715 2.7598c2.3887 3.2833 2.389 7.9736 2.3926 17.363v25.242c0 9.3773-5.06e-4 14.065-2.3926 17.348a12.954 12.954 0 0 1-2.7715 2.7715c-3.2869 2.3911-7.9713 2.3926-17.348 2.3926h-25.258c-9.3773 0-14.064-0.001387-17.348-2.3926a12.619 12.619 0 0 1-2.7598-2.7715c-2.3903-3.2869-2.3887-7.9713-2.3887-17.348v-25.242c-1e-6 -9.3897-0.002515-14.08 2.3887-17.363a12.322 12.322 0 0 1 2.7598-2.7598c3.2842-2.3903 7.9713-2.3887 17.348-2.3887z" fill="#ef5350" stroke-width=".67058"/>
4
+ <path d="m39.639 29.643c-2.976 0-4.4744-7.81e-4 -5.6074 0.57422a5.365 5.365 0 0 0-2.3301 2.3301c-0.576 1.135-0.57617 2.6311-0.57617 5.6211v26.078c0 2.473 0.0013 3.7242 0.4043 4.7012a5.318 5.318 0 0 0 2.875 2.875c0.976 0.402 2.2282 0.40234 4.7012 0.40234 2.488 0 3.7242-3.44e-4 4.7012-0.40234a5.318 5.318 0 0 0 2.875-2.877c0.402-0.976 0.40234-2.2262 0.40234-4.6992v-34.604h-7.4453zm24.412 0.3125a9.388 9.388 0 0 0 0 18.775h0.011719a9.381 9.381 0 0 0 9.375-9.3867 9.388 9.388 0 0 0-9.3867-9.3887z" fill="#ef5350" stroke-width=".67058"/>
5
+ </svg>
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "material-icon-theme",
3
3
  "displayName": "Material Icon Theme",
4
4
  "description": "Material Design Icons for Visual Studio Code",
5
- "version": "4.17.0",
5
+ "version": "4.19.0",
6
6
  "scripts": {
7
7
  "build": "npm run compile:dev && npm run postcompile",
8
8
  "check": "ts-node ./src/scripts/icons/checks",
@@ -31,7 +31,10 @@
31
31
  "email": "philipp.kief@gmx.de",
32
32
  "url": "https://pkief.github.io"
33
33
  },
34
- "funding": "https://github.com/sponsors/pkief",
34
+ "funding": "https://github.com/sponsors/PKief",
35
+ "sponsor": {
36
+ "url": "https://github.com/sponsors/PKief"
37
+ },
35
38
  "engines": {
36
39
  "vscode": "^1.51.0"
37
40
  },
@@ -237,28 +240,28 @@
237
240
  },
238
241
  "devDependencies": {
239
242
  "@types/glob": "^7.2.0",
240
- "@types/lodash.merge": "^4.6.6",
241
- "@types/mocha": "^9.0.0",
242
- "@types/node": "^16.11.10",
243
- "@types/puppeteer": "^5.4.4",
243
+ "@types/lodash.merge": "^4.6.7",
244
+ "@types/mocha": "^9.1.1",
245
+ "@types/node": "^17.0.35",
246
+ "@types/puppeteer": "^5.4.6",
244
247
  "@types/vscode": "~1.51.0",
245
- "@typescript-eslint/eslint-plugin": "^5.4.0",
246
- "@typescript-eslint/parser": "^5.4.0",
247
- "changelog-machine": "^1.0.0",
248
- "eslint": "^8.3.0",
249
- "eslint-config-prettier": "^8.3.0",
248
+ "@typescript-eslint/eslint-plugin": "^5.26.0",
249
+ "@typescript-eslint/parser": "^5.26.0",
250
+ "changelog-machine": "^1.0.2",
251
+ "eslint": "^8.16.0",
252
+ "eslint-config-prettier": "^8.5.0",
250
253
  "eslint-plugin-prettier": "^4.0.0",
251
- "glob": "^7.2.0",
252
- "mocha": "^9.1.3",
253
- "prettier": "^2.5.0",
254
- "puppeteer": "^11.0.0",
254
+ "glob": "^8.0.3",
255
+ "mocha": "^10.0.0",
256
+ "prettier": "^2.6.2",
257
+ "puppeteer": "^14.1.1",
255
258
  "rimraf": "^3.0.2",
256
259
  "svgo": "^2.8.0",
257
- "ts-loader": "^9.2.6",
258
- "ts-node": "^10.4.0",
259
- "typescript": "^4.5.2",
260
+ "ts-loader": "^9.3.0",
261
+ "ts-node": "^10.8.0",
262
+ "typescript": "^4.7.2",
260
263
  "vscode-test": "^1.6.1",
261
- "webpack": "^5.64.4",
262
- "webpack-cli": "^4.9.1"
264
+ "webpack": "^5.71.1",
265
+ "webpack-cli": "^4.9.2"
263
266
  }
264
267
  }
package/src/extension.ts CHANGED
@@ -26,6 +26,13 @@ export const activate = async (context: vscode.ExtensionContext) => {
26
26
 
27
27
  // Observe changes in the config
28
28
  vscode.workspace.onDidChangeConfiguration(detectConfigChanges);
29
+
30
+ // Observe if the window got focused to trigger config changes
31
+ vscode.window.onDidChangeWindowState((state) => {
32
+ if (state.focused) {
33
+ detectConfigChanges();
34
+ }
35
+ });
29
36
  } catch (error) {
30
37
  console.error(error);
31
38
  }
@@ -1,3 +1,4 @@
1
+ import merge from 'lodash.merge';
1
2
  import { getConfigProperties, getMaterialIconsJSON, getThemeConfig } from '.';
2
3
  import { createIconFile } from '../icons/index';
3
4
  import { IconJsonOptions } from '../models';
@@ -27,20 +28,29 @@ const compareConfigs = (): {
27
28
  updatedConfigs: IconJsonOptions;
28
29
  updatedJSONConfig: IconJsonOptions;
29
30
  } => {
30
- const configs = Object.keys(getConfigProperties())
31
+ const configPropertyNames = Object.keys(getConfigProperties())
31
32
  .map((c) => c.split('.').slice(1).join('.'))
32
33
  // remove configurable notification messages
33
34
  .filter((c) => !/show(Welcome|Update|Reload)Message/g.test(c));
34
35
 
35
36
  const json = getMaterialIconsJSON();
36
- return configs.reduce(
37
+ return configPropertyNames.reduce(
37
38
  (result, configName) => {
38
39
  try {
39
40
  const themeConfig = getThemeConfig(configName) ?? {
40
41
  globalValue: '',
42
+ workspaceValue: '',
41
43
  defaultValue: '',
42
44
  };
43
- const configValue = themeConfig.globalValue ?? themeConfig.defaultValue;
45
+
46
+ const configValue = getConfigValue(
47
+ themeConfig as {
48
+ globalValue: unknown;
49
+ workspaceValue: unknown;
50
+ defaultValue: unknown;
51
+ }
52
+ );
53
+
44
54
  const currentState = getObjectPropertyValue(
45
55
  json.options ?? {},
46
56
  configName
@@ -66,3 +76,34 @@ const compareConfigs = (): {
66
76
  }
67
77
  );
68
78
  };
79
+
80
+ /**
81
+ * Returns the value of a specific configuration by checking the workspace and the user configuration and fallback to the default value.
82
+ *
83
+ * @param themeConfig Theme configuration
84
+ * @returns Actual theme configuration value
85
+ */
86
+ const getConfigValue = (themeConfig: {
87
+ globalValue: unknown;
88
+ workspaceValue: unknown;
89
+ defaultValue: unknown;
90
+ }) => {
91
+ let configValue;
92
+ if (
93
+ typeof themeConfig.workspaceValue === 'object' &&
94
+ themeConfig.workspaceValue &&
95
+ themeConfig.globalValue
96
+ ) {
97
+ configValue = merge(
98
+ {},
99
+ themeConfig.workspaceValue,
100
+ themeConfig.globalValue
101
+ );
102
+ } else {
103
+ configValue =
104
+ themeConfig.workspaceValue ??
105
+ themeConfig.globalValue ??
106
+ themeConfig.defaultValue;
107
+ }
108
+ return configValue;
109
+ };
@@ -48,7 +48,14 @@ export const fileIcons: FileIcons = {
48
48
  { name: 'proto', fileExtensions: ['proto'] },
49
49
  {
50
50
  name: 'playwright',
51
- fileNames: ['playwright.config.js', 'playwright.config.ts'],
51
+ fileNames: [
52
+ 'playwright.config.js',
53
+ 'playwright.config.mjs',
54
+ 'playwright.config.ts',
55
+ 'playwright-ct.config.js',
56
+ 'playwright-ct.config.mjs',
57
+ 'playwright-ct.config.ts',
58
+ ],
52
59
  },
53
60
  {
54
61
  name: 'sublime',
@@ -239,7 +246,10 @@ export const fileIcons: FileIcons = {
239
246
  '.clang-tidy',
240
247
  ],
241
248
  },
242
- { name: 'typescript-def', fileExtensions: ['d.ts'] },
249
+ {
250
+ name: 'typescript-def',
251
+ fileExtensions: ['d.ts', 'd.cts', 'd.mts'],
252
+ },
243
253
  { name: 'markojs', fileExtensions: ['marko'] },
244
254
  {
245
255
  name: 'astro',
@@ -249,12 +259,14 @@ export const fileIcons: FileIcons = {
249
259
  'astro.config.mjs',
250
260
  'astro.config.cjs',
251
261
  'astro.config.ts',
262
+ 'astro.config.cts',
263
+ 'astro.config.mts',
252
264
  ],
253
265
  },
254
266
  { name: 'pdf', fileExtensions: ['pdf'] },
255
267
  {
256
268
  name: 'table',
257
- fileExtensions: ['xlsx', 'xls', 'csv', 'tsv', 'psv', 'ods'],
269
+ fileExtensions: ['xlsx', 'xlsm', 'xls', 'csv', 'tsv', 'psv', 'ods'],
258
270
  },
259
271
  {
260
272
  name: 'vscode',
@@ -340,7 +352,10 @@ export const fileIcons: FileIcons = {
340
352
  fileExtensions: ['hh', 'hpp', 'hxx', 'h++', 'hp', 'tcc', 'inl'],
341
353
  },
342
354
  { name: 'go', fileExtensions: ['go'] },
343
- { name: 'go-mod', fileNames: ['go.mod', 'go.sum', 'go.work'] },
355
+ {
356
+ name: 'go-mod',
357
+ fileNames: ['go.mod', 'go.sum', 'go.work', 'go.work.sum'],
358
+ },
344
359
  { name: 'python', fileExtensions: ['py'] },
345
360
  {
346
361
  name: 'python-misc',
@@ -568,6 +583,7 @@ export const fileIcons: FileIcons = {
568
583
  '.graphqlrc',
569
584
  '.graphqlrc.json',
570
585
  '.graphqlrc.js',
586
+ '.graphqlrc.cjs',
571
587
  '.graphqlrc.ts',
572
588
  '.graphqlrc.toml',
573
589
  '.graphqlrc.yaml',
@@ -671,7 +687,19 @@ export const fileIcons: FileIcons = {
671
687
  { name: 'haxe', fileExtensions: ['hx'] },
672
688
  {
673
689
  name: 'test-ts',
674
- fileExtensions: ['spec.ts', 'e2e-spec.ts', 'test.ts', 'ts.snap'],
690
+ fileExtensions: [
691
+ 'spec.ts',
692
+ 'spec.cts',
693
+ 'spec.mts',
694
+ 'cy.ts',
695
+ 'e2e-spec.ts',
696
+ 'e2e-spec.cts',
697
+ 'e2e-spec.mts',
698
+ 'test.ts',
699
+ 'test.cts',
700
+ 'test.mts',
701
+ 'ts.snap',
702
+ ],
675
703
  },
676
704
  {
677
705
  name: 'test-jsx',
@@ -682,6 +710,8 @@ export const fileIcons: FileIcons = {
682
710
  'spec.jsx',
683
711
  'test.jsx',
684
712
  'jsx.snap',
713
+ 'cy.jsx',
714
+ 'cy.tsx',
685
715
  ],
686
716
  },
687
717
  {
@@ -697,6 +727,7 @@ export const fileIcons: FileIcons = {
697
727
  'test.cjs',
698
728
  'test.mjs',
699
729
  'js.snap',
730
+ 'cy.js',
700
731
  ],
701
732
  },
702
733
  {
@@ -773,7 +804,12 @@ export const fileIcons: FileIcons = {
773
804
  },
774
805
  {
775
806
  name: 'next',
776
- fileNames: ['next.config.js', 'next.config.ts', 'next.config.mjs'],
807
+ fileNames: [
808
+ 'next.config.js',
809
+ 'next.config.mjs',
810
+ 'next.config.ts',
811
+ 'next.config.mts',
812
+ ],
777
813
  light: true,
778
814
  },
779
815
  {
@@ -804,9 +840,15 @@ export const fileIcons: FileIcons = {
804
840
  fileNames: [
805
841
  'postcss.config.js',
806
842
  'postcss.config.cjs',
843
+ 'postcss.config.ts',
844
+ 'postcss.config.cts',
807
845
  '.postcssrc.js',
846
+ '.postcssrc.cjs',
847
+ '.postcssrc.ts',
848
+ '.postcssrc.cts',
808
849
  '.postcssrc',
809
850
  '.postcssrc.json',
851
+ '.postcssrc.yaml',
810
852
  '.postcssrc.yml',
811
853
  ],
812
854
  },
@@ -847,96 +889,179 @@ export const fileIcons: FileIcons = {
847
889
  fileNames: [
848
890
  'webpack.js',
849
891
  'webpack.cjs',
892
+ 'webpack.mjs',
850
893
  'webpack.ts',
894
+ 'webpack.cts',
895
+ 'webpack.mts',
851
896
  'webpack.base.js',
852
897
  'webpack.base.cjs',
898
+ 'webpack.base.mjs',
853
899
  'webpack.base.ts',
900
+ 'webpack.base.cts',
901
+ 'webpack.base.mts',
854
902
  'webpack.config.js',
855
903
  'webpack.config.cjs',
904
+ 'webpack.config.mjs',
856
905
  'webpack.config.ts',
906
+ 'webpack.config.cts',
907
+ 'webpack.config.mts',
857
908
  'webpack.common.js',
858
909
  'webpack.common.cjs',
910
+ 'webpack.common.mjs',
859
911
  'webpack.common.ts',
912
+ 'webpack.common.cts',
913
+ 'webpack.common.mts',
860
914
  'webpack.config.common.js',
861
915
  'webpack.config.common.cjs',
916
+ 'webpack.config.common.mjs',
862
917
  'webpack.config.common.ts',
918
+ 'webpack.config.common.cts',
919
+ 'webpack.config.common.mts',
863
920
  'webpack.config.common.babel.js',
864
921
  'webpack.config.common.babel.ts',
865
922
  'webpack.dev.js',
866
923
  'webpack.dev.cjs',
924
+ 'webpack.dev.mjs',
867
925
  'webpack.dev.ts',
926
+ 'webpack.dev.cts',
927
+ 'webpack.dev.mts',
868
928
  'webpack.development.js',
869
929
  'webpack.development.cjs',
930
+ 'webpack.development.mjs',
870
931
  'webpack.development.ts',
932
+ 'webpack.development.cts',
933
+ 'webpack.development.mts',
871
934
  'webpack.config.dev.js',
872
935
  'webpack.config.dev.cjs',
936
+ 'webpack.config.dev.mjs',
873
937
  'webpack.config.dev.ts',
938
+ 'webpack.config.dev.cts',
939
+ 'webpack.config.dev.mts',
874
940
  'webpack.config.dev.babel.js',
875
941
  'webpack.config.dev.babel.ts',
876
942
  'webpack.mix.js',
877
943
  'webpack.mix.cjs',
944
+ 'webpack.mix.mjs',
945
+ 'webpack.mix.ts',
946
+ 'webpack.mix.cts',
947
+ 'webpack.mix.mts',
878
948
  'webpack.prod.js',
879
949
  'webpack.prod.cjs',
950
+ 'webpack.prod.mjs',
951
+ 'webpack.prod.ts',
952
+ 'webpack.prod.cts',
953
+ 'webpack.prod.mts',
880
954
  'webpack.prod.config.js',
881
955
  'webpack.prod.config.cjs',
882
- 'webpack.prod.ts',
956
+ 'webpack.prod.config.mjs',
957
+ 'webpack.prod.config.ts',
958
+ 'webpack.prod.config.cts',
959
+ 'webpack.prod.config.mts',
883
960
  'webpack.production.js',
884
961
  'webpack.production.cjs',
962
+ 'webpack.production.mjs',
885
963
  'webpack.production.ts',
964
+ 'webpack.production.cts',
965
+ 'webpack.production.mts',
886
966
  'webpack.server.js',
887
967
  'webpack.server.cjs',
968
+ 'webpack.server.mjs',
888
969
  'webpack.server.ts',
970
+ 'webpack.server.cts',
971
+ 'webpack.server.mts',
889
972
  'webpack.client.js',
890
973
  'webpack.client.cjs',
974
+ 'webpack.client.mjs',
891
975
  'webpack.client.ts',
976
+ 'webpack.client.cts',
977
+ 'webpack.client.mts',
892
978
  'webpack.config.server.js',
893
979
  'webpack.config.server.cjs',
980
+ 'webpack.config.server.mjs',
894
981
  'webpack.config.server.ts',
982
+ 'webpack.config.server.cts',
983
+ 'webpack.config.server.mts',
895
984
  'webpack.config.client.js',
896
985
  'webpack.config.client.cjs',
986
+ 'webpack.config.client.mjs',
897
987
  'webpack.config.client.ts',
988
+ 'webpack.config.client.cts',
989
+ 'webpack.config.client.mts',
898
990
  'webpack.config.production.babel.js',
899
991
  'webpack.config.production.babel.ts',
900
992
  'webpack.config.prod.babel.js',
901
993
  'webpack.config.prod.babel.cjs',
994
+ 'webpack.config.prod.babel.mjs',
902
995
  'webpack.config.prod.babel.ts',
996
+ 'webpack.config.prod.babel.cts',
997
+ 'webpack.config.prod.babel.mts',
903
998
  'webpack.config.prod.js',
904
999
  'webpack.config.prod.cjs',
1000
+ 'webpack.config.prod.mjs',
905
1001
  'webpack.config.prod.ts',
1002
+ 'webpack.config.prod.cts',
1003
+ 'webpack.config.prod.mts',
906
1004
  'webpack.config.production.js',
907
1005
  'webpack.config.production.cjs',
1006
+ 'webpack.config.production.mjs',
908
1007
  'webpack.config.production.ts',
1008
+ 'webpack.config.production.cts',
1009
+ 'webpack.config.production.mts',
909
1010
  'webpack.config.staging.js',
910
1011
  'webpack.config.staging.cjs',
1012
+ 'webpack.config.staging.mjs',
911
1013
  'webpack.config.staging.ts',
1014
+ 'webpack.config.staging.cts',
1015
+ 'webpack.config.staging.mts',
912
1016
  'webpack.config.babel.js',
913
1017
  'webpack.config.babel.ts',
914
1018
  'webpack.config.base.babel.js',
915
1019
  'webpack.config.base.babel.ts',
916
1020
  'webpack.config.base.js',
917
1021
  'webpack.config.base.cjs',
1022
+ 'webpack.config.base.mjs',
918
1023
  'webpack.config.base.ts',
1024
+ 'webpack.config.base.cts',
1025
+ 'webpack.config.base.mts',
919
1026
  'webpack.config.staging.babel.js',
920
1027
  'webpack.config.staging.babel.ts',
921
1028
  'webpack.config.coffee',
922
1029
  'webpack.config.test.js',
923
1030
  'webpack.config.test.cjs',
1031
+ 'webpack.config.test.mjs',
924
1032
  'webpack.config.test.ts',
1033
+ 'webpack.config.test.cts',
1034
+ 'webpack.config.test.mts',
925
1035
  'webpack.config.vendor.js',
926
1036
  'webpack.config.vendor.cjs',
1037
+ 'webpack.config.vendor.mjs',
927
1038
  'webpack.config.vendor.ts',
1039
+ 'webpack.config.vendor.cts',
1040
+ 'webpack.config.vendor.mts',
928
1041
  'webpack.config.vendor.production.js',
929
1042
  'webpack.config.vendor.production.cjs',
1043
+ 'webpack.config.vendor.production.mjs',
930
1044
  'webpack.config.vendor.production.ts',
1045
+ 'webpack.config.vendor.production.cts',
1046
+ 'webpack.config.vendor.production.mts',
931
1047
  'webpack.test.js',
932
1048
  'webpack.test.cjs',
1049
+ 'webpack.test.mjs',
933
1050
  'webpack.test.ts',
1051
+ 'webpack.test.cts',
1052
+ 'webpack.test.mts',
934
1053
  'webpack.dist.js',
935
1054
  'webpack.dist.cjs',
1055
+ 'webpack.dist.mjs',
936
1056
  'webpack.dist.ts',
1057
+ 'webpack.dist.cts',
1058
+ 'webpack.dist.mts',
937
1059
  'webpackfile.js',
938
1060
  'webpackfile.cjs',
1061
+ 'webpackfile.mjs',
939
1062
  'webpackfile.ts',
1063
+ 'webpackfile.cts',
1064
+ 'webpackfile.mts',
940
1065
  ],
941
1066
  },
942
1067
  { name: 'ionic', fileNames: ['ionic.config.json', '.io-config.json'] },
@@ -946,6 +1071,8 @@ export const fileIcons: FileIcons = {
946
1071
  'gulpfile.js',
947
1072
  'gulpfile.mjs',
948
1073
  'gulpfile.ts',
1074
+ 'gulpfile.cts',
1075
+ 'gulpfile.mts',
949
1076
  'gulpfile.babel.js',
950
1077
  ],
951
1078
  },
@@ -1146,6 +1273,20 @@ export const fileIcons: FileIcons = {
1146
1273
  },
1147
1274
  { name: 'watchman', fileNames: ['.watchmanconfig'] },
1148
1275
  { name: 'aurelia', fileNames: ['aurelia.json'] },
1276
+ {
1277
+ name: 'auto',
1278
+ fileNames: [
1279
+ '.autorc',
1280
+ 'auto.config.js',
1281
+ 'auto.config.ts',
1282
+ 'auto-config.json',
1283
+ 'auto-config.yaml',
1284
+ 'auto-config.yml',
1285
+ 'auto-config.ts',
1286
+ 'auto-config.js',
1287
+ ],
1288
+ light: true,
1289
+ },
1149
1290
  {
1150
1291
  name: 'mocha',
1151
1292
  fileNames: [
@@ -1322,21 +1463,27 @@ export const fileIcons: FileIcons = {
1322
1463
  name: 'jest',
1323
1464
  fileNames: [
1324
1465
  'jest.config.js',
1325
- 'jest.config.ts',
1326
1466
  'jest.config.cjs',
1327
1467
  'jest.config.mjs',
1468
+ 'jest.config.ts',
1469
+ 'jest.config.cts',
1470
+ 'jest.config.mts',
1328
1471
  'jest.config.json',
1329
1472
  'jest.e2e.config.js',
1330
- 'jest.e2e.config.ts',
1331
1473
  'jest.e2e.config.cjs',
1332
1474
  'jest.e2e.config.mjs',
1475
+ 'jest.e2e.config.ts',
1476
+ 'jest.e2e.config.cts',
1477
+ 'jest.e2e.config.mts',
1333
1478
  'jest.e2e.config.json',
1334
1479
  'jest.e2e.json',
1335
1480
  'jest-unit.config.js',
1336
1481
  'jest-e2e.config.js',
1337
- 'jest-e2e.config.ts',
1338
1482
  'jest-e2e.config.cjs',
1339
1483
  'jest-e2e.config.mjs',
1484
+ 'jest-e2e.config.ts',
1485
+ 'jest-e2e.config.cts',
1486
+ 'jest-e2e.config.mts',
1340
1487
  'jest-e2e.config.json',
1341
1488
  'jest-e2e.json',
1342
1489
  'jest-github-actions-reporter.js',
@@ -1381,7 +1528,7 @@ export const fileIcons: FileIcons = {
1381
1528
  fileNames: ['makefile', 'gnumakefile', 'kbuild'],
1382
1529
  },
1383
1530
  { name: 'foxpro', fileExtensions: ['fxp', 'prg'] },
1384
- { name: 'i18n', fileExtensions: ['pot', 'po', 'mo'] },
1531
+ { name: 'i18n', fileExtensions: ['pot', 'po', 'mo', 'lang'] },
1385
1532
  { name: 'webassembly', fileExtensions: ['wat', 'wasm'] },
1386
1533
  {
1387
1534
  name: 'semantic-release',
@@ -1438,8 +1585,9 @@ export const fileIcons: FileIcons = {
1438
1585
  'tailwind.js',
1439
1586
  'tailwind.ts',
1440
1587
  'tailwind.config.js',
1441
- 'tailwind.config.ts',
1442
1588
  'tailwind.config.cjs',
1589
+ 'tailwind.config.ts',
1590
+ 'tailwind.config.cts',
1443
1591
  ],
1444
1592
  },
1445
1593
  {
@@ -1591,16 +1739,18 @@ export const fileIcons: FileIcons = {
1591
1739
  fileNames: [
1592
1740
  '.commitlintrc',
1593
1741
  '.commitlintrc.js',
1594
- 'commitlint.config.js',
1742
+ '.commitlintrc.cjs',
1743
+ '.commitlintrc.ts',
1744
+ '.commitlintrc.cts',
1595
1745
  '.commitlintrc.json',
1596
- '.commitlint.yaml',
1597
- '.commitlint.yml',
1598
1746
  '.commitlintrc.yaml',
1599
1747
  '.commitlintrc.yml',
1748
+ '.commitlint.yaml',
1749
+ '.commitlint.yml',
1750
+ 'commitlint.config.js',
1600
1751
  'commitlint.config.cjs',
1601
1752
  'commitlint.config.ts',
1602
- '.commitlintrc.ts',
1603
- '.commitlintrc.cjs',
1753
+ 'commitlint.config.cts',
1604
1754
  ],
1605
1755
  },
1606
1756
  { name: 'buck', fileNames: ['.buckconfig'] },
@@ -1681,18 +1831,23 @@ export const fileIcons: FileIcons = {
1681
1831
  'mcworld',
1682
1832
  'mine',
1683
1833
  'mus',
1834
+ 'mcstructure',
1684
1835
  ],
1836
+ fileNames: ['.mcattributes', '.mcdefinitions', '.mcignore'],
1685
1837
  },
1686
1838
  { name: 'replit', fileNames: ['.replit'] },
1687
- { name: 'rescript', fileExtensions: ['res', 'resi'] },
1839
+ { name: 'rescript', fileExtensions: ['res'] },
1840
+ { name: 'rescript-interface', fileExtensions: ['resi'] },
1688
1841
  {
1689
1842
  name: 'snowpack',
1690
1843
  fileNames: [
1691
- 'snowpack.config.cjs',
1692
1844
  'snowpack.config.js',
1845
+ 'snowpack.config.cjs',
1693
1846
  'snowpack.config.mjs',
1694
- 'snowpack.deps.json',
1695
1847
  'snowpack.config.ts',
1848
+ 'snowpack.config.cts',
1849
+ 'snowpack.config.mts',
1850
+ 'snowpack.deps.json',
1696
1851
  'snowpack.config.json',
1697
1852
  ],
1698
1853
  light: true,
@@ -1713,6 +1868,8 @@ export const fileIcons: FileIcons = {
1713
1868
  'vite.config.mjs',
1714
1869
  'vite.config.cjs',
1715
1870
  'vite.config.ts',
1871
+ 'vite.config.cts',
1872
+ 'vite.config.mts',
1716
1873
  ],
1717
1874
  },
1718
1875
  { name: 'opa', fileExtensions: ['rego'] },
@@ -1721,8 +1878,9 @@ export const fileIcons: FileIcons = {
1721
1878
  name: 'windicss',
1722
1879
  fileNames: [
1723
1880
  'windi.config.js',
1724
- 'windi.config.ts',
1725
1881
  'windi.config.cjs',
1882
+ 'windi.config.ts',
1883
+ 'windi.config.cts',
1726
1884
  'windi.config.json',
1727
1885
  ],
1728
1886
  fileExtensions: ['windi'],
@@ -1771,6 +1929,7 @@ export const fileIcons: FileIcons = {
1771
1929
  'tsconfig.build.json',
1772
1930
  'tsconfig.eslint.json',
1773
1931
  'tsconfig.lib.json',
1932
+ 'tsconfig.node.json',
1774
1933
  ],
1775
1934
  fileExtensions: ['tsconfig.json'],
1776
1935
  },
@@ -1879,7 +2038,17 @@ export const fileIcons: FileIcons = {
1879
2038
  ],
1880
2039
  },
1881
2040
  { name: 'rome', fileNames: ['rome.json'] },
1882
- { name: 'cypress', fileNames: ['cypress.json', 'cypress.env.json'] },
2041
+ {
2042
+ name: 'cypress',
2043
+ fileNames: [
2044
+ 'cypress.json',
2045
+ 'cypress.env.json',
2046
+ 'cypress.config.ts',
2047
+ 'cypress.config.js',
2048
+ 'cypress.config.cjs',
2049
+ 'cypress.config.mjs',
2050
+ ],
2051
+ },
1883
2052
  { name: 'siyuan', fileExtensions: ['sy'] },
1884
2053
  { name: 'ndst', fileExtensions: ['ndst.yml', 'ndst.yaml', 'ndst.json'] },
1885
2054
  { name: 'plop', fileNames: ['plopfile.js', 'plopfile.ts'] },
@@ -208,7 +208,7 @@ export const folderIcons: FolderTheme[] = [
208
208
  { name: 'folder-global', folderNames: ['global'] },
209
209
  {
210
210
  name: 'folder-public',
211
- folderNames: ['public', 'www', 'wwwroot', 'web', 'website'],
211
+ folderNames: ['public', 'www', 'wwwroot', 'web', 'website', 'site'],
212
212
  },
213
213
  {
214
214
  name: 'folder-include',
@@ -282,7 +282,7 @@ export const folderIcons: FolderTheme[] = [
282
282
  },
283
283
  {
284
284
  name: 'folder-react-components',
285
- folderNames: ['components'],
285
+ folderNames: ['components', 'react', 'jsx', 'reactjs'],
286
286
  enabledFor: [IconPack.React, IconPack.Redux],
287
287
  },
288
288
  {
@@ -320,7 +320,10 @@ export const folderIcons: FolderTheme[] = [
320
320
  name: 'folder-video',
321
321
  folderNames: ['vid', 'vids', 'video', 'videos', 'movie', 'movies'],
322
322
  },
323
- { name: 'folder-kubernetes', folderNames: ['kubernetes', 'k8s'] },
323
+ {
324
+ name: 'folder-kubernetes',
325
+ folderNames: ['kubernetes', '.kubernetes', 'k8s', '.k8s'],
326
+ },
324
327
  { name: 'folder-import', folderNames: ['import', 'imports', 'imported'] },
325
328
  { name: 'folder-export', folderNames: ['export', 'exports', 'exported'] },
326
329
  { name: 'folder-wakatime', folderNames: ['wakatime'] },
@@ -340,6 +343,8 @@ export const folderIcons: FolderTheme[] = [
340
343
  'it',
341
344
  'integration-test',
342
345
  'integration-tests',
346
+ '__integration-test__',
347
+ '__integration-tests__',
343
348
  ],
344
349
  },
345
350
  {
@@ -364,6 +369,7 @@ export const folderIcons: FolderTheme[] = [
364
369
  'extras',
365
370
  ],
366
371
  },
372
+ { name: 'folder-lua', folderNames: ['lua'] },
367
373
  {
368
374
  name: 'folder-typescript',
369
375
  folderNames: ['typescript', 'ts', 'typings', '@types', 'types'],