@granite-js/plugin-core 0.1.31 → 0.1.32

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/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @granite-js/plugin-core
2
2
 
3
+ ## 0.1.32
4
+
5
+ ### Patch Changes
6
+
7
+ - 7572713: bump version up babel
8
+ - @granite-js/utils@0.1.32
9
+
3
10
  ## 0.1.31
4
11
 
5
12
  ### Patch Changes
package/dist/index.cjs CHANGED
@@ -21,13 +21,16 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
21
21
  }) : target, mod));
22
22
 
23
23
  //#endregion
24
- const es_toolkit = __toESM(require("es-toolkit"));
25
- const path = __toESM(require("path"));
26
- const __granite_js_utils = __toESM(require("@granite-js/utils"));
27
- const fs = __toESM(require("fs"));
28
- const zod = __toESM(require("zod"));
29
- const cosmiconfig = __toESM(require("cosmiconfig"));
30
- const cosmiconfig_typescript_loader = __toESM(require("cosmiconfig-typescript-loader"));
24
+ let es_toolkit = require("es-toolkit");
25
+ let path = require("path");
26
+ path = __toESM(path);
27
+ let __granite_js_utils = require("@granite-js/utils");
28
+ let fs = require("fs");
29
+ fs = __toESM(fs);
30
+ let zod = require("zod");
31
+ zod = __toESM(zod);
32
+ let cosmiconfig = require("cosmiconfig");
33
+ let cosmiconfig_typescript_loader = require("cosmiconfig-typescript-loader");
31
34
 
32
35
  //#region src/createContext.ts
