@vitus-labs/tools-favicon 1.5.2-alpha.5 → 1.6.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitus-labs/tools-favicon",
3
- "version": "1.5.2-alpha.5+7cb1104",
3
+ "version": "1.6.0",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -29,15 +29,16 @@
29
29
  },
30
30
  "scripts": {
31
31
  "prepublish": "bun run build",
32
- "build": "rm -rf lib && tsc"
32
+ "build": "rm -rf lib && tsc",
33
+ "typecheck": "tsc --noEmit"
33
34
  },
34
35
  "dependencies": {
35
- "@vitus-labs/tools-core": "1.5.2-alpha.5+7cb1104",
36
+ "@vitus-labs/tools-core": "1.6.0",
36
37
  "favicons": "^7.2.0"
37
38
  },
38
39
  "devDependencies": {
39
- "@vitus-labs/tools-typescript": "1.5.2-alpha.5+7cb1104",
40
+ "@vitus-labs/tools-typescript": "1.6.0",
40
41
  "typescript": "^5.9.3"
41
42
  },
42
- "gitHead": "7cb1104b7823492e91468cac2bb8f117fcb9d5fd"
43
+ "gitHead": "cb7b3bfa4e5730ecb95b3c886d23074a3ce9e85f"
43
44
  }
package/tsconfig.json CHANGED
@@ -8,5 +8,5 @@
8
8
  "declarationDir": "./lib/types"
9
9
  },
10
10
  "include": ["src"],
11
- "exclude": ["node_modules", "__stories__", "lib"]
11
+ "exclude": ["node_modules", "__stories__", "lib", "**/*.test.ts"]
12
12
  }
@@ -1,41 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { configuration } from './baseConfig.js';
3
- describe('favicon baseConfig', () => {
4
- it('should have correct default display settings', () => {
5
- expect(configuration.dir).toBe('auto');
6
- expect(configuration.lang).toBe('en-US');
7
- expect(configuration.display).toBe('standalone');
8
- expect(configuration.orientation).toBe('any');
9
- });
10
- it('should have correct color settings', () => {
11
- expect(configuration.background).toBe('#fff');
12
- expect(configuration.theme_color).toBe('#fff');
13
- });
14
- it('should have apple status bar style', () => {
15
- expect(configuration.appleStatusBarStyle).toBe('black-translucent');
16
- });
17
- it('should have correct URL settings', () => {
18
- expect(configuration.scope).toBe('/');
19
- expect(configuration.start_url).toBe('/?homescreen=1');
20
- });
21
- it('should have logging disabled by default', () => {
22
- expect(configuration.logging).toBe(false);
23
- expect(configuration.pixel_art).toBe(false);
24
- expect(configuration.loadManifestWithCredentials).toBe(false);
25
- });
26
- it('should have all icon platforms enabled', () => {
27
- const { icons } = configuration;
28
- expect(icons.android).toBe(true);
29
- expect(icons.appleIcon).toBe(true);
30
- expect(icons.appleStartup).toBe(true);
31
- expect(icons.coast).toBe(true);
32
- expect(icons.favicons).toBe(true);
33
- expect(icons.firefox).toBe(true);
34
- expect(icons.windows).toBe(true);
35
- expect(icons.yandex).toBe(true);
36
- });
37
- it('should have version string', () => {
38
- expect(configuration.version).toBe('1.0');
39
- });
40
- });
41
- //# sourceMappingURL=baseConfig.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseConfig.test.js","sourceRoot":"","sources":["../src/baseConfig.test.ts"],"names":[],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- const mockWriteFileSync = vi.fn();
3
- vi.mock('node:fs', () => ({
4
- default: { writeFileSync: mockWriteFileSync },
5
- writeFileSync: mockWriteFileSync,
6
- }));
7
- const mockFavicons = vi.fn();
8
- vi.mock('favicons', () => ({ default: mockFavicons }));
9
- vi.mock('@vitus-labs/tools-core', () => ({
10
- VL_CONFIG: (_key) => ({
11
- config: {},
12
- get: vi.fn(),
13
- merge: (config) => ({
14
- config: {
15
- ...config,
16
- icons: [
17
- { input: 'src/icon.png', output: 'public/icons', path: 'icons' },
18
- ],
19
- path: '/assets',
20
- },
21
- }),
22
- }),
23
- }));
24
- describe('generateFavicons', () => {
25
- beforeEach(() => {
26
- mockWriteFileSync.mockClear();
27
- mockFavicons.mockClear();
28
- });
29
- it('should generate favicons for each icon config', async () => {
30
- mockFavicons.mockResolvedValue({
31
- images: [{ name: 'favicon.ico', contents: Buffer.from('icon') }],
32
- files: [{ name: 'manifest.json', contents: Buffer.from('{}') }],
33
- });
34
- vi.resetModules();
35
- const { generateFavicons } = await import('./generateFavicon.js');
36
- await generateFavicons();
37
- expect(mockFavicons).toHaveBeenCalledTimes(1);
38
- expect(mockWriteFileSync).toHaveBeenCalledTimes(2);
39
- });
40
- it('should handle favicon generation errors', async () => {
41
- const consoleSpy = vi
42
- .spyOn(console, 'log')
43
- .mockImplementation(() => undefined);
44
- mockFavicons.mockRejectedValue(new Error('Generation failed'));
45
- vi.resetModules();
46
- const { generateFavicons } = await import('./generateFavicon.js');
47
- await generateFavicons();
48
- expect(consoleSpy).toHaveBeenCalledWith('Generation failed');
49
- consoleSpy.mockRestore();
50
- });
51
- it('should write images and manifests to output path', async () => {
52
- mockFavicons.mockResolvedValue({
53
- images: [
54
- { name: 'icon-192.png', contents: Buffer.from('192') },
55
- { name: 'icon-512.png', contents: Buffer.from('512') },
56
- ],
57
- files: [{ name: 'manifest.webmanifest', contents: Buffer.from('{}') }],
58
- });
59
- vi.resetModules();
60
- const { generateFavicons } = await import('./generateFavicon.js');
61
- await generateFavicons();
62
- // 2 images + 1 manifest
63
- expect(mockWriteFileSync).toHaveBeenCalledTimes(3);
64
- });
65
- });
66
- //# sourceMappingURL=generateFavicon.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateFavicon.test.js","sourceRoot":"","sources":["../src/generateFavicon.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=baseConfig.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"baseConfig.test.d.ts","sourceRoot":"","sources":["../../src/baseConfig.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=generateFavicon.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generateFavicon.test.d.ts","sourceRoot":"","sources":["../../src/generateFavicon.test.ts"],"names":[],"mappings":""}