jiek 1.1.13 → 2.0.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.
@@ -0,0 +1,91 @@
1
+ import * as _rollup_plugin_terser from '@rollup/plugin-terser';
2
+ import * as rollup_plugin_swc3 from 'rollup-plugin-swc3';
3
+ import * as rollup_plugin_esbuild from 'rollup-plugin-esbuild';
4
+ import { InputPluginOption, OutputOptions } from 'rollup';
5
+
6
+ type Mapping2ROO<K extends keyof OutputOptions> = OutputOptions[K] | {
7
+ js?: OutputOptions[K];
8
+ dts?: OutputOptions[K];
9
+ };
10
+ interface ConfigGenerateContext {
11
+ path: string;
12
+ name: string;
13
+ input: string;
14
+ output: string;
15
+ external: (string | RegExp)[];
16
+ pkgIsModule: boolean;
17
+ conditionals: string[];
18
+ }
19
+ type OutputControl = boolean | ((context: ConfigGenerateContext) => boolean);
20
+ declare const BUILDER_TYPES: readonly ["esbuild", "swc"];
21
+ interface TemplateOptions {
22
+ /**
23
+ * When the user configures type: module, the generated output from entry points that don't
24
+ * have cts as a suffix will automatically include the CJS version.
25
+ * if it is not configured, and the generated output from entry points that do not have mts
26
+ * as a suffix will automatically include the ESM version.
27
+ *
28
+ * @default true
29
+ */
30
+ crossModuleConvertor?: boolean;
31
+ /**
32
+ * Auto-detect the builder from the installed dependencies.
33
+ * If the builder is not installed, it will prompt the user to install it.
34
+ * If exists multiple builders, it will fall back to the 'esbuild'.
35
+ *
36
+ * @default 'esbuild'
37
+ */
38
+ builder?: typeof BUILDER_TYPES[number] | ({
39
+ type: 'esbuild';
40
+ } & rollup_plugin_esbuild.Options) | ({
41
+ type: 'swc';
42
+ } & rollup_plugin_swc3.PluginOptions);
43
+ output?: {
44
+ /**
45
+ * @default true
46
+ *
47
+ * When minify is set to true, the output will with minified files.
48
+ * When minify is set to 'only-minify', the output will direct output minified files.
49
+ */
50
+ minify?: boolean | 'only-minify';
51
+ minifyOptions?: typeof BUILDER_TYPES[number] | 'terser' | ({
52
+ type: 'terser';
53
+ } & _rollup_plugin_terser.Options) | ({
54
+ type: 'esbuild';
55
+ } & Parameters<typeof rollup_plugin_esbuild.minify>[0]) | ({
56
+ type: 'swc';
57
+ } & Parameters<typeof rollup_plugin_swc3.minify>[0]);
58
+ /**
59
+ * @default 'dist'
60
+ */
61
+ dir?: Mapping2ROO<'dir'>;
62
+ sourcemap?: Mapping2ROO<'sourcemap'>;
63
+ strict?: Mapping2ROO<'strict'>;
64
+ js?: OutputControl;
65
+ dts?: OutputControl;
66
+ };
67
+ /**
68
+ * Set the external dependencies of the package.
69
+ */
70
+ external?: (string | RegExp)[];
71
+ plugins?: InputPluginOption | ((type: 'js' | 'dts', context: ConfigGenerateContext) => InputPluginOption) | {
72
+ js: InputPluginOption;
73
+ dts?: InputPluginOption;
74
+ } | {
75
+ js?: InputPluginOption;
76
+ dts: InputPluginOption;
77
+ };
78
+ }
79
+
80
+ declare module 'jiek' {
81
+ interface Config {
82
+ build?: TemplateOptions & {
83
+ /**
84
+ * Whether to run in silent mode, only active when configured in the workspace root or cwd.
85
+ *
86
+ * @default false
87
+ */
88
+ silent?: boolean;
89
+ };
90
+ }
91
+ }
@@ -0,0 +1,91 @@
1
+ import * as _rollup_plugin_terser from '@rollup/plugin-terser';
2
+ import * as rollup_plugin_swc3 from 'rollup-plugin-swc3';
3
+ import * as rollup_plugin_esbuild from 'rollup-plugin-esbuild';
4
+ import { InputPluginOption, OutputOptions } from 'rollup';
5
+
6
+ type Mapping2ROO<K extends keyof OutputOptions> = OutputOptions[K] | {
7
+ js?: OutputOptions[K];
8
+ dts?: OutputOptions[K];
9
+ };
10
+ interface ConfigGenerateContext {
11
+ path: string;
12
+ name: string;
13
+ input: string;
14
+ output: string;
15
+ external: (string | RegExp)[];
16
+ pkgIsModule: boolean;
17
+ conditionals: string[];
18
+ }
19
+ type OutputControl = boolean | ((context: ConfigGenerateContext) => boolean);
20
+ declare const BUILDER_TYPES: readonly ["esbuild", "swc"];
21
+ interface TemplateOptions {
22
+ /**
23
+ * When the user configures type: module, the generated output from entry points that don't
24
+ * have cts as a suffix will automatically include the CJS version.
25
+ * if it is not configured, and the generated output from entry points that do not have mts
26
+ * as a suffix will automatically include the ESM version.
27
+ *
28
+ * @default true
29
+ */
30
+ crossModuleConvertor?: boolean;
31
+ /**
32
+ * Auto-detect the builder from the installed dependencies.
33
+ * If the builder is not installed, it will prompt the user to install it.
34
+ * If exists multiple builders, it will fall back to the 'esbuild'.
35
+ *
36
+ * @default 'esbuild'
37
+ */
38
+ builder?: typeof BUILDER_TYPES[number] | ({
39
+ type: 'esbuild';
40
+ } & rollup_plugin_esbuild.Options) | ({
41
+ type: 'swc';
42
+ } & rollup_plugin_swc3.PluginOptions);
43
+ output?: {
44
+ /**
45
+ * @default true
46
+ *
47
+ * When minify is set to true, the output will with minified files.
48
+ * When minify is set to 'only-minify', the output will direct output minified files.
49
+ */
50
+ minify?: boolean | 'only-minify';
51
+ minifyOptions?: typeof BUILDER_TYPES[number] | 'terser' | ({
52
+ type: 'terser';
53
+ } & _rollup_plugin_terser.Options) | ({
54
+ type: 'esbuild';
55
+ } & Parameters<typeof rollup_plugin_esbuild.minify>[0]) | ({
56
+ type: 'swc';
57
+ } & Parameters<typeof rollup_plugin_swc3.minify>[0]);
58
+ /**
59
+ * @default 'dist'
60
+ */
61
+ dir?: Mapping2ROO<'dir'>;
62
+ sourcemap?: Mapping2ROO<'sourcemap'>;
63
+ strict?: Mapping2ROO<'strict'>;
64
+ js?: OutputControl;
65
+ dts?: OutputControl;
66
+ };
67
+ /**
68
+ * Set the external dependencies of the package.
69
+ */
70
+ external?: (string | RegExp)[];
71
+ plugins?: InputPluginOption | ((type: 'js' | 'dts', context: ConfigGenerateContext) => InputPluginOption) | {
72
+ js: InputPluginOption;
73
+ dts?: InputPluginOption;
74
+ } | {
75
+ js?: InputPluginOption;
76
+ dts: InputPluginOption;
77
+ };
78
+ }
79
+
80
+ declare module 'jiek' {
81
+ interface Config {
82
+ build?: TemplateOptions & {
83
+ /**
84
+ * Whether to run in silent mode, only active when configured in the workspace root or cwd.
85
+ *
86
+ * @default false
87
+ */
88
+ silent?: boolean;
89
+ };
90
+ }
91
+ }