33
36
  function createContext() {
@@ -37,22 +40,15 @@ function createContext() {
37
40
  //#endregion
38
41
  //#region src/utils/flattenPlugins.ts
39
42
  const flattenPlugins = async (plugin) => {
40
- if (Array.isArray(plugin)) {
41
- const flattened = await Promise.all(plugin.map(async (p) => {
42
- if (p instanceof Promise) {
43
- const resolved$1 = await p;
44
- if (Array.isArray(resolved$1)) {
45
- const nested = await Promise.all(resolved$1.map(flattenPlugins));
46
- return nested.flat();
47
- }
48
- return flattenPlugins(resolved$1);
49
- }
50
- return flattenPlugins(p);
51
- }));
52
- return flattened.flat();
53
- }
54
- const resolved = await plugin;
55
- return [resolved];
43
+ if (Array.isArray(plugin)) return (await Promise.all(plugin.map(async (p) => {
44
+ if (p instanceof Promise) {
45
+ const resolved = await p;
46
+ if (Array.isArray(resolved)) return (await Promise.all(resolved.map(flattenPlugins))).flat();
47
+ return flattenPlugins(resolved);
48
+ }
49
+ return flattenPlugins(p);
50
+ }))).flat();
51
+ return [await plugin];
56
52
  };
57
53
 
58
54
  //#endregion
@@ -78,7 +74,7 @@ async function resolvePlugins(plugins) {
78
74
  //#endregion
79
75
  //#region src/utils/mergeBabel.ts
80
76
  function mergeBabel(source, target) {
81
- if (!(source || target)) return void 0;
77
+ if (!(source || target)) return;
82
78
  if (source == null) return target;
83
79
  if (target == null) return source;
84
80
  return {
@@ -93,7 +89,7 @@ function mergeBabel(source, target) {
93
89
  //#endregion
94
90
  //#region src/utils/mergeDevServer.ts
95
91
  function mergeDevServer(source, target) {
96
- if (!(source || target)) return void 0;
92
+ if (!(source || target)) return;
97
93
  if (source == null) return target;
98
94
  if (target == null) return source;
99
95
  return {
@@ -106,7 +102,7 @@ function mergeDevServer(source, target) {
106
102
  //#endregion
107
103
  //#region src/utils/mergeEsbuild.ts
108
104
  function mergeEsbuild(source, target) {
109
- if (!(source || target)) return void 0;
105
+ if (!(source || target)) return;
110
106
  if (source == null) return target;
111
107
  if (target == null) return source;
112
108
  return {
@@ -130,7 +126,7 @@ function mergeBanners(baseBanner, overrideBanner) {
130
126
  //#endregion
131
127
  //#region src/utils/mergeExtra.ts
132
128
  function mergeExtra(source, target) {
133
- if (!(source || target)) return void 0;
129
+ if (!(source || target)) return;
134
130
  if (source == null) return target;
135
131
  if (target == null) return source;
136
132
  return {
@@ -142,7 +138,7 @@ function mergeExtra(source, target) {
142
138
  //#endregion
143
139
  //#region src/utils/mergeMetro.ts
144
140
  function mergeMetro(source, target) {
145
- if (!(source || target)) return void 0;
141
+ if (!(source || target)) return;
146
142
  if (source == null) return target;
147
143
  if (target == null) return source;
148
144
  return {
@@ -155,7 +151,7 @@ function mergeMetro(source, target) {
155
151
  };
156
152
  }
157
153
  function mergeResolver$1(source, target) {
158
- if (!(source || target)) return void 0;
154
+ if (!(source || target)) return;
159
155
  if (source == null) return target;
160
156
  if (target == null) return source;
161
157
  return {
@@ -165,7 +161,7 @@ function mergeResolver$1(source, target) {
165
161
  };
166
162
  }
167
163
  function mergeSerializer(source, target) {
168
- if (!(source || target)) return void 0;
164
+ if (!(source || target)) return;
169
165
  if (source == null) return target;
170
166
  if (target == null) return source;
171
167
  return {
@@ -175,7 +171,7 @@ function mergeSerializer(source, target) {
175
171
  };
176
172
  }
177
173
  function mergeReporter(source, target) {
178
- if (!(source || target)) return void 0;
174
+ if (!(source || target)) return;
179
175
  if (source == null) return target;
180
176
  if (target == null) return source;
181
177
  return { update: (event) => {
@@ -187,7 +183,7 @@ function mergeReporter(source, target) {
187
183
  //#endregion
188
184
  //#region src/utils/mergeResolver.ts
189
185
  function mergeResolver(source, target) {
190
- if (!(source || target)) return void 0;
186
+ if (!(source || target)) return;
191
187
  if (source == null) return target;
192
188
  if (target == null) return source;
193
189
  return {
@@ -202,7 +198,7 @@ function mergeResolver(source, target) {
202
198
  //#endregion
203
199
  //#region src/utils/mergeSwc.ts
204
200
  function mergeSwc(source, target) {
205
- if (!(source || target)) return void 0;
201
+ if (!(source || target)) return;
206
202
  if (source == null) return target;
207
203
  if (target == null) return source;
208
204
  return {
@@ -215,7 +211,7 @@ function mergeSwc(source, target) {
215
211
  //#endregion
216
212
  //#region src/utils/mergeTransformer.ts
217
213
  function mergeTransformer(source, target) {
218
- if (!(source || target)) return void 0;
214
+ if (!(source || target)) return;
219
215
  if (source == null) return target;
220
216
  if (target == null) return source;
221
217
  let transformSync;
@@ -247,7 +243,7 @@ function mergeTransformer(source, target) {
247
243
  //#endregion
248
244
  //#region src/utils/mergeConfig.ts
249
245
  async function mergeConfig(base, ...configs) {
250
- if (!(base || configs.length)) return void 0;
246
+ if (!(base || configs.length)) return;
251
247
  return configs.reduce(async (acc, curr) => {
252
248
  const [resolvedAcc, resolvedCurr] = await Promise.all([acc, resolveDynamicConfig(curr)]);
253
249
  return {
@@ -272,7 +268,7 @@ async function resolveDynamicConfig(config) {
272
268
  //#endregion
273
269
  //#region src/utils/mergeBuildConfigs.ts
274
270
  function mergeBuildConfigs(baseConfig, ...otherConfigs) {
275
- const mergedConfig = otherConfigs.reduce((acc, curr) => ({
271
+ return otherConfigs.reduce((acc, curr) => ({
276
272
  entry: acc.entry ?? curr.entry,
277
273
  outfile: acc.outfile ?? curr.outfile,
278
274
  platform: acc.platform ?? curr.platform,
@@ -283,7 +279,6 @@ function mergeBuildConfigs(baseConfig, ...otherConfigs) {
283
279
  babel: mergeBabel(acc.babel, curr.babel),
284
280
  extra: mergeExtra(acc.extra, curr.extra)
285
281
  }), baseConfig);
286
- return mergedConfig;
287
282
  }
288
283
 
289
284
  //#endregion
@@ -326,9 +321,7 @@ function createPluginHooksDriver(config) {
326
321
  };
327
322
  }
328
323
  function createPluginContext() {
329
- const meta = Object.create(null);
330
- const context = { meta };
331
- return context;
324
+ return { meta: Object.create(null) };
332
325
  }
333
326
 
334
327
  //#endregion
@@ -347,19 +340,17 @@ async function resolveConfig(config) {
347
340
  const [base, ...rest] = config.pluginConfigs;
348
341
  if (base == null) return EMPTY_CONFIG;
349
342
  const mergedConfig = await mergeConfig(base, ...rest) ?? EMPTY_CONFIG;
350
- const resolvedConfig = {
343
+ return {
351
344
  ...mergedConfig,
352
345
  metro: resolveMetroConfig(mergedConfig)
353
346
  };
354
- return resolvedConfig;
355
347
  }
356
348
  /**
357
349
  * Injects the some config into the metro config to ensure compatibility with the plugin config.
358
350
  */
359
351
  function resolveMetroConfig(pluginConfig) {
360
- const metroConfig = pluginConfig.metro ?? {};
361
352
  return {
362
- ...metroConfig,
353
+ ...pluginConfig.metro ?? {},
363
354
  babelConfig: pluginConfig.babel,
364
355
  transformSync: pluginConfig?.transformer?.transformSync
365
356
  };
@@ -470,12 +461,6 @@ const defineConfig = async (config) => {
470
461
  metro: parsedMetroConfig
471
462
  };
472
463
  const { configs, pluginHooks } = await resolvePlugins(parsed.plugins);
473
- const globalsScriptConfig = prepareGraniteGlobalsScript({
474
- rootDir: cwd,
475
- appName,
476
- scheme,
477
- host
478
- });
479
464
  return {
480
465
  cwd,
481
466
  appName,
@@ -484,7 +469,12 @@ const defineConfig = async (config) => {
484
469
  pluginHooks,
485
470
  pluginConfigs: [
486
471
  parsedConfig,
487
- globalsScriptConfig,
472
+ prepareGraniteGlobalsScript({
473
+ rootDir: cwd,
474
+ appName,
475
+ scheme,
476
+ host
477
+ }),
488
478
  ...configs
489
479
  ].filter(es_toolkit.isNotNil)
490
480
  };
@@ -504,8 +494,7 @@ const loadConfig = async (options = {}) => {
504
494
  `${MODULE_NAME}.config.cjs`
505
495
  ] }).search(resolveRoot);
506
496
  (0, es_toolkit.assert)(result, "Config file not found");
507
- const config = await result.config;
508
- return config;
497
+ return await result.config;
509
498
  };
510
499
  function getConfigExplorer(options) {
511
500
  return (0, cosmiconfig.cosmiconfig)(MODULE_NAME, {
package/dist/index.d.cts CHANGED
@@ -1,5 +1,4 @@
1
1
  import * as swc from "@swc/core";
2
- import * as esbuild$1 from "esbuild";
3
2
  import * as esbuild from "esbuild";
4
3
  import { HandleFunction } from "connect";
5
4
  import { FastifyPluginAsync, FastifyPluginCallback } from "fastify";
@@ -85,7 +84,7 @@ interface ResolverConfig {
85
84
  */
86
85
  protocols?: ProtocolConfig;
87
86
  }
88
- interface AliasConfig extends Pick<esbuild$1.ResolveOptions, 'importer' | 'kind' | 'resolveDir' | 'with'> {
87
+ interface AliasConfig extends Pick<esbuild.ResolveOptions, 'importer' | 'kind' | 'resolveDir' | 'with'> {
89
88
  /**
90
89
  * Replacement target module path
91
90
  */
@@ -122,12 +121,12 @@ interface AliasConfig extends Pick<esbuild$1.ResolveOptions, 'importer' | 'kind'
122
121
  exact?: boolean;
123
122
  }
124
123
  type ResolveResult = string | ResolveResultWithOptions;
125
- interface ResolveResultWithOptions extends Omit<esbuild$1.ResolveOptions, 'pluginName' | 'pluginData'> {
124
+ interface ResolveResultWithOptions extends Omit<esbuild.ResolveOptions, 'pluginName' | 'pluginData'> {
126
125
  path: string;
127
126
  }
128
127
  type AliasResolver = (context: {
129
- args: esbuild$1.OnResolveArgs;
130
- resolve: esbuild$1.PluginBuild['resolve'];
128
+ args: esbuild.OnResolveArgs;
129
+ resolve: esbuild.PluginBuild['resolve'];
131
130
  }) => ResolveResult | Promise<ResolveResult>;
132
131
  /**
133
132
  * Custom protocol resolve configuration
@@ -161,11 +160,11 @@ interface ProtocolConfig {
161
160
  /**
162
161
  * Module path to resolve
163
162
  */
164
- resolve?: (args: esbuild$1.OnResolveArgs) => string | Promise<string>;
163
+ resolve?: (args: esbuild.OnResolveArgs) => string | Promise<string>;
165
164
  /**
166
165
  * Return module code based on the resolved path
167
166
  */
168
- load: (args: esbuild$1.OnLoadArgs) => esbuild$1.OnLoadResult | Promise<esbuild$1.OnLoadResult>;
167
+ load: (args: esbuild.OnLoadArgs) => esbuild.OnLoadResult | Promise<esbuild.OnLoadResult>;
169
168
  };
170
169
  }
171
170
  interface TransformerConfig {
@@ -174,7 +173,7 @@ interface TransformerConfig {
174
173
  }
175
174
  type TransformSync = (id: string, code: string) => string;
176
175
  type TransformAsync = (id: string, code: string) => Promise<string>;
177
- interface EsbuildConfig extends esbuild$1.BuildOptions {
176
+ interface EsbuildConfig extends esbuild.BuildOptions {
178
177
  /**
179
178
  * Script path to inject at the entry point
180
179
  *
@@ -205,7 +204,8 @@ interface BabelConfig {
205
204
  configFile?: string;
206
205
  presets?: string[];
207
206
  plugins?: (string | [string, any])[];
208
- } //#endregion
207
+ }
208
+ //#endregion
209
209
  //#region src/types/BuildResult.d.ts
210
210
  type BuildResult = BuildSuccessResult | BuildFailureResult;
211
211
  interface BuildSuccessResult extends esbuild.BuildResult {
@@ -227,7 +227,6 @@ interface BundleData {
227
227
  source: esbuild.OutputFile;
228
228
  sourcemap: esbuild.OutputFile;
229
229
  }
230
-
231
230
  //#endregion
232
231
  //#region src/types/DevServerConfig.d.ts
233
232
  type Middleware = FastifyPluginAsync | FastifyPluginCallback;
@@ -262,7 +261,6 @@ interface MetroDevServerConfig {
262
261
  middlewares?: MetroMiddleware[];
263
262
  inspectorProxy?: InspectorProxyConfig;
264
263
  }
265
-
266
264
  //#endregion
267
265
  //#region src/types/vendors/metro.d.ts
268
266
  type Untyped = any;
@@ -462,7 +460,6 @@ interface MetroConfig {
462
460
  update: (event: ReportableEvent) => void;
463
461
  };
464
462
  }
465
-
466
463
  //#endregion
467
464
  //#region src/types/MetroConfig.d.ts
468
465
  interface AdditionalMetroConfig extends MetroConfig {
@@ -491,7 +488,6 @@ interface AdditionalMetroConfig extends MetroConfig {
491
488
  transformSync?: (id: string, code: string) => string;
492
489
  projectRoot?: MetroConfig['projectRoot'];
493
490
  }
494
-
495
491
  //#endregion
496
492
  //#region src/types/GranitePlugin.d.ts
497
493
  interface GranitePluginConfig {
@@ -560,15 +556,12 @@ type PluginResolvable = GranitePlugin | GranitePluginCore | Promise<GranitePlugi
560
556
  type PluginInput = PluginResolvable | PluginInput[];
561
557
  type PluginBuildConfig = Omit<BuildConfig, 'platform' | 'entry' | 'outfile'>;
562
558
  type GranitePlugin = GranitePluginCore | Promise<GranitePluginCore>;
563
-
564
559
  //#endregion
565
560
  //#region src/createContext.d.ts
566
561
  declare function createContext(): PluginContext;
567
-
568
562
  //#endregion
569
563
  //#region src/utils/flattenPlugins.d.ts
570
564
  declare const flattenPlugins: (plugin: PluginInput) => Promise<GranitePluginCore[]>;
571
-
572
565
  //#endregion
573
566
  //#region src/utils/resolvePlugins.d.ts
574
567
  declare function resolvePlugins(plugins: PluginInput): Promise<{
@@ -585,15 +578,12 @@ declare function resolvePlugins(plugins: PluginInput): Promise<{
585
578
  };
586
579
  };
587
580
  }>;
588
-
589
581
  //#endregion
590
582
  //#region src/utils/mergeConfig.d.ts
591
583
  declare function mergeConfig(base: PluginConfig, ...configs: PluginConfig[]): Promise<StaticPluginConfig | undefined>;
592
-
593
584
  //#endregion
594
585
  //#region src/utils/mergeBuildConfigs.d.ts
595
586
  declare function mergeBuildConfigs(baseConfig: BuildConfig, ...otherConfigs: Partial<BuildConfig>[]): BuildConfig;
596
-
597
587
  //#endregion
598
588
  //#region src/schema/pluginConfig.d.ts
599
589
  declare const pluginConfigSchema: z.ZodObject<{
@@ -628,7 +618,6 @@ interface GranitePluginHooks {
628
618
  postHandlers: GranitePluginBuildPostHandler[];
629
619
  };
630
620
  }
631
-
632
621
  //#endregion
633
622
  //#region src/utils/createPluginHooksDriver.d.ts
634
623
  declare function createPluginHooksDriver(config: CompleteGraniteConfig): {
@@ -642,16 +631,13 @@ declare function createPluginHooksDriver(config: CompleteGraniteConfig): {
642
631
  };
643
632
  };
644
633
  declare function createPluginContext(): PluginContext;
645
-
646
634
  //#endregion
647
635
  //#region src/utils/buildResult.d.ts
648
636
  declare function isBuildSuccess(result: BuildResult): result is BuildSuccessResult;
649
637
  declare function isBuildFailure(result: BuildResult): result is BuildFailureResult;
650
-
651
638
  //#endregion
652
639
  //#region src/utils/resolveConfig.d.ts
653
640
  declare function resolveConfig(config: CompleteGraniteConfig): Promise<ResolvedPluginConfig>;
654
-
655
641
  //#endregion
656
642
  //#region src/config/defineConfig.d.ts
657
643
  /**
@@ -706,7 +692,6 @@ declare function resolveConfig(config: CompleteGraniteConfig): Promise<ResolvedP
706
692
  * ```
707
693
  */
708
694
  declare const defineConfig: (config: GraniteConfig) => Promise<CompleteGraniteConfig>;
709
-
710
695
  //#endregion
711
696
  //#region src/config/loadConfig.d.ts
712
697
  interface LoadConfigOptions {
@@ -725,6 +710,5 @@ interface LoadConfigOptions {
725
710
  configFile?: string;
726
711
  }
727
712
  declare const loadConfig: (options?: LoadConfigOptions) => Promise<CompleteGraniteConfig>;
728
-
729
713
  //#endregion
730
714
  export { AdditionalMetroConfig, AliasConfig, AliasResolver, BabelConfig, BuildConfig, BuildFailureResult, BuildResult, BuildSuccessResult, BundleData, CompleteGraniteConfig, DevServerConfig, DynamicPluginConfig, EsbuildConfig, GraniteConfig, GranitePlugin, GranitePluginBuildPostHandler, GranitePluginBuildPreHandler, GranitePluginConfig, GranitePluginCore, GranitePluginDevHandlerArgs, GranitePluginDevPostHandler, GranitePluginDevPreHandler, GranitePluginHooks, GranitePluginPostHandlerArgs, GranitePluginPreHandlerArgs, InspectorProxyConfig, MetroDevServerConfig, MetroMiddleware, ResolutionContext as MetroResolutionContext, Middleware, ParsedGraniteConfig, PluginBuildConfig, PluginConfig, PluginContext, PluginInput, PluginMetroConfig, PluginResolvable, ProtocolConfig, ResolveResult, ResolveResultWithOptions, ResolvedMetroConfig, ResolvedPluginConfig, ResolverConfig, StaticPluginConfig, SwcConfig, TransformAsync, TransformSync, TransformerConfig, createContext, createPluginContext, createPluginHooksDriver, defineConfig, flattenPlugins, isBuildFailure, isBuildSuccess, loadConfig, mergeBuildConfigs, mergeConfig, pluginConfigSchema, resolveConfig, resolvePlugins };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import * as z from "zod";
2
2
  import * as swc from "@swc/core";
3
- import * as esbuild$1 from "esbuild";
4
3
  import * as esbuild from "esbuild";
5
4
  import { HandleFunction } from "connect";
6
5
  import { FastifyPluginAsync, FastifyPluginCallback } from "fastify";
@@ -85,7 +84,7 @@ interface ResolverConfig {
85
84
  */
86
85
  protocols?: ProtocolConfig;
87
86
  }
88
- interface AliasConfig extends Pick<esbuild$1.ResolveOptions, 'importer' | 'kind' | 'resolveDir' | 'with'> {
87
+ interface AliasConfig extends Pick<esbuild.ResolveOptions, 'importer' | 'kind' | 'resolveDir' | 'with'> {
89
88
  /**
90
89
  * Replacement target module path
91
90
  */
@@ -122,12 +121,12 @@ interface AliasConfig extends Pick<esbuild$1.ResolveOptions, 'importer' | 'kind'
122
121
  exact?: boolean;
123
122
  }
124
123
  type ResolveResult = string | ResolveResultWithOptions;
125
- interface ResolveResultWithOptions extends Omit<esbuild$1.ResolveOptions, 'pluginName' | 'pluginData'> {
124
+ interface ResolveResultWithOptions extends Omit<esbuild.ResolveOptions, 'pluginName' | 'pluginData'> {
126
125
  path: string;
127
126
  }
128
127
  type AliasResolver = (context: {
129
- args: esbuild$1.OnResolveArgs;
130
- resolve: esbuild$1.PluginBuild['resolve'];
128
+ args: esbuild.OnResolveArgs;
129
+ resolve: esbuild.PluginBuild['resolve'];
131
130
  }) => ResolveResult | Promise<ResolveResult>;
132
131
  /**
133
132
  * Custom protocol resolve configuration
@@ -161,11 +160,11 @@ interface ProtocolConfig {
161
160
  /**
162
161
  * Module path to resolve
163
162
  */
164
- resolve?: (args: esbuild$1.OnResolveArgs) => string | Promise<string>;
163
+ resolve?: (args: esbuild.OnResolveArgs) => string | Promise<string>;
165
164
  /**
166
165
  * Return module code based on the resolved path
167
166
  */
168
- load: (args: esbuild$1.OnLoadArgs) => esbuild$1.OnLoadResult | Promise<esbuild$1.OnLoadResult>;
167
+ load: (args: esbuild.OnLoadArgs) => esbuild.OnLoadResult | Promise<esbuild.OnLoadResult>;
169
168
  };
170
169
  }
171
170
  interface TransformerConfig {
@@ -174,7 +173,7 @@ interface TransformerConfig {
174
173
  }
175
174
  type TransformSync = (id: string, code: string) => string;
176
175
  type TransformAsync = (id: string, code: string) => Promise<string>;
177
- interface EsbuildConfig extends esbuild$1.BuildOptions {
176
+ interface EsbuildConfig extends esbuild.BuildOptions {
178
177
  /**
179
178
  * Script path to inject at the entry point
180
179
  *
@@ -205,7 +204,8 @@ interface BabelConfig {
205
204
  configFile?: string;
206
205
  presets?: string[];
207
206
  plugins?: (string | [string, any])[];
208
- } //#endregion
207
+ }
208
+ //#endregion
209
209
  //#region src/types/BuildResult.d.ts
210
210
  type BuildResult = BuildSuccessResult | BuildFailureResult;
211
211
  interface BuildSuccessResult extends esbuild.BuildResult {
@@ -227,7 +227,6 @@ interface BundleData {
227
227
  source: esbuild.OutputFile;
228
228
  sourcemap: esbuild.OutputFile;
229
229
  }
230
-
231
230
  //#endregion
232
231
  //#region src/types/DevServerConfig.d.ts
233
232
  type Middleware = FastifyPluginAsync | FastifyPluginCallback;
@@ -262,7 +261,6 @@ interface MetroDevServerConfig {
262
261
  middlewares?: MetroMiddleware[];
263
262
  inspectorProxy?: InspectorProxyConfig;
264
263
  }
265
-
266
264
  //#endregion
267
265
  //#region src/types/vendors/metro.d.ts
268
266
  type Untyped = any;
@@ -462,7 +460,6 @@ interface MetroConfig {
462
460
  update: (event: ReportableEvent) => void;
463
461
  };
464
462
  }
465
-
466
463
  //#endregion
467
464
  //#region src/types/MetroConfig.d.ts
468
465
  interface AdditionalMetroConfig extends MetroConfig {
@@ -491,7 +488,6 @@ interface AdditionalMetroConfig extends MetroConfig {
491
488
  transformSync?: (id: string, code: string) => string;
492
489
  projectRoot?: MetroConfig['projectRoot'];
493
490
  }
494
-
495
491
  //#endregion
496
492
  //#region src/types/GranitePlugin.d.ts
497
493
  interface GranitePluginConfig {
@@ -560,15 +556,12 @@ type PluginResolvable = GranitePlugin | GranitePluginCore | Promise<GranitePlugi
560
556
  type PluginInput = PluginResolvable | PluginInput[];
561
557
  type PluginBuildConfig = Omit<BuildConfig, 'platform' | 'entry' | 'outfile'>;
562
558
  type GranitePlugin = GranitePluginCore | Promise<GranitePluginCore>;
563
-
564
559
  //#endregion
565
560
  //#region src/createContext.d.ts
566
561
  declare function createContext(): PluginContext;
567
-
568
562
  //#endregion
569
563
  //#region src/utils/flattenPlugins.d.ts
570
564
  declare const flattenPlugins: (plugin: PluginInput) => Promise<GranitePluginCore[]>;
571
-
572
565
  //#endregion
573
566
  //#region src/utils/resolvePlugins.d.ts
574
567
  declare function resolvePlugins(plugins: PluginInput): Promise<{
@@ -585,15 +578,12 @@ declare function resolvePlugins(plugins: PluginInput): Promise<{
585
578
  };
586
579
  };
587
580
  }>;
588
-
589
581
  //#endregion
590
582
  //#region src/utils/mergeConfig.d.ts
591
583
  declare function mergeConfig(base: PluginConfig, ...configs: PluginConfig[]): Promise<StaticPluginConfig | undefined>;
592
-
593
584
  //#endregion
594
585
  //#region src/utils/mergeBuildConfigs.d.ts
595
586
  declare function mergeBuildConfigs(baseConfig: BuildConfig, ...otherConfigs: Partial<BuildConfig>[]): BuildConfig;
596
-
597
587
  //#endregion
598
588
  //#region src/schema/pluginConfig.d.ts
599
589
  declare const pluginConfigSchema: z.ZodObject<{
@@ -628,7 +618,6 @@ interface GranitePluginHooks {
628
618
  postHandlers: GranitePluginBuildPostHandler[];
629
619
  };
630
620
  }
631
-
632
621
  //#endregion
633
622
  //#region src/utils/createPluginHooksDriver.d.ts
634
623
  declare function createPluginHooksDriver(config: CompleteGraniteConfig): {
@@ -642,16 +631,13 @@ declare function createPluginHooksDriver(config: CompleteGraniteConfig): {
642
631
  };
643
632
  };
644
633
  declare function createPluginContext(): PluginContext;
645
-
646
634
  //#endregion
647
635
  //#region src/utils/buildResult.d.ts
648
636
  declare function isBuildSuccess(result: BuildResult): result is BuildSuccessResult;
649
637
  declare function isBuildFailure(result: BuildResult): result is BuildFailureResult;
650
-
651
638
  //#endregion
652
639
  //#region src/utils/resolveConfig.d.ts
653
640
  declare function resolveConfig(config: CompleteGraniteConfig): Promise<ResolvedPluginConfig>;
654
-
655
641
  //#endregion
656
642
  //#region src/config/defineConfig.d.ts
657
643
  /**
@@ -706,7 +692,6 @@ declare function resolveConfig(config: CompleteGraniteConfig): Promise<ResolvedP
706
692
  * ```
707
693
  */
708
694
  declare const defineConfig: (config: GraniteConfig) => Promise<CompleteGraniteConfig>;
709
-
710
695
  //#endregion
711
696
  //#region src/config/loadConfig.d.ts
712
697
  interface LoadConfigOptions {
@@ -725,6 +710,5 @@ interface LoadConfigOptions {
725
710
  configFile?: string;
726
711
  }
727
712
  declare const loadConfig: (options?: LoadConfigOptions) => Promise<CompleteGraniteConfig>;
728
-
729
713
  //#endregion
730
714
  export { AdditionalMetroConfig, AliasConfig, AliasResolver, BabelConfig, BuildConfig, BuildFailureResult, BuildResult, BuildSuccessResult, BundleData, CompleteGraniteConfig, DevServerConfig, DynamicPluginConfig, EsbuildConfig, GraniteConfig, GranitePlugin, GranitePluginBuildPostHandler, GranitePluginBuildPreHandler, GranitePluginConfig, GranitePluginCore, GranitePluginDevHandlerArgs, GranitePluginDevPostHandler, GranitePluginDevPreHandler, GranitePluginHooks, GranitePluginPostHandlerArgs, GranitePluginPreHandlerArgs, InspectorProxyConfig, MetroDevServerConfig, MetroMiddleware, ResolutionContext as MetroResolutionContext, Middleware, ParsedGraniteConfig, PluginBuildConfig, PluginConfig, PluginContext, PluginInput, PluginMetroConfig, PluginResolvable, ProtocolConfig, ResolveResult, ResolveResultWithOptions, ResolvedMetroConfig, ResolvedPluginConfig, ResolverConfig, StaticPluginConfig, SwcConfig, TransformAsync, TransformSync, TransformerConfig, createContext, createPluginContext, createPluginHooksDriver, defineConfig, flattenPlugins, isBuildFailure, isBuildSuccess, loadConfig, mergeBuildConfigs, mergeConfig, pluginConfigSchema, resolveConfig, resolvePlugins };
package/dist/index.js CHANGED
@@ -14,22 +14,15 @@ function createContext() {
14
14
  //#endregion
15
15
  //#region src/utils/flattenPlugins.ts
16
16
  const flattenPlugins = async (plugin) => {
17
- if (Array.isArray(plugin)) {
18
- const flattened = await Promise.all(plugin.map(async (p) => {
19
- if (p instanceof Promise) {
20
- const resolved$1 = await p;
21
- if (Array.isArray(resolved$1)) {
22
- const nested = await Promise.all(resolved$1.map(flattenPlugins));
23
- return nested.flat();
24
- }
25
- return flattenPlugins(resolved$1);
26
- }
27
- return flattenPlugins(p);
28
- }));
29
- return flattened.flat();
30
- }
31
- const resolved = await plugin;
32
- return [resolved];
17
+ if (Array.isArray(plugin)) return (await Promise.all(plugin.map(async (p) => {
18
+ if (p instanceof Promise) {
19
+ const resolved = await p;
20
+ if (Array.isArray(resolved)) return (await Promise.all(resolved.map(flattenPlugins))).flat();
21
+ return flattenPlugins(resolved);
22
+ }
23
+ return flattenPlugins(p);
24
+ }))).flat();
25
+ return [await plugin];
33
26
  };
34
27
 
35
28
  //#endregion
@@ -55,7 +48,7 @@ async function resolvePlugins(plugins) {
55
48
  //#endregion
56
49
  //#region src/utils/mergeBabel.ts
57
50
  function mergeBabel(source, target) {
58
- if (!(source || target)) return void 0;
51
+ if (!(source || target)) return;
59
52
  if (source == null) return target;
60
53
  if (target == null) return source;
61
54
  return {
@@ -70,7 +63,7 @@ function mergeBabel(source, target) {
70
63
  //#endregion
71
64
  //#region src/utils/mergeDevServer.ts
72
65
  function mergeDevServer(source, target) {
73
- if (!(source || target)) return void 0;
66
+ if (!(source || target)) return;
74
67
  if (source == null) return target;
75
68
  if (target == null) return source;
76
69
  return {
@@ -83,7 +76,7 @@ function mergeDevServer(source, target) {
83
76
  //#endregion
84
77
  //#region src/utils/mergeEsbuild.ts
85
78
  function mergeEsbuild(source, target) {
86
- if (!(source || target)) return void 0;
79
+ if (!(source || target)) return;
87
80
  if (source == null) return target;
88
81
  if (target == null) return source;
89
82
  return {
@@ -107,7 +100,7 @@ function mergeBanners(baseBanner, overrideBanner) {
107
100
  //#endregion
108
101
  //#region src/utils/mergeExtra.ts
109
102
  function mergeExtra(source, target) {
110
- if (!(source || target)) return void 0;
103
+ if (!(source || target)) return;
111
104
  if (source == null) return target;
112
105
  if (target == null) return source;
113
106
  return {
@@ -119,7 +112,7 @@ function mergeExtra(source, target) {
119
112
  //#endregion
120
113
  //#region src/utils/mergeMetro.ts
121
114
  function mergeMetro(source, target) {
122
- if (!(source || target)) return void 0;
115
+ if (!(source || target)) return;
123
116
  if (source == null) return target;
124
117
  if (target == null) return source;
125
118
  return {
@@ -132,7 +125,7 @@ function mergeMetro(source, target) {
132
125
  };
133
126
  }
134
127
  function mergeResolver$1(source, target) {
135
- if (!(source || target)) return void 0;
128
+ if (!(source || target)) return;
136
129
  if (source == null) return target;
137
130
  if (target == null) return source;
138
131
  return {
@@ -142,7 +135,7 @@ function mergeResolver$1(source, target) {
142
135
  };
143
136
  }
144
137
  function mergeSerializer(source, target) {
145
- if (!(source || target)) return void 0;
138
+ if (!(source || target)) return;
146
139
  if (source == null) return target;
147
140
  if (target == null) return source;
148
141
  return {
@@ -152,7 +145,7 @@ function mergeSerializer(source, target) {
152
145
  };
153
146
  }
154
147
  function mergeReporter(source, target) {
155
- if (!(source || target)) return void 0;
148
+ if (!(source || target)) return;
156
149
  if (source == null) return target;
157
150
  if (target == null) return source;
158
151
  return { update: (event) => {
@@ -164,7 +157,7 @@ function mergeReporter(source, target) {
164
157
  //#endregion
165
158
  //#region src/utils/mergeResolver.ts
166
159
  function mergeResolver(source, target) {
167
- if (!(source || target)) return void 0;
160
+ if (!(source || target)) return;
168
161
  if (source == null) return target;
169
162
  if (target == null) return source;
170
163
  return {
@@ -179,7 +172,7 @@ function mergeResolver(source, target) {
179
172
  //#endregion
180
173
  //#region src/utils/mergeSwc.ts
181
174
  function mergeSwc(source, target) {
182
- if (!(source || target)) return void 0;
175
+ if (!(source || target)) return;
183
176
  if (source == null) return target;
184
177
  if (target == null) return source;
185
178
  return {
@@ -192,7 +185,7 @@ function mergeSwc(source, target) {
192
185
  //#endregion
193
186
  //#region src/utils/mergeTransformer.ts
194
187
  function mergeTransformer(source, target) {
195
- if (!(source || target)) return void 0;
188
+ if (!(source || target)) return;
196
189
  if (source == null) return target;
197
190
  if (target == null) return source;
198
191
  let transformSync;
@@ -224,7 +217,7 @@ function mergeTransformer(source, target) {
224
217
  //#endregion
225
218
  //#region src/utils/mergeConfig.ts
226
219
  async function mergeConfig(base, ...configs) {
227
- if (!(base || configs.length)) return void 0;
220
+ if (!(base || configs.length)) return;
228
221
  return configs.reduce(async (acc, curr) => {
229
222
  const [resolvedAcc, resolvedCurr] = await Promise.all([acc, resolveDynamicConfig(curr)]);
230
223
  return {
@@ -249,7 +242,7 @@ async function resolveDynamicConfig(config) {
249
242
  //#endregion
250
243
  //#region src/utils/mergeBuildConfigs.ts
251
244
  function mergeBuildConfigs(baseConfig, ...otherConfigs) {
252
- const mergedConfig = otherConfigs.reduce((acc, curr) => ({
245
+ return otherConfigs.reduce((acc, curr) => ({
253
246
  entry: acc.entry ?? curr.entry,
254
247
  outfile: acc.outfile ?? curr.outfile,
255
248
  platform: acc.platform ?? curr.platform,
@@ -260,7 +253,6 @@ function mergeBuildConfigs(baseConfig, ...otherConfigs) {
260
253
  babel: mergeBabel(acc.babel, curr.babel),
261
254
  extra: mergeExtra(acc.extra, curr.extra)
262
255
  }), baseConfig);
263
- return mergedConfig;
264
256
  }
265
257
 
266
258
  //#endregion
@@ -303,9 +295,7 @@ function createPluginHooksDriver(config) {
303
295
  };
304
296
  }
305
297
  function createPluginContext() {
306
- const meta = Object.create(null);
307
- const context = { meta };
308
- return context;
298
+ return { meta: Object.create(null) };
309
299
  }
310
300
 
311
301
  //#endregion
@@ -324,19 +314,17 @@ async function resolveConfig(config) {
324
314
  const [base, ...rest] = config.pluginConfigs;
325
315
  if (base == null) return EMPTY_CONFIG;
326
316
  const mergedConfig = await mergeConfig(base, ...rest) ?? EMPTY_CONFIG;
327
- const resolvedConfig = {
317
+ return {
328
318
  ...mergedConfig,
329
319
  metro: resolveMetroConfig(mergedConfig)
330
320
  };
331
- return resolvedConfig;
332
321
  }
333
322
  /**
334
323
  * Injects the some config into the metro config to ensure compatibility with the plugin config.
335
324
  */
336
325
  function resolveMetroConfig(pluginConfig) {
337
- const metroConfig = pluginConfig.metro ?? {};
338
326
  return {
339
- ...metroConfig,
327
+ ...pluginConfig.metro ?? {},
340
328
  babelConfig: pluginConfig.babel,
341
329
  transformSync: pluginConfig?.transformer?.transformSync
342
330
  };
@@ -447,12 +435,6 @@ const defineConfig = async (config) => {
447
435
  metro: parsedMetroConfig
448
436
  };
449
437
  const { configs, pluginHooks } = await resolvePlugins(parsed.plugins);
450
- const globalsScriptConfig = prepareGraniteGlobalsScript({
451
- rootDir: cwd,
452
- appName,
453
- scheme,
454
- host
455
- });
456
438
  return {
457
439
  cwd,
458
440
  appName,
@@ -461,7 +443,12 @@ const defineConfig = async (config) => {
461
443
  pluginHooks,
462
444
  pluginConfigs: [
463
445
  parsedConfig,
464
- globalsScriptConfig,
446
+ prepareGraniteGlobalsScript({
447
+ rootDir: cwd,
448
+ appName,
449
+ scheme,
450
+ host
451
+ }),
465
452
  ...configs
466
453
  ].filter(isNotNil)
467
454
  };
@@ -481,8 +468,7 @@ const loadConfig = async (options = {}) => {
481
468
  `${MODULE_NAME}.config.cjs`
482
469
  ] }).search(resolveRoot);
483
470
  assert(result, "Config file not found");
484
- const config = await result.config;
485
- return config;
471
+ return await result.config;
486
472
  };
487
473
  function getConfigExplorer(options) {
488
474
  return cosmiconfig(MODULE_NAME, {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@granite-js/plugin-core",
3
3
  "type": "module",
4
- "version": "0.1.31",
4
+ "version": "0.1.32",
5
5
  "description": "The core plugin module for Granite",
6
6
  "scripts": {
7
7
  "prepack": "yarn build",
@@ -35,12 +35,13 @@
35
35
  ],
36
36
  "devDependencies": {
37
37
  "@types/node": "^24.3.0",
38
- "tsdown": "^0.11.12",
38
+ "@vitest/coverage-v8": "^4.0.12",
39
+ "tsdown": "^0.16.5",
39
40
  "typescript": "^5.6.3",
40
- "vitest": "^3.0.9"
41
+ "vitest": "^4.0.12"
41
42
  },
42
43
  "dependencies": {
43
- "@granite-js/utils": "0.1.31",
44
+ "@granite-js/utils": "0.1.32",
44
45
  "@swc/core": "1.5.24",
45
46
  "@types/babel__core": "^7",
46
47
  "@types/connect": "^3",