@reliverse/dler 1.7.28 โ 1.7.30
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/README.md +44 -20
- package/bin/app/build/cmd.d.ts +8 -0
- package/bin/app/build/cmd.js +14 -1
- package/bin/app/build/impl.d.ts +1 -1
- package/bin/app/build/impl.js +19 -4
- package/bin/app/build/postbuild.d.ts +3 -1
- package/bin/app/build/postbuild.js +19 -14
- package/bin/libs/cfg/cfg-impl/cfg-consts.d.ts +5 -0
- package/bin/libs/cfg/cfg-impl/cfg-consts.js +7 -1
- package/bin/libs/cfg/cfg-impl/cfg-types.d.ts +22 -1
- package/bin/libs/cfg/cfg-impl/rse-config/rse-impl/rse-define.d.ts +3 -3
- package/bin/libs/sdk/sdk-impl/config/default.js +4 -1
- package/bin/libs/sdk/sdk-impl/config/info.js +1 -1
- package/bin/libs/sdk/sdk-impl/config/init.js +9 -0
- package/bin/libs/sdk/sdk-impl/config/types.d.ts +8 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,25 +1,46 @@
|
|
|
1
|
-
# dler (prev. relidler) โข
|
|
1
|
+
# ๐๏ธ dler (prev. relidler) โข build/publish/improve ts/js libs/cli/apps
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[sponsor](https://github.com/sponsors/blefnk) โ [discord](https://discord.gg/pb8ukbwpsj) โ [github](https://github.com/reliverse/dler) โ [npm](https://npmjs.com/@reliverse/dler)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
> @reliverse/dler (`/หdiห.lษr/`, dealer) is a flexible, unified, and fully automated bundler for typescript/javascript projects that doubles as an npm/jsr publishing tool. beyond bundling, dler serves as a comprehensive codemod toolkit for modern typescript/javascript development.
|
|
6
6
|
|
|
7
7
|
## features
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
-
|
|
12
|
-
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
22
|
-
-
|
|
9
|
+
### ๐ core power
|
|
10
|
+
|
|
11
|
+
- **`unjs/unbuild` drop-in** with different powerful capabilities like publishing
|
|
12
|
+
- **automated publishing** to npm/jsr registries with intelligent workflow management
|
|
13
|
+
- **reliable builds** with comprehensive typescript/javascript support and error handling
|
|
14
|
+
- **smart versioning** with automatic version bumps and semantic release integration
|
|
15
|
+
- **zero configuration** eliminates `package.json` maintenance headaches forever
|
|
16
|
+
|
|
17
|
+
### โก developer experience
|
|
18
|
+
|
|
19
|
+
- **performance optimized** for speed with modern build pipelines and caching
|
|
20
|
+
- **18 built-in commands** โ comprehensive [dler commands](#dler-commands) for every workflow
|
|
21
|
+
- **path resolution magic** converts typescript aliases to relative imports automatically
|
|
22
|
+
- **highly configurable** via dedicated configuration files with sensible defaults
|
|
23
|
+
- **dual interface** โ cli for everyday use, sdk for advanced programmatic control
|
|
24
|
+
|
|
25
|
+
### ๐ง advanced capabilities
|
|
26
|
+
|
|
27
|
+
- **clean distribution builds** automatically removes internal logs and debug code
|
|
28
|
+
- **monorepo ready** with experimental `libs` feature for multi-library projects
|
|
29
|
+
- **magic spells** โ extensible plugin system for custom build transformations
|
|
30
|
+
- **codemod toolkit** โ powerful code transformation utilities built-in
|
|
31
|
+
|
|
32
|
+
### ๐ฏ perfect for
|
|
33
|
+
|
|
34
|
+
dler excels at managing both build and publish workflows, making it ideal for:
|
|
35
|
+
|
|
36
|
+
- cli tool creators and maintainers
|
|
37
|
+
- project bootstrappers (like [rse](https://github.com/reliverse/rse))
|
|
38
|
+
- library authors seeking streamlined workflows
|
|
39
|
+
- teams wanting consistent build processes
|
|
40
|
+
|
|
41
|
+
### ๐ coming soon
|
|
42
|
+
|
|
43
|
+
**full monorepo system** with advanced dependency management and cross-package optimization.
|
|
23
44
|
|
|
24
45
|
### supported bundlers
|
|
25
46
|
|
|
@@ -40,7 +61,7 @@
|
|
|
40
61
|
|
|
41
62
|
## getting started
|
|
42
63
|
|
|
43
|
-
ensure git, node.js, and bun/pnpm/yarn/npm are installed. then:
|
|
64
|
+
ensure git, node.js, and bun/pnpm/yarn/npm (**[bun](https://bun.sh/get) is highly recommended**) are installed. then:
|
|
44
65
|
|
|
45
66
|
### playground
|
|
46
67
|
|
|
@@ -75,6 +96,9 @@ bun dev # bun src/cli.ts --dev
|
|
|
75
96
|
bun i -g update --latest
|
|
76
97
|
```
|
|
77
98
|
|
|
99
|
+
- **when installed globally**: use `dler` anywhere.
|
|
100
|
+
- **when installed as dev dep**: use with package manager name prefix, e.g. `bun dler`, inside your project directory.
|
|
101
|
+
|
|
78
102
|
2. **prepare your project**:
|
|
79
103
|
|
|
80
104
|
a. **configure `.gitignore`**:
|
|
@@ -117,7 +141,7 @@ bun dev # bun src/cli.ts --dev
|
|
|
117
141
|
dler [build|pub] # if installed globally
|
|
118
142
|
```
|
|
119
143
|
|
|
120
|
-
##
|
|
144
|
+
## dler commands
|
|
121
145
|
|
|
122
146
|
dler ships with a flexible command system (prev. plugins) and **18 built-in commands** (from [reliverse addons](https://reliverse.org/addons) collection).
|
|
123
147
|
|
|
@@ -828,7 +852,7 @@ special thanks to the project that inspired `@reliverse/dler`:
|
|
|
828
852
|
|
|
829
853
|
### notes
|
|
830
854
|
|
|
831
|
-
`<src | dist-npm | dist-jsr>/libs/<lib-name>/<files live here>` === `dist-libs/<lib-name>/<jsr | npm>/bin/<files live here>`
|
|
855
|
+
- `<src | dist-npm | dist-jsr>/libs/<lib-name>/<files live here>` === `dist-libs/<lib-name>/<jsr | npm>/bin/<files live here>`
|
|
832
856
|
|
|
833
857
|
## support
|
|
834
858
|
|
package/bin/app/build/cmd.d.ts
CHANGED
|
@@ -3,5 +3,13 @@ declare const _default: import("@reliverse/rempts").Command<{
|
|
|
3
3
|
type: "boolean";
|
|
4
4
|
description: string;
|
|
5
5
|
};
|
|
6
|
+
debugOnlyCopyNonBuildFiles: {
|
|
7
|
+
type: "boolean";
|
|
8
|
+
description: string;
|
|
9
|
+
};
|
|
10
|
+
debugDontCopyNonBuildFiles: {
|
|
11
|
+
type: "boolean";
|
|
12
|
+
description: string;
|
|
13
|
+
};
|
|
6
14
|
}>;
|
|
7
15
|
export default _default;
|
package/bin/app/build/cmd.js
CHANGED
|
@@ -12,12 +12,25 @@ export default defineCommand({
|
|
|
12
12
|
dev: {
|
|
13
13
|
type: "boolean",
|
|
14
14
|
description: "Runs the CLI in dev mode"
|
|
15
|
+
},
|
|
16
|
+
debugOnlyCopyNonBuildFiles: {
|
|
17
|
+
type: "boolean",
|
|
18
|
+
description: "Only copy non-build files to dist directories"
|
|
19
|
+
},
|
|
20
|
+
debugDontCopyNonBuildFiles: {
|
|
21
|
+
type: "boolean",
|
|
22
|
+
description: "Don't copy non-build files to dist directories, only build buildPreExtensions files"
|
|
15
23
|
}
|
|
16
24
|
}),
|
|
17
25
|
async run({ args }) {
|
|
18
26
|
await ensureDlerConfig(args.dev);
|
|
19
27
|
const config = await getConfigDler();
|
|
20
|
-
const { timer } = await dlerBuild(
|
|
28
|
+
const { timer } = await dlerBuild(
|
|
29
|
+
args.dev,
|
|
30
|
+
config,
|
|
31
|
+
args.debugOnlyCopyNonBuildFiles,
|
|
32
|
+
args.debugDontCopyNonBuildFiles
|
|
33
|
+
);
|
|
21
34
|
await finalizeBuild(timer, false, "build");
|
|
22
35
|
}
|
|
23
36
|
});
|
package/bin/app/build/impl.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { DlerConfig } from "../../libs/sdk/sdk-impl/config/types.js";
|
|
|
4
4
|
* Handles building for both main project and libraries.
|
|
5
5
|
* @see `src/app/pub/impl.ts` for pub main function implementation.
|
|
6
6
|
*/
|
|
7
|
-
export declare function dlerBuild(isDev: boolean, config?: DlerConfig): Promise<{
|
|
7
|
+
export declare function dlerBuild(isDev: boolean, config?: DlerConfig, debugOnlyCopyNonBuildFiles?: boolean, debugDontCopyNonBuildFiles?: boolean): Promise<{
|
|
8
8
|
timer: any;
|
|
9
9
|
effectiveConfig: any;
|
|
10
10
|
} | undefined>;
|
package/bin/app/build/impl.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import path from "@reliverse/pathkit";
|
|
2
2
|
import fs from "@reliverse/relifso";
|
|
3
|
+
import { relinka } from "@reliverse/relinka";
|
|
3
4
|
import { getConfigDler } from "../../libs/sdk/sdk-impl/config/load.js";
|
|
4
5
|
import { library_buildFlow } from "../../libs/sdk/sdk-impl/library-flow.js";
|
|
5
6
|
import { regular_buildFlow } from "../../libs/sdk/sdk-impl/regular-flow.js";
|
|
@@ -7,9 +8,9 @@ import { removeDistFolders } from "../../libs/sdk/sdk-impl/utils/utils-clean.js"
|
|
|
7
8
|
import { PROJECT_ROOT } from "../../libs/sdk/sdk-impl/utils/utils-consts.js";
|
|
8
9
|
import { handleDlerError } from "../../libs/sdk/sdk-impl/utils/utils-error-cwd.js";
|
|
9
10
|
import { createPerfTimer } from "../../libs/sdk/sdk-impl/utils/utils-perf.js";
|
|
10
|
-
import { dlerPostBuild } from "./postbuild.js";
|
|
11
|
+
import { dlerPostBuild, wrapper_CopyNonBuildFiles } from "./postbuild.js";
|
|
11
12
|
import { dlerPreBuild } from "./prebuild.js";
|
|
12
|
-
export async function dlerBuild(isDev, config) {
|
|
13
|
+
export async function dlerBuild(isDev, config, debugOnlyCopyNonBuildFiles, debugDontCopyNonBuildFiles) {
|
|
13
14
|
const timer = createPerfTimer();
|
|
14
15
|
let effectiveConfig = config;
|
|
15
16
|
try {
|
|
@@ -25,6 +26,18 @@ export async function dlerBuild(isDev, config) {
|
|
|
25
26
|
effectiveConfig.libsDirDist,
|
|
26
27
|
effectiveConfig.libsList
|
|
27
28
|
);
|
|
29
|
+
if (debugOnlyCopyNonBuildFiles) {
|
|
30
|
+
if (debugDontCopyNonBuildFiles) {
|
|
31
|
+
relinka(
|
|
32
|
+
"error",
|
|
33
|
+
"\u{1F4DD} debugOnlyCopyNonBuildFiles and debugDontCopyNonBuildFiles cannot be used together"
|
|
34
|
+
);
|
|
35
|
+
process.exit(1);
|
|
36
|
+
}
|
|
37
|
+
await wrapper_CopyNonBuildFiles(effectiveConfig);
|
|
38
|
+
relinka("info", "\u{1F4DD} debugOnlyCopyNonBuildFiles was used, build finished, exiting...");
|
|
39
|
+
process.exit(0);
|
|
40
|
+
}
|
|
28
41
|
await dlerPreBuild(effectiveConfig);
|
|
29
42
|
const tempDirs = {
|
|
30
43
|
npm: "dist-tmp/tmp-npm",
|
|
@@ -38,8 +51,10 @@ export async function dlerBuild(isDev, config) {
|
|
|
38
51
|
};
|
|
39
52
|
await regular_buildFlow(timer, isDev, tempConfig);
|
|
40
53
|
await library_buildFlow(timer, isDev, tempConfig);
|
|
41
|
-
await dlerPostBuild(isDev);
|
|
42
|
-
|
|
54
|
+
await dlerPostBuild(isDev, debugDontCopyNonBuildFiles);
|
|
55
|
+
if (effectiveConfig.postBuildSettings?.cleanupTempDirs) {
|
|
56
|
+
await fs.remove(path.join(PROJECT_ROOT, "dist-tmp"));
|
|
57
|
+
}
|
|
43
58
|
return { timer, effectiveConfig };
|
|
44
59
|
} catch (error) {
|
|
45
60
|
handleDlerError(error);
|
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { DlerConfig } from "../../libs/sdk/sdk-mod.js";
|
|
2
|
+
export declare function dlerPostBuild(isDev: boolean, debugDontCopyNonBuildFiles?: boolean): Promise<void>;
|
|
3
|
+
export declare function wrapper_CopyNonBuildFiles(config: DlerConfig): Promise<void>;
|
|
@@ -65,10 +65,28 @@ async function copyNonBuildFiles(srcDir, distDir, preExtensions, templatesDir) {
|
|
|
65
65
|
throw error;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
export async function dlerPostBuild(isDev) {
|
|
68
|
+
export async function dlerPostBuild(isDev, debugDontCopyNonBuildFiles) {
|
|
69
69
|
relinka("info", "\u2014 \u2014 \u2014 dlerPostBuild \u2014 \u2014 \u2014");
|
|
70
70
|
const config = await getConfigDler();
|
|
71
71
|
await resolveAllCrossLibs();
|
|
72
|
+
if (!debugDontCopyNonBuildFiles) {
|
|
73
|
+
await wrapper_CopyNonBuildFiles(config);
|
|
74
|
+
}
|
|
75
|
+
if (isDev) {
|
|
76
|
+
await applyMagicSpells(["dist-jsr", "dist-npm", "dist-libs"]);
|
|
77
|
+
}
|
|
78
|
+
await processDistDirectories();
|
|
79
|
+
await executeDlerHooks(config?.hooksAfterBuild ?? [], "post-build");
|
|
80
|
+
if (config?.runAfterBuild?.length) {
|
|
81
|
+
const tools = createPostBuildToolRunner();
|
|
82
|
+
const availableTools = config.runAfterBuild.filter((toolName) => toolName in tools).map((toolName) => ({ toolName, ...tools[toolName] }));
|
|
83
|
+
for (const { name, run } of availableTools) {
|
|
84
|
+
relinka("log", `Running ${name}...`);
|
|
85
|
+
await run();
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export async function wrapper_CopyNonBuildFiles(config) {
|
|
72
90
|
if (config.commonPubRegistry === "npm" || config.commonPubRegistry === "npm-jsr") {
|
|
73
91
|
await copyNonBuildFiles(
|
|
74
92
|
path.join(PROJECT_ROOT, config.coreEntrySrcDir),
|
|
@@ -93,17 +111,4 @@ export async function dlerPostBuild(isDev) {
|
|
|
93
111
|
config.buildTemplatesDir
|
|
94
112
|
);
|
|
95
113
|
}
|
|
96
|
-
if (isDev) {
|
|
97
|
-
await applyMagicSpells(["dist-jsr", "dist-npm", "dist-libs"]);
|
|
98
|
-
}
|
|
99
|
-
await processDistDirectories();
|
|
100
|
-
await executeDlerHooks(config?.hooksAfterBuild ?? [], "post-build");
|
|
101
|
-
if (config?.runAfterBuild?.length) {
|
|
102
|
-
const tools = createPostBuildToolRunner();
|
|
103
|
-
const availableTools = config.runAfterBuild.filter((toolName) => toolName in tools).map((toolName) => ({ toolName, ...tools[toolName] }));
|
|
104
|
-
for (const { name, run } of availableTools) {
|
|
105
|
-
relinka("log", `Running ${name}...`);
|
|
106
|
-
await run();
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
114
|
}
|
|
@@ -69,7 +69,13 @@ export const DEFAULT_CONFIG_DLER = {
|
|
|
69
69
|
"dist-jsr": [],
|
|
70
70
|
"dist-npm": [],
|
|
71
71
|
"dist-libs": {}
|
|
72
|
-
}
|
|
72
|
+
},
|
|
73
|
+
// Files with these extensions will be built
|
|
74
|
+
// Any other files will be copied as-is to dist
|
|
75
|
+
buildPreExtensions: ["ts", "js"],
|
|
76
|
+
// If you need to exclude some ts/js files from being built,
|
|
77
|
+
// you can store them in the dirs with buildTemplatesDir name
|
|
78
|
+
buildTemplatesDir: "templates"
|
|
73
79
|
};
|
|
74
80
|
export const defineConfigDler = (userConfig = {}) => {
|
|
75
81
|
return { ...DEFAULT_CONFIG_DLER, ...userConfig };
|
|
@@ -315,7 +315,7 @@ export interface DlerConfig {
|
|
|
315
315
|
runBeforeBuild: ("tsc" | "eslint" | "biome" | "knip" | "dler-check")[];
|
|
316
316
|
/**
|
|
317
317
|
* List of tools to run after the build process completes.
|
|
318
|
-
*
|
|
318
|
+
* Available options: "dler-check"
|
|
319
319
|
* Each tool will only run if it's installed in the system.
|
|
320
320
|
*
|
|
321
321
|
* @default []
|
|
@@ -476,6 +476,27 @@ export interface DlerConfig {
|
|
|
476
476
|
npm: string[];
|
|
477
477
|
}>;
|
|
478
478
|
};
|
|
479
|
+
/**
|
|
480
|
+
* File extensions that should be copied to temporary build directories during pre-build.
|
|
481
|
+
* These files will be processed by the bundlers.
|
|
482
|
+
* All other files will be copied as-is to final dist directories during post-build.
|
|
483
|
+
* @default ["ts", "js"]
|
|
484
|
+
*/
|
|
485
|
+
buildPreExtensions: string[];
|
|
486
|
+
/**
|
|
487
|
+
* Directory name for templates that should be excluded from pre-build processing.
|
|
488
|
+
* Files in this directory will be copied as-is during post-build.
|
|
489
|
+
* @default "templates"
|
|
490
|
+
*/
|
|
491
|
+
buildTemplatesDir: string;
|
|
492
|
+
/**
|
|
493
|
+
* When `true`, cleans up the temporary directories after the build process completes.
|
|
494
|
+
*
|
|
495
|
+
* @default true
|
|
496
|
+
*/
|
|
497
|
+
postBuildSettings: {
|
|
498
|
+
cleanupTempDirs: boolean;
|
|
499
|
+
};
|
|
479
500
|
}
|
|
480
501
|
export type BumpMode = "patch" | "minor" | "major" | "auto" | "manual";
|
|
481
502
|
/**
|
|
@@ -12,9 +12,9 @@ export declare const defineConfigRse: (userConfig?: Partial<RseConfig>) => {
|
|
|
12
12
|
projectDeployService?: "none" | "vercel" | "netlify" | "railway" | "deno" | undefined;
|
|
13
13
|
projectPackageManager?: "npm" | "bun" | "yarn" | "pnpm" | undefined;
|
|
14
14
|
projectState?: "created" | "creating" | undefined;
|
|
15
|
-
projectCategory?: "
|
|
15
|
+
projectCategory?: "cli" | "unknown" | "website" | "vscode" | "browser" | "library" | "mobile" | undefined;
|
|
16
16
|
projectSubcategory?: "unknown" | "e-commerce" | "tool" | undefined;
|
|
17
|
-
projectFramework?: "rempts" | "npm-jsr" | "unknown" | "vscode" | "nextjs" | "vite" | "svelte" | "remix" | "astro" | "nuxt" | "solid" | "qwik" | "
|
|
17
|
+
projectFramework?: "rempts" | "vue" | "npm-jsr" | "unknown" | "vscode" | "nextjs" | "vite" | "svelte" | "remix" | "astro" | "nuxt" | "solid" | "qwik" | "wxt" | "lynx" | "react-native" | "expo" | "capacitor" | "ionic" | "electron" | "tauri" | "neutralino" | "citty" | "commander" | "cac" | "meow" | "yargs" | "webextension" | "browser-extension" | undefined;
|
|
18
18
|
projectTemplate?: "unknown" | "blefnk/relivator-nextjs-template" | "blefnk/relivator-docker-template" | "blefnk/next-react-ts-src-minimal" | "blefnk/all-in-one-nextjs-template" | "blefnk/create-t3-app" | "blefnk/create-next-app" | "blefnk/astro-starlight-template" | "blefnk/versator-nextjs-template" | "blefnk/relivator-lynxjs-template" | "blefnk/relivator-react-native-template" | "reliverse/template-browser-extension" | "microsoft/vscode-extension-samples" | "microsoft/vscode-extension-template" | "rsetarter-template" | "blefnk/deno-cli-tutorial" | undefined;
|
|
19
19
|
projectTemplateDate?: string | undefined;
|
|
20
20
|
features?: {
|
|
@@ -41,7 +41,7 @@ export declare const defineConfigRse: (userConfig?: Partial<RseConfig>) => {
|
|
|
41
41
|
testing?: "bun" | "unknown" | "vitest" | "jest" | "playwright" | "cypress" | undefined;
|
|
42
42
|
stateManagement?: "unknown" | "zustand" | "jotai" | "redux-toolkit" | undefined;
|
|
43
43
|
formManagement?: "unknown" | "react-hook-form" | "formik" | undefined;
|
|
44
|
-
styling?: "unknown" | "tailwind" | "styled-components" | "css-modules" |
|
|
44
|
+
styling?: "sass" | "unknown" | "tailwind" | "styled-components" | "css-modules" | undefined;
|
|
45
45
|
uiComponents?: "unknown" | "shadcn-ui" | "chakra-ui" | "material-ui" | undefined;
|
|
46
46
|
databaseLibrary?: "unknown" | "drizzle" | "prisma" | "supabase" | undefined;
|
|
47
47
|
databaseProvider?: "unknown" | "pg" | "mysql" | "sqlite" | "mongodb" | undefined;
|
|
@@ -68,8 +68,11 @@ export const DEFAULT_CONFIG_DLER = {
|
|
|
68
68
|
"dist-npm": [],
|
|
69
69
|
"dist-libs": {}
|
|
70
70
|
},
|
|
71
|
-
//
|
|
71
|
+
// Files with these extensions will be built
|
|
72
|
+
// Any other files will be copied as-is to dist
|
|
72
73
|
buildPreExtensions: ["ts", "js"],
|
|
74
|
+
// If you need to exclude some ts/js files from being built,
|
|
75
|
+
// you can store them in the dirs with buildTemplatesDir name
|
|
73
76
|
buildTemplatesDir: "templates"
|
|
74
77
|
};
|
|
75
78
|
export const defineConfigDler = (userConfig = {}) => {
|
|
@@ -218,12 +218,21 @@ function generateConfig(isDev, pkgDescription) {
|
|
|
218
218
|
' // - dist-jsr,dist-libs/jsr: ["jsr.json"]',
|
|
219
219
|
" publishArtifacts: " + getPublishArtifacts(isDev) + ",",
|
|
220
220
|
"",
|
|
221
|
+
" // Files with these extensions will be built",
|
|
222
|
+
" // Any other files will be copied as-is to dist",
|
|
223
|
+
' buildPreExtensions: ["ts", "js"],',
|
|
224
|
+
" // If you need to exclude some ts/js files from being built,",
|
|
225
|
+
" // you can store them in the dirs with buildTemplatesDir name",
|
|
226
|
+
' buildTemplatesDir: "templates",',
|
|
227
|
+
"",
|
|
221
228
|
" // Dependency filtering",
|
|
222
229
|
" // Global is always applied",
|
|
223
230
|
" filterDepsPatterns: " + getFilterDepsPatterns(isDev) + ",",
|
|
224
231
|
"",
|
|
225
232
|
" // Code quality tools",
|
|
233
|
+
" // Available: tsc, eslint, biome, knip, dler-check",
|
|
226
234
|
" runBeforeBuild: [],",
|
|
235
|
+
" // Available: dler-check",
|
|
227
236
|
" runAfterBuild: [],",
|
|
228
237
|
"",
|
|
229
238
|
" // Build hooks",
|
|
@@ -489,6 +489,14 @@ export interface DlerConfig {
|
|
|
489
489
|
* @default "templates"
|
|
490
490
|
*/
|
|
491
491
|
buildTemplatesDir: string;
|
|
492
|
+
/**
|
|
493
|
+
* When `true`, cleans up the temporary directories after the build process completes.
|
|
494
|
+
*
|
|
495
|
+
* @default true
|
|
496
|
+
*/
|
|
497
|
+
postBuildSettings: {
|
|
498
|
+
cleanupTempDirs: boolean;
|
|
499
|
+
};
|
|
492
500
|
}
|
|
493
501
|
export type BumpMode = "patch" | "minor" | "major" | "auto" | "manual";
|
|
494
502
|
/**
|