assets-toolkit 1.0.0 → 1.0.2
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/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +5 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +48 -2
- package/dist/constants.js.map +1 -1
- package/dist/helps/assetSupport.d.ts +6 -0
- package/dist/helps/assetSupport.d.ts.map +1 -0
- package/dist/helps/assetSupport.js +104 -0
- package/dist/helps/assetSupport.js.map +1 -0
- package/dist/helps/checkDuplicates.d.ts +5 -0
- package/dist/helps/checkDuplicates.d.ts.map +1 -0
- package/dist/helps/checkDuplicates.js +16 -0
- package/dist/helps/checkDuplicates.js.map +1 -0
- package/dist/helps/checkFileValidations.d.ts +5 -1
- package/dist/helps/checkFileValidations.d.ts.map +1 -1
- package/dist/helps/checkFileValidations.js +30 -15
- package/dist/helps/checkFileValidations.js.map +1 -1
- package/dist/helps/logger.d.ts +3 -8
- package/dist/helps/logger.d.ts.map +1 -1
- package/dist/helps/logger.js +7 -11
- package/dist/helps/logger.js.map +1 -1
- package/dist/helps/normalizeAssetExtensions.d.ts +3 -0
- package/dist/helps/normalizeAssetExtensions.d.ts.map +1 -0
- package/dist/helps/normalizeAssetExtensions.js +35 -0
- package/dist/helps/normalizeAssetExtensions.js.map +1 -0
- package/dist/helps/webAssetResolver.d.ts +2 -0
- package/dist/helps/webAssetResolver.d.ts.map +1 -0
- package/dist/helps/webAssetResolver.js +38 -0
- package/dist/helps/webAssetResolver.js.map +1 -0
- package/dist/{generator.d.ts → rn-assets.d.ts} +3 -1
- package/dist/rn-assets.d.ts.map +1 -0
- package/dist/rn-assets.js +321 -0
- package/dist/rn-assets.js.map +1 -0
- package/dist/toolkits/doctor.d.ts.map +1 -1
- package/dist/toolkits/doctor.js +11 -59
- package/dist/toolkits/doctor.js.map +1 -1
- package/dist/toolkits/doctorFix.d.ts.map +1 -1
- package/dist/toolkits/doctorFix.js +15 -27
- package/dist/toolkits/doctorFix.js.map +1 -1
- package/dist/toolkits/generator.d.ts.map +1 -1
- package/dist/toolkits/generator.js +52 -70
- package/dist/toolkits/generator.js.map +1 -1
- package/dist/toolkits/reports.d.ts.map +1 -1
- package/dist/toolkits/reports.js +19 -4
- package/dist/toolkits/reports.js.map +1 -1
- package/dist/types.d.ts +27 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/writers/index.d.ts.map +1 -1
- package/dist/writers/index.js +7 -5
- package/dist/writers/index.js.map +1 -1
- package/dist/writers/react-native.js +1 -1
- package/dist/writers/react-native.js.map +1 -1
- package/package.json +30 -4
- package/dist/cacheHelper.d.ts +0 -2
- package/dist/cacheHelper.d.ts.map +0 -1
- package/dist/cacheHelper.js +0 -2
- package/dist/cacheHelper.js.map +0 -1
- package/dist/config-types.d.ts +0 -2
- package/dist/config-types.d.ts.map +0 -1
- package/dist/config-types.js +0 -2
- package/dist/config-types.js.map +0 -1
- package/dist/generator.d.ts.map +0 -1
- package/dist/generator.js +0 -170
- package/dist/generator.js.map +0 -1
- package/dist/helps/checkInvalidFileNames.d.ts +0 -2
- package/dist/helps/checkInvalidFileNames.d.ts.map +0 -1
- package/dist/helps/checkInvalidFileNames.js +0 -23
- package/dist/helps/checkInvalidFileNames.js.map +0 -1
- package/dist/helps/incrementalHash.d.ts +0 -3
- package/dist/helps/incrementalHash.d.ts.map +0 -1
- package/dist/helps/incrementalHash.js +0 -8
- package/dist/helps/incrementalHash.js.map +0 -1
- package/dist/helps/normalizeFiles.d.ts +0 -2
- package/dist/helps/normalizeFiles.d.ts.map +0 -1
- package/dist/helps/normalizeFiles.js +0 -2
- package/dist/helps/normalizeFiles.js.map +0 -1
package/dist/config.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AssetsToolkitConfig } from "./types.js";
|
|
2
|
-
export declare
|
|
2
|
+
export declare function getDefaultConfig(root: string): Required<AssetsToolkitConfig>;
|
|
3
3
|
export declare function createDefaultConfig(root: string): void;
|
|
4
4
|
export declare function loadConfig(root: string): AssetsToolkitConfig;
|
|
5
5
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAQ5E;AAMD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAUtD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAiC5D"}
|
package/dist/config.js
CHANGED
|
@@ -2,13 +2,16 @@ import fs from "fs";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { ensureGitIgnore } from "./helps/gitignore.js";
|
|
4
4
|
import { colorText } from "./colorConsole.js";
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import { CONFIG_FILE } from "./constants.js";
|
|
6
|
+
export function getDefaultConfig(root) {
|
|
7
|
+
const hasSrcFolder = fs.existsSync(path.join(root, "src"));
|
|
8
|
+
return {
|
|
9
|
+
assets: ["./src/assets", "./assets"],
|
|
10
|
+
output: hasSrcFolder ? "src/generated-assets" : "generated-assets",
|
|
11
|
+
target: "auto",
|
|
12
|
+
duplicates: "ignore",
|
|
13
|
+
};
|
|
14
|
+
}
|
|
12
15
|
function getConfigPath(root) {
|
|
13
16
|
return path.join(root, CONFIG_FILE);
|
|
14
17
|
}
|
|
@@ -17,13 +20,14 @@ export function createDefaultConfig(root) {
|
|
|
17
20
|
if (fs.existsSync(configPath)) {
|
|
18
21
|
return;
|
|
19
22
|
}
|
|
23
|
+
const defaultConfig = getDefaultConfig(root);
|
|
20
24
|
fs.writeFileSync(configPath, JSON.stringify(defaultConfig, null, 2), "utf8");
|
|
21
25
|
ensureGitIgnore(root);
|
|
22
26
|
console.log(colorText("success", "✓ Created assets-toolkit.config.json"));
|
|
23
27
|
}
|
|
24
28
|
export function loadConfig(root) {
|
|
25
29
|
const configPath = getConfigPath(root);
|
|
26
|
-
|
|
30
|
+
const defaultConfig = getDefaultConfig(root);
|
|
27
31
|
if (!fs.existsSync(configPath)) {
|
|
28
32
|
createDefaultConfig(root);
|
|
29
33
|
return defaultConfig;
|
|
@@ -31,7 +35,7 @@ export function loadConfig(root) {
|
|
|
31
35
|
try {
|
|
32
36
|
const content = fs.readFileSync(configPath, "utf8");
|
|
33
37
|
const userConfig = JSON.parse(content);
|
|
34
|
-
updateConfigWithDefaults(configPath, userConfig);
|
|
38
|
+
updateConfigWithDefaults(configPath, userConfig, defaultConfig);
|
|
35
39
|
const config = {
|
|
36
40
|
...defaultConfig,
|
|
37
41
|
...userConfig,
|
|
@@ -67,7 +71,7 @@ function validateConfig(config) {
|
|
|
67
71
|
throw new Error(`Invalid duplicates option "${config.duplicates}"`);
|
|
68
72
|
}
|
|
69
73
|
}
|
|
70
|
-
function updateConfigWithDefaults(configPath, userConfig) {
|
|
74
|
+
function updateConfigWithDefaults(configPath, userConfig, defaultConfig) {
|
|
71
75
|
const mergedConfig = {
|
|
72
76
|
...defaultConfig,
|
|
73
77
|
...userConfig,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type { AssetCategory } from "./types.js";
|
|
2
|
+
import type { Target } from "./types.js";
|
|
2
3
|
export declare const categoryExtensions: Record<AssetCategory, string[]>;
|
|
3
4
|
export declare const SUPPORTED_EXTENSIONS: Set<string>;
|
|
5
|
+
export declare const TARGET_SUPPORTED_EXTENSIONS: Record<Target, Partial<Record<AssetCategory, string[]>>>;
|
|
4
6
|
export declare const VALID_FILE_NAME: RegExp;
|
|
5
7
|
export declare const INVALID_FILE_NAME_REASONS: {
|
|
6
8
|
readonly EMPTY: "Empty filename";
|
|
7
9
|
readonly ONLY_UNDERSCORES: "Filename contains only underscores";
|
|
8
|
-
readonly STARTS_WITH_NUMBER: "Filename starts with
|
|
10
|
+
readonly STARTS_WITH_NUMBER: "Filename starts with number";
|
|
9
11
|
readonly INVALID_CHARACTERS: "Filename contains invalid characters";
|
|
10
12
|
readonly UPPERCASE_EXTENSION: "Uppercase extension";
|
|
13
|
+
readonly UNSUPPORTED_EXTENSION: "Unsupported file extension";
|
|
11
14
|
};
|
|
15
|
+
export declare const CONFIG_FILE = "assets-toolkit.config.json";
|
|
12
16
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAIzC,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAyC9D,CAAC;AAEF,eAAO,MAAM,oBAAoB,aAEhC,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAC9C,MAAM,EACN,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAgDzC,CAAC;AAEF,eAAO,MAAM,eAAe,QAC0B,CAAC;AAEvD,eAAO,MAAM,yBAAyB;aACpC,KAAK,EAAE,gBAAgB;aACvB,gBAAgB,EAAE,oCAAoC;aACtD,kBAAkB,EAAE,6BAA6B;aACjD,kBAAkB,EAAE,sCAAsC;aAC1D,mBAAmB,EAAE,qBAAqB;aAC1C,qBAAqB,EAAE,4BAA4B;CAC3C,CAAC;AAEX,eAAO,MAAM,WAAW,+BAA+B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const LOTTIE_EXTENSIONS = [".json", ".lottie"];
|
|
1
2
|
export const categoryExtensions = {
|
|
2
3
|
images: [
|
|
3
4
|
".png",
|
|
@@ -38,15 +39,60 @@ export const categoryExtensions = {
|
|
|
38
39
|
".mpeg",
|
|
39
40
|
".mpg",
|
|
40
41
|
],
|
|
41
|
-
lottie:
|
|
42
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
42
43
|
};
|
|
43
44
|
export const SUPPORTED_EXTENSIONS = new Set(Object.values(categoryExtensions).flat());
|
|
45
|
+
export const TARGET_SUPPORTED_EXTENSIONS = {
|
|
46
|
+
"react-native": {
|
|
47
|
+
images: [".png", ".jpg", ".jpeg", ".webp"],
|
|
48
|
+
video: [".mp4", ".mov"],
|
|
49
|
+
audio: [".mp3", ".wav"],
|
|
50
|
+
svg: [".svg"],
|
|
51
|
+
fonts: [".ttf", ".otf"],
|
|
52
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
53
|
+
},
|
|
54
|
+
expo: {
|
|
55
|
+
images: [".png", ".jpg", ".jpeg", ".webp"],
|
|
56
|
+
video: [".mp4", ".mov"],
|
|
57
|
+
audio: [".mp3", ".wav"],
|
|
58
|
+
svg: [".svg"],
|
|
59
|
+
fonts: [".ttf", ".otf"],
|
|
60
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
61
|
+
},
|
|
62
|
+
react: {
|
|
63
|
+
images: [".png", ".jpg", ".jpeg", ".webp", ".avif"],
|
|
64
|
+
video: [".mp4", ".webm"],
|
|
65
|
+
audio: [".mp3", ".wav", ".ogg"],
|
|
66
|
+
svg: [".svg"],
|
|
67
|
+
fonts: [".ttf", ".otf", ".woff", ".woff2"],
|
|
68
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
69
|
+
},
|
|
70
|
+
next: {
|
|
71
|
+
images: [".png", ".jpg", ".jpeg", ".webp", ".avif"],
|
|
72
|
+
video: [".mp4", ".webm"],
|
|
73
|
+
audio: [".mp3", ".wav", ".ogg"],
|
|
74
|
+
svg: [".svg"],
|
|
75
|
+
fonts: [".ttf", ".otf", ".woff", ".woff2"],
|
|
76
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
77
|
+
},
|
|
78
|
+
vite: {
|
|
79
|
+
images: [".png", ".jpg", ".jpeg", ".webp", ".avif"],
|
|
80
|
+
video: [".mp4", ".webm"],
|
|
81
|
+
audio: [".mp3", ".wav", ".ogg"],
|
|
82
|
+
svg: [".svg"],
|
|
83
|
+
fonts: [".ttf", ".otf", ".woff", ".woff2"],
|
|
84
|
+
lottie: LOTTIE_EXTENSIONS,
|
|
85
|
+
},
|
|
86
|
+
unknown: {},
|
|
87
|
+
};
|
|
44
88
|
export const VALID_FILE_NAME = /^[A-Za-z0-9_][A-Za-z0-9_-]*(?:@[1-9](?:\.\d+)?x)?$/;
|
|
45
89
|
export const INVALID_FILE_NAME_REASONS = {
|
|
46
90
|
EMPTY: "Empty filename",
|
|
47
91
|
ONLY_UNDERSCORES: "Filename contains only underscores",
|
|
48
|
-
STARTS_WITH_NUMBER: "Filename starts with
|
|
92
|
+
STARTS_WITH_NUMBER: "Filename starts with number",
|
|
49
93
|
INVALID_CHARACTERS: "Filename contains invalid characters",
|
|
50
94
|
UPPERCASE_EXTENSION: "Uppercase extension",
|
|
95
|
+
UNSUPPORTED_EXTENSION: "Unsupported file extension",
|
|
51
96
|
};
|
|
97
|
+
export const CONFIG_FILE = "assets-toolkit.config.json";
|
|
52
98
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AssetAnalysis, AssetCategory, Target } from "../types.js";
|
|
2
|
+
export declare function isAssetSupported(filePath: string, category: AssetCategory, target: Target): boolean;
|
|
3
|
+
export declare function getUnsupportedReason(file: string, category: AssetCategory, target: Target): string | undefined;
|
|
4
|
+
export declare function shouldSkipAsset(file: string, target: Target): boolean;
|
|
5
|
+
export declare function analyzeAssets(files: string[], target: Target): AssetAnalysis;
|
|
6
|
+
//# sourceMappingURL=assetSupport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetSupport.d.ts","sourceRoot":"","sources":["../../src/helps/assetSupport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAQxE,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,SAAS,CAUpB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CASrE;AACD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAkG5E"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import path from "path";
|
|
2
|
+
import { TARGET_SUPPORTED_EXTENSIONS } from "../constants.js";
|
|
3
|
+
import { getCategory } from "../toolkits/generator.js";
|
|
4
|
+
import { getAssetValidationSummary, getDuplicateAssetGroups, } from "./checkFileValidations.js";
|
|
5
|
+
export function isAssetSupported(filePath, category, target) {
|
|
6
|
+
const extension = path.extname(filePath).toLowerCase();
|
|
7
|
+
const supportedExtensions = TARGET_SUPPORTED_EXTENSIONS[target][category];
|
|
8
|
+
if (!supportedExtensions) {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
return supportedExtensions.includes(extension);
|
|
12
|
+
}
|
|
13
|
+
export function getUnsupportedReason(file, category, target) {
|
|
14
|
+
const ext = path.extname(file).toLowerCase();
|
|
15
|
+
const allowed = TARGET_SUPPORTED_EXTENSIONS[target]?.[category] ?? [];
|
|
16
|
+
if (!allowed.includes(ext)) {
|
|
17
|
+
return `${ext} is not supported by ${target}`;
|
|
18
|
+
}
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
export function shouldSkipAsset(file, target) {
|
|
22
|
+
if (target !== "react-native" && target !== "expo") {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const ext = path.extname(file);
|
|
26
|
+
const name = path.basename(file, ext);
|
|
27
|
+
return /@[2-9](\.\d+)?x$/i.test(name);
|
|
28
|
+
}
|
|
29
|
+
export function analyzeAssets(files, target) {
|
|
30
|
+
const supported = [];
|
|
31
|
+
const skipped = [];
|
|
32
|
+
const unsupported = [];
|
|
33
|
+
const invalid = [];
|
|
34
|
+
const duplicates = [];
|
|
35
|
+
const { invalidAssets } = getAssetValidationSummary(files);
|
|
36
|
+
const invalidMap = new Map(invalidAssets.map((asset) => [asset.file, asset.reason]));
|
|
37
|
+
const duplicateGroups = getDuplicateAssetGroups(files);
|
|
38
|
+
const duplicateMap = new Map();
|
|
39
|
+
for (const group of duplicateGroups) {
|
|
40
|
+
const original = group[0];
|
|
41
|
+
if (!original)
|
|
42
|
+
continue;
|
|
43
|
+
group.slice(1).forEach((duplicate) => {
|
|
44
|
+
duplicateMap.set(duplicate, original);
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
for (const file of files) {
|
|
48
|
+
// 1. Invalid asset
|
|
49
|
+
const invalidReason = invalidMap.get(file);
|
|
50
|
+
if (invalidReason) {
|
|
51
|
+
invalid.push({
|
|
52
|
+
file,
|
|
53
|
+
reason: invalidReason,
|
|
54
|
+
});
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
// 2. React Native / Expo scale variants
|
|
58
|
+
if (shouldSkipAsset(file, target)) {
|
|
59
|
+
skipped.push({
|
|
60
|
+
file,
|
|
61
|
+
reason: "Image scale variant",
|
|
62
|
+
});
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
// 3. Detect category
|
|
66
|
+
const category = getCategory(file);
|
|
67
|
+
if (!category) {
|
|
68
|
+
unsupported.push({
|
|
69
|
+
file,
|
|
70
|
+
reason: "Unsupported file extension",
|
|
71
|
+
});
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
// 4. Platform support
|
|
75
|
+
const unsupportedReason = getUnsupportedReason(file, category, target);
|
|
76
|
+
if (unsupportedReason) {
|
|
77
|
+
unsupported.push({
|
|
78
|
+
file,
|
|
79
|
+
reason: unsupportedReason,
|
|
80
|
+
});
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
// 5. Duplicate handling
|
|
84
|
+
const duplicateOf = duplicateMap.get(file);
|
|
85
|
+
if (duplicateOf) {
|
|
86
|
+
duplicates.push({
|
|
87
|
+
file,
|
|
88
|
+
duplicateOf,
|
|
89
|
+
});
|
|
90
|
+
continue;
|
|
91
|
+
}
|
|
92
|
+
// 6. Valid asset
|
|
93
|
+
supported.push(file);
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
discovered: files,
|
|
97
|
+
supported,
|
|
98
|
+
skipped,
|
|
99
|
+
unsupported,
|
|
100
|
+
invalid,
|
|
101
|
+
duplicates,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=assetSupport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetSupport.js","sourceRoot":"","sources":["../../src/helps/assetSupport.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,QAAuB,EACvB,MAAc;IAEd,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,MAAM,mBAAmB,GAAG,2BAA2B,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAE1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,QAAuB,EACvB,MAAc;IAEd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAE7C,MAAM,OAAO,GAAG,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAEtE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,GAAG,wBAAwB,MAAM,EAAE,CAAC;IAChD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,MAAc;IAC1D,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAEtC,OAAO,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AACD,MAAM,UAAU,aAAa,CAAC,KAAe,EAAE,MAAc;IAC3D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAiC,EAAE,CAAC;IACrD,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,UAAU,GAAgC,EAAE,CAAC;IAEnD,MAAM,EAAE,aAAa,EAAE,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,IAAI,GAAG,CACxB,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CACzD,CAAC;IAEF,MAAM,eAAe,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE/C,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACnC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,mBAAmB;QACnB,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,MAAM,EAAE,aAAa;aACtB,CAAC,CAAC;YAEH,SAAS;QACX,CAAC;QAED,wCAAwC;QACxC,IAAI,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI;gBACJ,MAAM,EAAE,qBAAqB;aAC9B,CAAC,CAAC;YAEH,SAAS;QACX,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI;gBACJ,MAAM,EAAE,4BAA4B;aACrC,CAAC,CAAC;YAEH,SAAS;QACX,CAAC;QAED,sBAAsB;QACtB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEvE,IAAI,iBAAiB,EAAE,CAAC;YACtB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI;gBACJ,MAAM,EAAE,iBAAiB;aAC1B,CAAC,CAAC;YAEH,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE3C,IAAI,WAAW,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC;gBACd,IAAI;gBACJ,WAAW;aACZ,CAAC,CAAC;YAEH,SAAS;QACX,CAAC;QAED,iBAAiB;QACjB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,SAAS;QACT,OAAO;QACP,WAAW;QACX,OAAO;QACP,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDuplicates.d.ts","sourceRoot":"","sources":["../../src/helps/checkDuplicates.ts"],"names":[],"mappings":"AAGA,wBAAgB,eAAe,CAC7B,UAAU,EAAE;IACV,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,EAAE,EACH,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,EAAE,MAAM,QAqBb"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { colorText } from "../colorConsole.js";
|
|
2
|
+
import { getProjectRelativePath } from "../util.js";
|
|
3
|
+
export function checkDuplicates(duplicates, results, root) {
|
|
4
|
+
if (duplicates.length === 0) {
|
|
5
|
+
results.push(colorText("success", "\n✓ No duplicate assets"));
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
results.push("");
|
|
9
|
+
results.push(colorText("warning", "⚠ Duplicate Assets"));
|
|
10
|
+
results.push(colorText("muted", "--------------------"));
|
|
11
|
+
for (const duplicate of duplicates) {
|
|
12
|
+
results.push(` ↳ ${getProjectRelativePath(duplicate.file, root)}`);
|
|
13
|
+
results.push(colorText("muted", ` Duplicate of: ${getProjectRelativePath(duplicate.duplicateOf, root)}`));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=checkDuplicates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkDuplicates.js","sourceRoot":"","sources":["../../src/helps/checkDuplicates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,eAAe,CAC7B,UAGG,EACH,OAAiB,EACjB,IAAY;IAEZ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAC9D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAEzD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAEpE,OAAO,CAAC,IAAI,CACV,SAAS,CACP,OAAO,EACP,sBAAsB,sBAAsB,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAC5E,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import type { InvalidFile } from "../writers/types.js";
|
|
2
2
|
import type { AssetWarning, InvalidAsset } from "../types.js";
|
|
3
3
|
export declare function getDuplicateAssetGroups(files: string[]): string[][];
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function addUnsupportedAssets(assets: {
|
|
5
|
+
file: string;
|
|
6
|
+
reason: string;
|
|
7
|
+
}[], root: string, results?: string[]): void;
|
|
8
|
+
export declare function addInvalidAssets(assets: InvalidAsset[], root: string, results: string[]): void;
|
|
5
9
|
export declare function getAssetValidationSummary(files: string[]): {
|
|
6
10
|
invalidAssets: InvalidAsset[];
|
|
7
11
|
warnings: AssetWarning[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkFileValidations.d.ts","sourceRoot":"","sources":["../../src/helps/checkFileValidations.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB9D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"checkFileValidations.d.ts","sourceRoot":"","sources":["../../src/helps/checkFileValidations.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIvD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAyB9D,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAyBnE;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE;IACN,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,EAAE,EACH,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAAE,QAwBnB;AACD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,YAAY,EAAE,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,QAoBlB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAC1D,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B,CAwBA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE,CAsC9D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;EAiCjD"}
|
|
@@ -40,22 +40,36 @@ export function getDuplicateAssetGroups(files) {
|
|
|
40
40
|
return a.localeCompare(b);
|
|
41
41
|
}));
|
|
42
42
|
}
|
|
43
|
-
export function
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
export function addUnsupportedAssets(assets, root, results) {
|
|
44
|
+
if (assets.length === 0)
|
|
45
|
+
return;
|
|
46
|
+
const lines = [];
|
|
47
|
+
lines.push("");
|
|
48
|
+
lines.push(colorText("warning", "⚠ Unsupported Assets"));
|
|
49
|
+
lines.push(colorText("warning", "---------------------"));
|
|
50
|
+
for (const asset of assets) {
|
|
51
|
+
lines.push(`↳ ${getProjectRelativePath(asset.file, root)} ⚠ ${asset.reason}`);
|
|
48
52
|
}
|
|
49
|
-
results
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
for (const file of invalidFiles) {
|
|
53
|
-
results.push(getProjectRelativePath(file.oldPath, root));
|
|
53
|
+
if (results) {
|
|
54
|
+
results.push(...lines);
|
|
55
|
+
return;
|
|
54
56
|
}
|
|
57
|
+
lines.forEach((line) => {
|
|
58
|
+
console.log(line);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
export function addInvalidAssets(assets, root, results) {
|
|
62
|
+
if (assets.length === 0)
|
|
63
|
+
return;
|
|
55
64
|
results.push("");
|
|
56
|
-
results.push(
|
|
65
|
+
results.push(colorText("warning", "⚠ Invalid File Names"));
|
|
66
|
+
results.push(colorText("muted", "--------------------"));
|
|
67
|
+
assets.forEach(({ file, reason }) => {
|
|
68
|
+
results.push(`${getProjectRelativePath(file, root)} ${colorText("warning", `⚠ ${reason}`)}`);
|
|
69
|
+
});
|
|
70
|
+
results.push("");
|
|
71
|
+
results.push(pc.yellow("To fix filename issues, run:"));
|
|
57
72
|
results.push(` ${pc.cyan("assets-toolkit doctor --fix")}`);
|
|
58
|
-
return invalidFiles;
|
|
59
73
|
}
|
|
60
74
|
export function getAssetValidationSummary(files) {
|
|
61
75
|
const invalidAssets = [];
|
|
@@ -103,8 +117,9 @@ export function getInvalidFiles(files) {
|
|
|
103
117
|
return invalidFiles;
|
|
104
118
|
}
|
|
105
119
|
export function validateAssetFileName(file) {
|
|
106
|
-
const
|
|
107
|
-
const
|
|
120
|
+
const originalExt = path.extname(file);
|
|
121
|
+
const ext = originalExt.toLowerCase();
|
|
122
|
+
const name = path.basename(file, originalExt);
|
|
108
123
|
if (name.length === 0) {
|
|
109
124
|
return {
|
|
110
125
|
valid: false,
|
|
@@ -123,7 +138,7 @@ export function validateAssetFileName(file) {
|
|
|
123
138
|
reason: INVALID_FILE_NAME_REASONS.INVALID_CHARACTERS,
|
|
124
139
|
};
|
|
125
140
|
}
|
|
126
|
-
if (
|
|
141
|
+
if (originalExt !== ext) {
|
|
127
142
|
return {
|
|
128
143
|
valid: true,
|
|
129
144
|
warning: INVALID_FILE_NAME_REASONS.UPPERCASE_EXTENSION,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkFileValidations.js","sourceRoot":"","sources":["../../src/helps/checkFileValidations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI;SACR,IAAI,EAAE;SACN,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE/C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAe;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAE7C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;SACxB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAClB,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"checkFileValidations.js","sourceRoot":"","sources":["../../src/helps/checkFileValidations.ts"],"names":[],"mappings":"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"}
|
package/dist/helps/logger.d.ts
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export declare function printGenerateSummary(params:
|
|
3
|
-
|
|
4
|
-
outputDir: string;
|
|
5
|
-
totalAssets: number;
|
|
6
|
-
categoryOutput: string;
|
|
7
|
-
}): void;
|
|
8
|
-
export declare function printInvalidFiles(root: string, invalidAssets: InvalidAsset[], warnings: AssetWarning[]): void;
|
|
1
|
+
import type { GenerateSummaryType, InvalidAsset } from "../types.js";
|
|
2
|
+
export declare function printGenerateSummary(params: GenerateSummaryType): void;
|
|
3
|
+
export declare function printInvalidAssets(invalidAssets: InvalidAsset[], root: string): void;
|
|
9
4
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/helps/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/helps/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGrE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,QAgB/D;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,YAAY,EAAE,EAC7B,IAAI,EAAE,MAAM,QAeb"}
|
package/dist/helps/logger.js
CHANGED
|
@@ -14,17 +14,13 @@ ${params.categoryOutput}
|
|
|
14
14
|
${colorText("info", `${"Total".padEnd(12)}${params.totalAssets.toString().padStart(5)}`)}
|
|
15
15
|
`);
|
|
16
16
|
}
|
|
17
|
-
export function
|
|
18
|
-
if (invalidAssets.length
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
if (invalidAssets.length > 0 || warnings.length > 0) {
|
|
27
|
-
console.log(colorText("info", '\nRename these files and run "assets-toolkit generate" again.\n'));
|
|
17
|
+
export function printInvalidAssets(invalidAssets, root) {
|
|
18
|
+
if (invalidAssets.length === 0)
|
|
19
|
+
return;
|
|
20
|
+
console.log(colorText("title", "\nInvalid Assets:"));
|
|
21
|
+
console.log(colorText("muted", "------------------"));
|
|
22
|
+
for (const asset of invalidAssets) {
|
|
23
|
+
console.log(`${colorText("muted", `↳ ${getProjectRelativePath(asset.file, root)}`.padEnd(55))} ${colorText("warning", `⚠ ${asset.reason}`)}`);
|
|
28
24
|
}
|
|
29
25
|
}
|
|
30
26
|
//# sourceMappingURL=logger.js.map
|
package/dist/helps/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/helps/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/helps/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,UAAU,oBAAoB,CAAC,MAA2B;IAC9D,OAAO,CAAC,GAAG,CAAC;EACZ,SAAS,CAAC,OAAO,EAAE,gBAAgB,CAAC;EACpC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC;EACrC,SAAS,CAAC,SAAS,EAAE,aAAa,MAAM,CAAC,MAAM,EAAE,CAAC;EAClD,SAAS,CAAC,SAAS,EAAE,gBAAgB,MAAM,CAAC,SAAS,EAAE,CAAC;;EAExD,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;EAC3B,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC;EAC5B,MAAM,CAAC,cAAc;;EAErB,SAAS,CACT,MAAM,EACN,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CACpE;CACA,CAAC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,aAA6B,EAC7B,IAAY;IAEZ,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAEvC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAEtD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CACT,GAAG,SAAS,CACV,OAAO,EACP,KAAK,sBAAsB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAC3D,IAAI,SAAS,CAAC,SAAS,EAAE,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,CACjD,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeAssetExtensions.d.ts","sourceRoot":"","sources":["../../src/helps/normalizeAssetExtensions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,MAAM,GACb,MAAM,EAAE,CA+CV"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import { TARGET_SUPPORTED_EXTENSIONS } from "../constants.js";
|
|
4
|
+
export function normalizeSupportedExtensions(files, target) {
|
|
5
|
+
return files.map((file) => {
|
|
6
|
+
const ext = path.extname(file);
|
|
7
|
+
const lowerExt = ext.toLowerCase();
|
|
8
|
+
if (ext === lowerExt) {
|
|
9
|
+
return file;
|
|
10
|
+
}
|
|
11
|
+
const category = Object.keys(TARGET_SUPPORTED_EXTENSIONS[target]).find((key) => {
|
|
12
|
+
const extensions = TARGET_SUPPORTED_EXTENSIONS[target][key];
|
|
13
|
+
return extensions?.includes(lowerExt);
|
|
14
|
+
});
|
|
15
|
+
console.log("file:", file);
|
|
16
|
+
console.log("category:", category);
|
|
17
|
+
if (!category) {
|
|
18
|
+
return file;
|
|
19
|
+
}
|
|
20
|
+
const newPath = path.join(path.dirname(file), `${path.basename(file, ext)}${lowerExt}`);
|
|
21
|
+
if (file.toLowerCase() === newPath.toLowerCase()) {
|
|
22
|
+
const tempPath = `${file}.temp`;
|
|
23
|
+
fs.renameSync(file, tempPath);
|
|
24
|
+
fs.renameSync(tempPath, newPath);
|
|
25
|
+
return newPath;
|
|
26
|
+
}
|
|
27
|
+
if (fs.existsSync(newPath)) {
|
|
28
|
+
return file;
|
|
29
|
+
}
|
|
30
|
+
fs.renameSync(file, newPath);
|
|
31
|
+
console.log(`✓ Renamed ${file} → ${newPath}`);
|
|
32
|
+
return newPath;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=normalizeAssetExtensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeAssetExtensions.js","sourceRoot":"","sources":["../../src/helps/normalizeAssetExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAG9D,MAAM,UAAU,4BAA4B,CAC1C,KAAe,EACf,MAAc;IAEd,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAEnC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CACpE,CAAC,GAAG,EAAE,EAAE;YACN,MAAM,UAAU,GACd,2BAA2B,CAAC,MAAM,CAAC,CAAC,GAAoB,CAAC,CAAC;YAE5D,OAAO,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;QAEF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAClB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,QAAQ,EAAE,CACzC,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAC;YAEhC,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9B,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE7B,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webAssetResolver.d.ts","sourceRoot":"","sources":["../../src/helps/webAssetResolver.ts"],"names":[],"mappings":"AAGA,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CA0BV"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
import path from "path";
|
|
3
|
+
export function resolveWebAssetDirectory(root, assetDirectories) {
|
|
4
|
+
const srcDir = path.join(root, "src");
|
|
5
|
+
// no src folder, keep existing assets
|
|
6
|
+
if (!fs.existsSync(srcDir)) {
|
|
7
|
+
return assetDirectories;
|
|
8
|
+
}
|
|
9
|
+
const newDirectories = [];
|
|
10
|
+
for (const assetDir of assetDirectories) {
|
|
11
|
+
const relative = path.relative(root, assetDir);
|
|
12
|
+
const newAssetDir = path.join(srcDir, relative);
|
|
13
|
+
if (assetDir === newAssetDir) {
|
|
14
|
+
newDirectories.push(assetDir);
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
copyDirectory(assetDir, newAssetDir);
|
|
18
|
+
newDirectories.push(newAssetDir);
|
|
19
|
+
}
|
|
20
|
+
return newDirectories;
|
|
21
|
+
}
|
|
22
|
+
function copyDirectory(source, destination) {
|
|
23
|
+
fs.mkdirSync(destination, { recursive: true });
|
|
24
|
+
const files = fs.readdirSync(source, {
|
|
25
|
+
withFileTypes: true,
|
|
26
|
+
});
|
|
27
|
+
for (const file of files) {
|
|
28
|
+
const src = path.join(source, file.name);
|
|
29
|
+
const dest = path.join(destination, file.name);
|
|
30
|
+
if (file.isDirectory()) {
|
|
31
|
+
copyDirectory(src, dest);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
fs.copyFileSync(src, dest);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=webAssetResolver.js.map
|