@powerlines/plugin-date 0.12.55 → 0.12.56

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,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.cjs';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.cjs';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.js';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.js';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.cjs';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.cjs';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.js';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.js';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -2,7 +2,7 @@ export { dateFnsModule } from './date-fns.cjs';
2
2
  export { dayjsModule } from './dayjs.cjs';
3
3
  export { luxonModule } from './luxon.cjs';
4
4
  export { momentModule } from './moment.cjs';
5
- import '../plugin-lJW8N3Uz.cjs';
5
+ import '../plugin-CSk7OuX1.cjs';
6
6
  import '@alloy-js/core/jsx-runtime';
7
7
  import '@deepkit/type';
8
8
  import '@stryke/capnp';
@@ -16,11 +16,14 @@ import '@stryke/types/file';
16
16
  import 'vite';
17
17
  import '@babel/helper-plugin-utils';
18
18
  import '@stryke/env/get-env-paths';
19
+ import '@stryke/http/fetch';
19
20
  import '@stryke/types/package-json';
20
21
  import 'jiti';
21
22
  import 'magic-string';
23
+ import 'oxc-parser';
22
24
  import 'semver';
23
25
  import 'ts-morph';
26
+ import 'undici';
24
27
  import 'unplugin';
25
28
  import '@stryke/fs/resolve';
26
29
  import '@stryke/types/tsconfig';
@@ -2,7 +2,7 @@ export { dateFnsModule } from './date-fns.js';
2
2
  export { dayjsModule } from './dayjs.js';
3
3
  export { luxonModule } from './luxon.js';
4
4
  export { momentModule } from './moment.js';
5
- import '../plugin-lJW8N3Uz.js';
5
+ import '../plugin-CSk7OuX1.js';
6
6
  import '@alloy-js/core/jsx-runtime';
7
7
  import '@deepkit/type';
8
8
  import '@stryke/capnp';
@@ -16,11 +16,14 @@ import '@stryke/types/file';
16
16
  import 'vite';
17
17
  import '@babel/helper-plugin-utils';
18
18
  import '@stryke/env/get-env-paths';
19
+ import '@stryke/http/fetch';
19
20
  import '@stryke/types/package-json';
20
21
  import 'jiti';
21
22
  import 'magic-string';
23
+ import 'oxc-parser';
22
24
  import 'semver';
23
25
  import 'ts-morph';
26
+ import 'undici';
24
27
  import 'unplugin';
25
28
  import '@stryke/fs/resolve';
