@schemavaults/theme 0.24.0 → 0.24.1
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.
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { Config as TailwindConfig } from "tailwindcss";
|
|
2
2
|
import { type ScreenBreakpointID } from "./ScreenBreakpoints";
|
|
3
3
|
import type { TailwindTheme } from "./TailwindTheme";
|
|
4
|
-
type OsJoinFn = (path_segment: string, ...remaining_path_segments: string[]) => string;
|
|
5
4
|
export interface ISchemaVaultsTailwindConfigFactoryInitOptions {
|
|
6
5
|
debug?: boolean;
|
|
7
6
|
scope?: string;
|
|
8
7
|
fileExtensions?: readonly string[];
|
|
9
8
|
project_root?: string;
|
|
9
|
+
buildSubdirectories?: readonly string[];
|
|
10
10
|
}
|
|
11
11
|
export interface ISchemaVaultsTailwindConfigCreationOptions {
|
|
12
12
|
content: readonly string[];
|
|
@@ -19,16 +19,16 @@ type ThemeExtension = NonNullable<TailwindConfigTheme["extend"]>;
|
|
|
19
19
|
type ThemeValue = ThemeExtension[string];
|
|
20
20
|
export declare class SchemaVaultsTailwindConfigFactory implements ISchemaVaultsTailwindConfigFactory {
|
|
21
21
|
protected readonly debug: boolean;
|
|
22
|
-
protected readonly join: OsJoinFn;
|
|
23
22
|
protected readonly isdir: (path: string) => boolean;
|
|
24
23
|
protected readonly isfile: (path: string) => boolean;
|
|
25
24
|
protected readonly scope: string;
|
|
26
25
|
protected readonly project_root: string;
|
|
27
26
|
protected static readonly defaultFileExtensionsToSearch: readonly ["js", "jsx", "ts", "tsx", "svelte"];
|
|
27
|
+
protected readonly possibleBuildDirectories: readonly string[];
|
|
28
28
|
protected readonly fileExtensionsToIncludeInTailwindClassNamesSearch: readonly string[];
|
|
29
|
-
private static defaultJoinImplementation;
|
|
30
29
|
private static defaultIsDirImplementation;
|
|
31
30
|
private static defaultIsFileImplementation;
|
|
31
|
+
private static prettyPrintItemList;
|
|
32
32
|
constructor(opts?: ISchemaVaultsTailwindConfigFactoryInitOptions);
|
|
33
33
|
/**
|
|
34
34
|
* @description Load TailwindCSS plugins to use in theme configuration
|
|
@@ -46,7 +46,7 @@ export declare class SchemaVaultsTailwindConfigFactory implements ISchemaVaultsT
|
|
|
46
46
|
* @returns The resolved path for the organization-scoped package. I.e. the path that contains the package.json file
|
|
47
47
|
*/
|
|
48
48
|
protected resolveOrganizationScopedPackagePath(org_scoped_package_identifier: string): string;
|
|
49
|
-
private static
|
|
49
|
+
private static defaultPossibleBuildDirectories;
|
|
50
50
|
createConfig(opts?: ISchemaVaultsTailwindConfigCreationOptions): TailwindConfig;
|
|
51
51
|
}
|
|
52
52
|
export default SchemaVaultsTailwindConfigFactory;
|
|
@@ -9,7 +9,6 @@ import tailwindAnimatePlugin from "./plugins/tailwindcss-animate";
|
|
|
9
9
|
import * as resolve from "resolve";
|
|
10
10
|
export class SchemaVaultsTailwindConfigFactory {
|
|
11
11
|
debug;
|
|
12
|
-
join;
|
|
13
12
|
isdir;
|
|
14
13
|
isfile;
|
|
15
14
|
scope;
|
|
@@ -21,10 +20,8 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
21
20
|
"tsx",
|
|
22
21
|
"svelte",
|
|
23
22
|
];
|
|
23
|
+
possibleBuildDirectories;
|
|
24
24
|
fileExtensionsToIncludeInTailwindClassNamesSearch;
|
|
25
|
-
static defaultJoinImplementation(path_segment, ...remaining_path_segments) {
|
|
26
|
-
return join(path_segment, ...remaining_path_segments);
|
|
27
|
-
}
|
|
28
25
|
static defaultIsDirImplementation(maybeDirPath) {
|
|
29
26
|
if (!existsSync(maybeDirPath)) {
|
|
30
27
|
return false;
|
|
@@ -37,22 +34,27 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
37
34
|
}
|
|
38
35
|
return lstatSync(maybeFilePath).isFile();
|
|
39
36
|
}
|
|
37
|
+
static prettyPrintItemList(items) {
|
|
38
|
+
return `${items.map((d) => `"${d}"`).join(", ")}`;
|
|
39
|
+
}
|
|
40
40
|
constructor(opts) {
|
|
41
41
|
this.debug = opts?.debug ?? false;
|
|
42
42
|
if (this.debug) {
|
|
43
43
|
console.log("[SchemaVaultsTailwindConfigFactory] constructor()");
|
|
44
44
|
}
|
|
45
|
-
this.join = SchemaVaultsTailwindConfigFactory.defaultJoinImplementation;
|
|
46
45
|
this.isdir = SchemaVaultsTailwindConfigFactory.defaultIsDirImplementation;
|
|
47
46
|
this.isfile = SchemaVaultsTailwindConfigFactory.defaultIsFileImplementation;
|
|
48
47
|
this.scope = opts?.scope ?? DefaultOrgScope;
|
|
49
48
|
if (this.scope.startsWith("@")) {
|
|
50
|
-
throw new
|
|
49
|
+
throw new TypeError("Don't pass the @ in the 'scope', we'll handle adding passing that!");
|
|
51
50
|
}
|
|
52
51
|
this.fileExtensionsToIncludeInTailwindClassNamesSearch = Array.isArray(opts?.fileExtensions)
|
|
53
52
|
? opts.fileExtensions
|
|
54
53
|
: SchemaVaultsTailwindConfigFactory.defaultFileExtensionsToSearch;
|
|
55
54
|
this.project_root = opts?.project_root ?? process.cwd();
|
|
55
|
+
this.possibleBuildDirectories = Array.isArray(opts?.buildSubdirectories)
|
|
56
|
+
? opts.buildSubdirectories
|
|
57
|
+
: SchemaVaultsTailwindConfigFactory.defaultPossibleBuildDirectories;
|
|
56
58
|
if (this.debug) {
|
|
57
59
|
console.log(`[SchemaVaultsTailwindConfigFactory] Initialized '@${this.scope}' config factory`);
|
|
58
60
|
}
|
|
@@ -129,7 +131,7 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
129
131
|
return false;
|
|
130
132
|
}
|
|
131
133
|
else {
|
|
132
|
-
if (
|
|
134
|
+
if (join(current_path, "package.json")) {
|
|
133
135
|
return true;
|
|
134
136
|
}
|
|
135
137
|
else {
|
|
@@ -150,7 +152,7 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
150
152
|
throw new Error(`Error resolving package root directory for '@${scope}/${package_name}'`);
|
|
151
153
|
}
|
|
152
154
|
if (this.isdir(current_path)) {
|
|
153
|
-
current_path = normalize(
|
|
155
|
+
current_path = normalize(join(current_path, ".."));
|
|
154
156
|
}
|
|
155
157
|
else if (this.isfile(current_path)) {
|
|
156
158
|
current_path = dirname(current_path);
|
|
@@ -173,7 +175,7 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
173
175
|
}
|
|
174
176
|
return package_path;
|
|
175
177
|
}
|
|
176
|
-
static
|
|
178
|
+
static defaultPossibleBuildDirectories = [
|
|
177
179
|
"dist",
|
|
178
180
|
"src",
|
|
179
181
|
"build",
|
|
@@ -197,10 +199,13 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
197
199
|
const content_length_at_start = content.length;
|
|
198
200
|
if (content_path_input.startsWith(`@${scope}/`)) {
|
|
199
201
|
const package_path = this.resolveOrganizationScopedPackagePath(content_path_input);
|
|
200
|
-
|
|
201
|
-
const buildSubdirPath =
|
|
202
|
-
let hasBuildSubdirectory;
|
|
202
|
+
this.possibleBuildDirectories.forEach((possible_build_dir) => {
|
|
203
|
+
const buildSubdirPath = join(package_path, possible_build_dir);
|
|
204
|
+
let hasBuildSubdirectory = false;
|
|
203
205
|
try {
|
|
206
|
+
if (this.debug) {
|
|
207
|
+
console.log(`[SchemaVaultsTailwindConfigFactory] Checking if build subdirectory exists at path:`, buildSubdirPath);
|
|
208
|
+
}
|
|
204
209
|
hasBuildSubdirectory = this.isdir(buildSubdirPath);
|
|
205
210
|
}
|
|
206
211
|
catch (e) {
|
|
@@ -209,7 +214,12 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
209
214
|
throw new Error("Error using isdir() to check if there is a directory at path");
|
|
210
215
|
}
|
|
211
216
|
if (hasBuildSubdirectory) {
|
|
212
|
-
|
|
217
|
+
const tailwindContentSearchPath = `${buildSubdirPath}/**/*.{${this.fileExtensionsToIncludeInTailwindClassNamesSearch.join(",")}}`;
|
|
218
|
+
content.push(tailwindContentSearchPath);
|
|
219
|
+
if (this.debug) {
|
|
220
|
+
console.log(`[SchemaVaultsTailwindConfigFactory] ` +
|
|
221
|
+
`Found build subdirectory. Added TailwindCSS search blob:`, tailwindContentSearchPath);
|
|
222
|
+
}
|
|
213
223
|
}
|
|
214
224
|
});
|
|
215
225
|
}
|
|
@@ -221,9 +231,7 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
221
231
|
const content_added_this_iteration = content_length_at_end - content_length_at_start;
|
|
222
232
|
if (content_added_this_iteration < 1 &&
|
|
223
233
|
content_path_input.startsWith(`@${scope}/`)) {
|
|
224
|
-
console.warn(`Did not find any known build
|
|
225
|
-
.map((d) => `"${d}"`)
|
|
226
|
-
.join(", ")})!`);
|
|
234
|
+
console.warn(`Did not find any known build subdirectories (searching subdirectories: ${SchemaVaultsTailwindConfigFactory.prettyPrintItemList(this.possibleBuildDirectories)}) within content path input '${content_path_input}'!`);
|
|
227
235
|
}
|
|
228
236
|
});
|
|
229
237
|
if (content.length === 0) {
|
|
@@ -238,7 +246,9 @@ export class SchemaVaultsTailwindConfigFactory {
|
|
|
238
246
|
darkMode: "class",
|
|
239
247
|
};
|
|
240
248
|
console.assert(config.content.length >= 1, "Failed to load any 'content' search blobs to generate TailwindCSS classes for!");
|
|
241
|
-
|
|
249
|
+
if (!config.content.every((blob) => typeof blob === "string")) {
|
|
250
|
+
throw new TypeError("Received a non-string search blob for the 'content' field of the Tailwind configuration!");
|
|
251
|
+
}
|
|
242
252
|
if (this.debug) {
|
|
243
253
|
console.log("[SchemaVaultsTailwindConfigFactory] Generated TailwindCSS config:\n", config);
|
|
244
254
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TailwindConfigFactory.js","sourceRoot":"","sources":["../src/TailwindConfigFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,eAAe,MAAM,mBAAmB,CAAC,CAAC,wCAAwC;AACzF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"TailwindConfigFactory.js","sourceRoot":"","sources":["../src/TailwindConfigFactory.ts"],"names":[],"mappings":"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"}
|