26
29
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.cjs';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.cjs';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.js';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.js';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.cjs';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.cjs';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- import { d as DatePluginContext } from '../plugin-lJW8N3Uz.js';
1
+ import { d as DatePluginContext } from '../plugin-CSk7OuX1.js';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as DatePluginOptions, P as Plugin, d as DatePluginContext } from './plugin-lJW8N3Uz.cjs';
2
- export { D as DateLibraryType, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from './plugin-lJW8N3Uz.cjs';
1
+ import { a as DatePluginOptions, P as Plugin, d as DatePluginContext } from './plugin-CSk7OuX1.cjs';
2
+ export { D as DateLibraryType, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from './plugin-CSk7OuX1.cjs';
3
3
  export { dateFnsModule } from './components/date-fns.cjs';
4
4
  export { dayjsModule } from './components/dayjs.cjs';
5
5
  export { luxonModule } from './components/luxon.cjs';
@@ -18,11 +18,14 @@ import '@stryke/types/file';
18
18
  import 'vite';
19
19
  import '@babel/helper-plugin-utils';
20
20
  import '@stryke/env/get-env-paths';
21
+ import '@stryke/http/fetch';
21
22
  import '@stryke/types/package-json';
22
23
  import 'jiti';
23
24
  import 'magic-string';
25
+ import 'oxc-parser';
24
26
  import 'semver';
25
27
  import 'ts-morph';
28
+ import 'undici';
26
29
  import 'unplugin';
27
30
  import '@stryke/fs/resolve';
28
31
  import '@stryke/types/tsconfig';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { a as DatePluginOptions, P as Plugin, d as DatePluginContext } from './plugin-lJW8N3Uz.js';
2
- export { D as DateLibraryType, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from './plugin-lJW8N3Uz.js';
1
+ import { a as DatePluginOptions, P as Plugin, d as DatePluginContext } from './plugin-CSk7OuX1.js';
2
+ export { D as DateLibraryType, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from './plugin-CSk7OuX1.js';
3
3
  export { dateFnsModule } from './components/date-fns.js';
4
4
  export { dayjsModule } from './components/dayjs.js';
5
5
  export { luxonModule } from './components/luxon.js';
@@ -18,11 +18,14 @@ import '@stryke/types/file';
18
18
  import 'vite';
19
19
  import '@babel/helper-plugin-utils';
20
20
  import '@stryke/env/get-env-paths';
21
+ import '@stryke/http/fetch';
21
22
  import '@stryke/types/package-json';
22
23
  import 'jiti';
23
24
  import 'magic-string';
25
+ import 'oxc-parser';
24
26
  import 'semver';
25
27
  import 'ts-morph';
28
+ import 'undici';
26
29
  import 'unplugin';
27
30
  import '@stryke/fs/resolve';
28
31
  import '@stryke/types/tsconfig';
@@ -11,11 +11,14 @@ import { AssetGlob } from '@stryke/types/file';
11
11
  import { PreviewOptions, ResolvedPreviewOptions } from 'vite';
12
12
  import { BabelAPI } from '@babel/helper-plugin-utils';
13
13
  import { EnvPaths } from '@stryke/env/get-env-paths';
14
+ import { FetchRequestOptions } from '@stryke/http/fetch';
14
15
  import { PackageJson } from '@stryke/types/package-json';
15
16
  import { Jiti } from 'jiti';
16
17
  import { SourceMap } from 'magic-string';
18
+ import { ParserOptions, ParseResult } from 'oxc-parser';
17
19
  import { Range } from 'semver';
18
20
  import { Project } from 'ts-morph';
21
+ import { RequestInfo, Response } from 'undici';
19
22
  import { UnpluginContext, UnpluginMessage, ExternalIdResult, UnpluginBuildContext, TransformResult as TransformResult$1, HookFilter, UnpluginOptions } from 'unplugin';
20
23
  import { ResolveOptions as ResolveOptions$1 } from '@stryke/fs/resolve';
21
24
  import { TsConfigJson, CompilerOptions } from '@stryke/types/tsconfig';
@@ -650,6 +653,22 @@ type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
650
653
  */
651
654
  presets?: BabelTransformPluginOptions[];
652
655
  };
656
+ interface DeployConfig {
657
+ /**
658
+ * The deployment variant being used by the Powerlines engine.
659
+ *
660
+ * @example
661
+ * ```ts
662
+ * export default defineConfig({
663
+ * deploy: {
664
+ * variant: "cloudflare"
665
+ * }
666
+ * });
667
+ *
668
+ * ```
669
+ */
670
+ variant?: string;
671
+ }
653
672
  interface OutputConfig {
654
673
  /**
655
674
  * The path to output the final compiled files to
@@ -772,7 +791,7 @@ interface BaseConfig {
772
791
  * @remarks
773
792
  * If set to `false`, the deployment will be disabled.
774
793
  */
775
- deploy?: Record<string, any> | false;
794
+ deploy?: DeployConfig | false;
776
795
  /**
777
796
  * The path to the tsconfig file to be used by the compiler
778
797
  *
@@ -899,7 +918,7 @@ interface CommonUserConfig extends BaseConfig {
899
918
  */
900
919
  framework?: string;
901
920
  }
902
- type UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedConfig extends BuildResolvedConfig = BuildResolvedConfig, TBuildVariant extends string = any> = Omit<CommonUserConfig, "build"> & {
921
+ interface UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedConfig extends BuildResolvedConfig = BuildResolvedConfig, TBuildVariant extends string = any> extends Omit<CommonUserConfig, "build"> {
903
922
  /**
904
923
  * Configuration provided to build processes
905
924
  *
@@ -919,7 +938,7 @@ type UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedCo
919
938
  */
920
939
  override?: Partial<TBuildResolvedConfig>;
921
940
  };
922
- };
941
+ }
923
942
  type PowerlinesCommand = "new" | "prepare" | "build" | "lint" | "test" | "docs" | "deploy" | "clean";
924
943
  /**
925
944
  * The configuration provided while executing Powerlines commands.
@@ -959,7 +978,7 @@ type OutputResolvedConfig = Required<Omit<OutputConfig, "assets" | "storage"> &
959
978
  /**
960
979
  * The resolved options for the Powerlines project configuration.
961
980
  */
962
- type ResolvedConfig<TUserConfig extends UserConfig = UserConfig> = Omit<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "platform" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "variant" | "type" | "output" | "logLevel" | "framework"> & Required<Pick<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "framework">> & {
981
+ type ResolvedConfig<TUserConfig extends UserConfig = UserConfig> = Omit<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "platform" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "variant" | "type" | "output" | "logLevel" | "framework" | "sourceRoot"> & Required<Pick<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "framework" | "sourceRoot">> & {
963
982
  /**
964
983
  * The configuration options that were provided inline to the Powerlines CLI.
965
984
  */
@@ -1057,6 +1076,18 @@ interface InitContextOptions {
1057
1076
  */
1058
1077
  isHighPriority: boolean;
1059
1078
  }
1079
+ interface FetchOptions extends FetchRequestOptions {
1080
+ /**
1081
+ * An indicator specifying that the request should bypass any caching
1082
+ */
1083
+ skipCache?: boolean;
1084
+ }
1085
+ interface ParseOptions extends ParserOptions {
1086
+ /**
1087
+ * When true this allows return statements to be outside functions to e.g. support parsing CommonJS code.
1088
+ */
1089
+ allowReturnOutsideFunction?: boolean;
1090
+ }
1060
1091
  /**
1061
1092
  * The unresolved Powerlines context.
1062
1093
  *
@@ -1073,6 +1104,7 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1073
1104
  */
1074
1105
  config: Omit<TResolvedConfig["userConfig"], "build" | "output"> & Required<Pick<TResolvedConfig["userConfig"], "build" | "output">> & {
1075
1106
  projectRoot: NonUndefined<TResolvedConfig["userConfig"]["root"]>;
1107
+ sourceRoot: NonUndefined<TResolvedConfig["userConfig"]["sourceRoot"]>;
1076
1108
  output: TResolvedConfig["output"];
1077
1109
  };
1078
1110
  /**
@@ -1192,6 +1224,44 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1192
1224
  * This instance is created lazily on first access.
1193
1225
  */
1194
1226
  program: Project;
1227
+ /**
1228
+ * A function to perform HTTP fetch requests
1229
+ *
1230
+ * @remarks
1231
+ * This function uses a caching layer to avoid duplicate requests during the Powerlines process.
1232
+ *
1233
+ * @example
1234
+ * ```ts
1235
+ * const response = await context.fetch("https://api.example.com/data");
1236
+ * const data = await response.json();
1237
+ * ```
1238
+ *
1239
+ * @see https://github.com/nodejs/undici
1240
+ *
1241
+ * @param input - The URL to fetch.
1242
+ * @param options - The fetch request options.
1243
+ * @returns A promise that resolves to a response returned by the fetch.
1244
+ */
1245
+ fetch: (input: RequestInfo, options?: FetchOptions) => Promise<Response>;
1246
+ /**
1247
+ * Parse code using [Oxc-Parser](https://github.com/oxc/oxc) into an (ESTree-compatible)[https://github.com/estree/estree] AST object.
1248
+ *
1249
+ * @remarks
1250
+ * This function can be used to parse TypeScript code into an AST for further analysis or transformation.
1251
+ *
1252
+ * @example
1253
+ * ```ts
1254
+ * const ast = context.parse("const x: number = 42;");
1255
+ * ```
1256
+ *
1257
+ * @see https://rollupjs.org/plugin-development/#this-parse
1258
+ * @see https://github.com/oxc/oxc
1259
+ *
1260
+ * @param code - The source code to parse.
1261
+ * @param options - The options to pass to the parser.
1262
+ * @returns An (ESTree-compatible)[https://github.com/estree/estree] AST object.
1263
+ */
1264
+ parse: (code: string, options?: ParseOptions) => Promise<ParseResult>;
1195
1265
  /**
1196
1266
  * A helper function to resolve modules using the Jiti resolver
1197
1267
  *
@@ -1291,7 +1361,7 @@ interface PluginContext<out TResolvedConfig extends ResolvedConfig = ResolvedCon
1291
1361
  */
1292
1362
  logger: LogFn;
1293
1363
  }
1294
- type BuildPluginContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = PluginContext<TResolvedConfig> & Omit<UnpluginBuildContext, "parse">;
1364
+ type BuildPluginContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = UnpluginBuildContext & PluginContext<TResolvedConfig>;
1295
1365
 
1296
1366
  declare const SUPPORTED_COMMANDS: readonly ["new", "clean", "prepare", "lint", "test", "build", "docs", "deploy", "finalize"];
1297
1367
  type CommandType = ArrayValues<typeof SUPPORTED_COMMANDS>;
@@ -11,11 +11,14 @@ import { AssetGlob } from '@stryke/types/file';
11
11
  import { PreviewOptions, ResolvedPreviewOptions } from 'vite';
12
12
  import { BabelAPI } from '@babel/helper-plugin-utils';
13
13
  import { EnvPaths } from '@stryke/env/get-env-paths';
14
+ import { FetchRequestOptions } from '@stryke/http/fetch';
14
15
  import { PackageJson } from '@stryke/types/package-json';
15
16
  import { Jiti } from 'jiti';
16
17
  import { SourceMap } from 'magic-string';
18
+ import { ParserOptions, ParseResult } from 'oxc-parser';
17
19
  import { Range } from 'semver';
18
20
  import { Project } from 'ts-morph';
21
+ import { RequestInfo, Response } from 'undici';
19
22
  import { UnpluginContext, UnpluginMessage, ExternalIdResult, UnpluginBuildContext, TransformResult as TransformResult$1, HookFilter, UnpluginOptions } from 'unplugin';
20
23
  import { ResolveOptions as ResolveOptions$1 } from '@stryke/fs/resolve';
21
24
  import { TsConfigJson, CompilerOptions } from '@stryke/types/tsconfig';
@@ -650,6 +653,22 @@ type BabelUserConfig = Parameters<typeof transformAsync>[1] & {
650
653
  */
651
654
  presets?: BabelTransformPluginOptions[];
652
655
  };
656
+ interface DeployConfig {
657
+ /**
658
+ * The deployment variant being used by the Powerlines engine.
659
+ *
660
+ * @example
661
+ * ```ts
662
+ * export default defineConfig({
663
+ * deploy: {
664
+ * variant: "cloudflare"
665
+ * }
666
+ * });
667
+ *
668
+ * ```
669
+ */
670
+ variant?: string;
671
+ }
653
672
  interface OutputConfig {
654
673
  /**
655
674
  * The path to output the final compiled files to
@@ -772,7 +791,7 @@ interface BaseConfig {
772
791
  * @remarks
773
792
  * If set to `false`, the deployment will be disabled.
774
793
  */
775
- deploy?: Record<string, any> | false;
794
+ deploy?: DeployConfig | false;
776
795
  /**
777
796
  * The path to the tsconfig file to be used by the compiler
778
797
  *
@@ -899,7 +918,7 @@ interface CommonUserConfig extends BaseConfig {
899
918
  */
900
919
  framework?: string;
901
920
  }
902
- type UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedConfig extends BuildResolvedConfig = BuildResolvedConfig, TBuildVariant extends string = any> = Omit<CommonUserConfig, "build"> & {
921
+ interface UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedConfig extends BuildResolvedConfig = BuildResolvedConfig, TBuildVariant extends string = any> extends Omit<CommonUserConfig, "build"> {
903
922
  /**
904
923
  * Configuration provided to build processes
905
924
  *
@@ -919,7 +938,7 @@ type UserConfig<TBuildConfig extends BuildConfig = BuildConfig, TBuildResolvedCo
919
938
  */
920
939
  override?: Partial<TBuildResolvedConfig>;
921
940
  };
922
- };
941
+ }
923
942
  type PowerlinesCommand = "new" | "prepare" | "build" | "lint" | "test" | "docs" | "deploy" | "clean";
924
943
  /**
925
944
  * The configuration provided while executing Powerlines commands.
@@ -959,7 +978,7 @@ type OutputResolvedConfig = Required<Omit<OutputConfig, "assets" | "storage"> &
959
978
  /**
960
979
  * The resolved options for the Powerlines project configuration.
961
980
  */
962
- type ResolvedConfig<TUserConfig extends UserConfig = UserConfig> = Omit<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "platform" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "variant" | "type" | "output" | "logLevel" | "framework"> & Required<Pick<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "framework">> & {
981
+ type ResolvedConfig<TUserConfig extends UserConfig = UserConfig> = Omit<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "platform" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "variant" | "type" | "output" | "logLevel" | "framework" | "sourceRoot"> & Required<Pick<TUserConfig, "name" | "title" | "plugins" | "mode" | "environments" | "tsconfig" | "lint" | "test" | "build" | "transform" | "deploy" | "framework" | "sourceRoot">> & {
963
982
  /**
964
983
  * The configuration options that were provided inline to the Powerlines CLI.
965
984
  */
@@ -1057,6 +1076,18 @@ interface InitContextOptions {
1057
1076
  */
1058
1077
  isHighPriority: boolean;
1059
1078
  }
1079
+ interface FetchOptions extends FetchRequestOptions {
1080
+ /**
1081
+ * An indicator specifying that the request should bypass any caching
1082
+ */
1083
+ skipCache?: boolean;
1084
+ }
1085
+ interface ParseOptions extends ParserOptions {
1086
+ /**
1087
+ * When true this allows return statements to be outside functions to e.g. support parsing CommonJS code.
1088
+ */
1089
+ allowReturnOutsideFunction?: boolean;
1090
+ }
1060
1091
  /**
1061
1092
  * The unresolved Powerlines context.
1062
1093
  *
@@ -1073,6 +1104,7 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1073
1104
  */
1074
1105
  config: Omit<TResolvedConfig["userConfig"], "build" | "output"> & Required<Pick<TResolvedConfig["userConfig"], "build" | "output">> & {
1075
1106
  projectRoot: NonUndefined<TResolvedConfig["userConfig"]["root"]>;
1107
+ sourceRoot: NonUndefined<TResolvedConfig["userConfig"]["sourceRoot"]>;
1076
1108
  output: TResolvedConfig["output"];
1077
1109
  };
1078
1110
  /**
@@ -1192,6 +1224,44 @@ interface UnresolvedContext<TResolvedConfig extends ResolvedConfig = ResolvedCon
1192
1224
  * This instance is created lazily on first access.
1193
1225
  */
1194
1226
  program: Project;
1227
+ /**
1228
+ * A function to perform HTTP fetch requests
1229
+ *
1230
+ * @remarks
1231
+ * This function uses a caching layer to avoid duplicate requests during the Powerlines process.
1232
+ *
1233
+ * @example
1234
+ * ```ts
1235
+ * const response = await context.fetch("https://api.example.com/data");
1236
+ * const data = await response.json();
1237
+ * ```
1238
+ *
1239
+ * @see https://github.com/nodejs/undici
1240
+ *
1241
+ * @param input - The URL to fetch.
1242
+ * @param options - The fetch request options.
1243
+ * @returns A promise that resolves to a response returned by the fetch.
1244
+ */
1245
+ fetch: (input: RequestInfo, options?: FetchOptions) => Promise<Response>;
1246
+ /**
1247
+ * Parse code using [Oxc-Parser](https://github.com/oxc/oxc) into an (ESTree-compatible)[https://github.com/estree/estree] AST object.
1248
+ *
1249
+ * @remarks
1250
+ * This function can be used to parse TypeScript code into an AST for further analysis or transformation.
1251
+ *
1252
+ * @example
1253
+ * ```ts
1254
+ * const ast = context.parse("const x: number = 42;");
1255
+ * ```
1256
+ *
1257
+ * @see https://rollupjs.org/plugin-development/#this-parse
1258
+ * @see https://github.com/oxc/oxc
1259
+ *
1260
+ * @param code - The source code to parse.
1261
+ * @param options - The options to pass to the parser.
1262
+ * @returns An (ESTree-compatible)[https://github.com/estree/estree] AST object.
1263
+ */
1264
+ parse: (code: string, options?: ParseOptions) => Promise<ParseResult>;
1195
1265
  /**
1196
1266
  * A helper function to resolve modules using the Jiti resolver
1197
1267
  *
@@ -1291,7 +1361,7 @@ interface PluginContext<out TResolvedConfig extends ResolvedConfig = ResolvedCon
1291
1361
  */
1292
1362
  logger: LogFn;
1293
1363
  }
1294
- type BuildPluginContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = PluginContext<TResolvedConfig> & Omit<UnpluginBuildContext, "parse">;
1364
+ type BuildPluginContext<TResolvedConfig extends ResolvedConfig = ResolvedConfig> = UnpluginBuildContext & PluginContext<TResolvedConfig>;
1295
1365
 
1296
1366
  declare const SUPPORTED_COMMANDS: readonly ["new", "clean", "prepare", "lint", "test", "build", "docs", "deploy", "finalize"];
1297
1367
  type CommandType = ArrayValues<typeof SUPPORTED_COMMANDS>;
@@ -1,4 +1,4 @@
1
- export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-lJW8N3Uz.cjs';
1
+ export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-CSk7OuX1.cjs';
2
2
  export { DateFormats, StormDateInterface, TimeUnit, __ΩDateFormats, __ΩStormDateInterface, __ΩTimeUnit } from './runtime.cjs';
3
3
  import '@alloy-js/core/jsx-runtime';
4
4
  import '@deepkit/type';
@@ -13,11 +13,14 @@ import '@stryke/types/file';
13
13
  import 'vite';
14
14
  import '@babel/helper-plugin-utils';
15
15
  import '@stryke/env/get-env-paths';
16
+ import '@stryke/http/fetch';
16
17
  import '@stryke/types/package-json';
17
18
  import 'jiti';
18
19
  import 'magic-string';
20
+ import 'oxc-parser';
19
21
  import 'semver';
20
22
  import 'ts-morph';
23
+ import 'undici';
21
24
  import 'unplugin';
22
25
  import '@stryke/fs/resolve';
23
26
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-lJW8N3Uz.js';
1
+ export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-CSk7OuX1.js';
2
2
  export { DateFormats, StormDateInterface, TimeUnit, __ΩDateFormats, __ΩStormDateInterface, __ΩTimeUnit } from './runtime.js';
3
3
  import '@alloy-js/core/jsx-runtime';
4
4
  import '@deepkit/type';
@@ -13,11 +13,14 @@ import '@stryke/types/file';
13
13
  import 'vite';
14
14
  import '@babel/helper-plugin-utils';
15
15
  import '@stryke/env/get-env-paths';
16
+ import '@stryke/http/fetch';
16
17
  import '@stryke/types/package-json';
17
18
  import 'jiti';
18
19
  import 'magic-string';
20
+ import 'oxc-parser';
19
21
  import 'semver';
20
22
  import 'ts-morph';
23
+ import 'undici';
21
24
  import 'unplugin';
22
25
  import '@stryke/fs/resolve';
23
26
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-lJW8N3Uz.cjs';
1
+ export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-CSk7OuX1.cjs';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
@@ -1,4 +1,4 @@
1
- export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-lJW8N3Uz.js';
1
+ export { D as DateLibraryType, d as DatePluginContext, a as DatePluginOptions, c as DatePluginResolvedConfig, b as DatePluginUserConfig, _ as __ΩDateLibraryType, h as __ΩDatePluginContext, e as __ΩDatePluginOptions, g as __ΩDatePluginResolvedConfig, f as __ΩDatePluginUserConfig } from '../plugin-CSk7OuX1.js';
2
2
  import '@alloy-js/core/jsx-runtime';
3
3
  import '@deepkit/type';
4
4
  import '@stryke/capnp';
@@ -12,11 +12,14 @@ import '@stryke/types/file';
12
12
  import 'vite';
13
13
  import '@babel/helper-plugin-utils';
14
14
  import '@stryke/env/get-env-paths';
15
+ import '@stryke/http/fetch';
15
16
  import '@stryke/types/package-json';
16
17
  import 'jiti';
17
18
  import 'magic-string';
19
+ import 'oxc-parser';
18
20
  import 'semver';
19
21
  import 'ts-morph';
22
+ import 'undici';
20
23
  import 'unplugin';
21
24
  import '@stryke/fs/resolve';
22
25
  import '@stryke/types/tsconfig';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@powerlines/plugin-date",
3
- "version": "0.12.55",
3
+ "version": "0.12.56",
4
4
  "type": "module",
5
5
  "description": "A package containing a Powerlines plugin for injecting static .env configuration values to the code so that they're accessible at runtime.",
6
6
  "repository": {
@@ -116,16 +116,16 @@
116
116
  "files": ["dist/**/*"],
117
117
  "keywords": ["powerlines", "storm-software", "powerlines-plugin"],
118
118
  "dependencies": {
119
- "@powerlines/plugin-env": "^0.13.52",
119
+ "@powerlines/plugin-env": "^0.13.53",
120
120
  "@storm-software/config-tools": "^1.188.50",
121
- "@stryke/path": "^0.21.2",
122
- "powerlines": "^0.27.0"
121
+ "@stryke/path": "^0.21.6",
122
+ "powerlines": "^0.28.0"
123
123
  },
124
124
  "devDependencies": {
125
- "@powerlines/nx": "^0.10.46",
125
+ "@powerlines/nx": "^0.10.47",
126
126
  "@storm-software/tsup": "^0.2.48",
127
127
  "@types/node": "^24.10.1"
128
128
  },
129
129
  "publishConfig": { "access": "public" },
130
- "gitHead": "bbbbe4fd720918401d58e4553d93ff2018d78e6a"
130
+ "gitHead": "3feaa815e117c46d827eee84c3521e54670abb9b"
131
131
  }