@absolutejs/absolute 0.19.0-beta.313 → 0.19.0-beta.315

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/dist/cli/index.js CHANGED
@@ -1002,13 +1002,67 @@ var init_compile = __esm(() => {
1002
1002
  ];
1003
1003
  });
1004
1004
 
1005
+ // src/build/generateIslandBindings.ts
1006
+ var exports_generateIslandBindings = {};
1007
+ __export(exports_generateIslandBindings, {
1008
+ generateIslandBindings: () => generateIslandBindings
1009
+ });
1010
+ import { existsSync as existsSync9, mkdirSync as mkdirSync4, rmSync as rmSync2, writeFileSync as writeFileSync2 } from "fs";
1011
+ import { dirname as dirname2, resolve as resolve7 } from "path";
1012
+ var ensureDir = (filePath) => {
1013
+ mkdirSync4(dirname2(filePath), { recursive: true });
1014
+ }, writeIfChanged = (filePath, content) => {
1015
+ ensureDir(filePath);
1016
+ writeFileSync2(filePath, content);
1017
+ }, removeIfExists = (filePath) => {
1018
+ if (existsSync9(filePath)) {
1019
+ rmSync2(filePath, { force: true });
1020
+ }
1021
+ }, generateIslandBindings = (projectRoot, config) => {
1022
+ const registryPath = config.islands?.registry;
1023
+ if (!registryPath) {
1024
+ return;
1025
+ }
1026
+ const resolvedRegistryPath = resolve7(projectRoot, registryPath);
1027
+ removeIfExists(resolve7(dirname2(resolvedRegistryPath), "absolute-islands.d.ts"));
1028
+ if (config.reactDirectory) {
1029
+ const compatTarget = resolve7(config.reactDirectory, "generated", "absolute-react.ts");
1030
+ removeIfExists(resolve7(config.reactDirectory, "generated", "Island.tsx"));
1031
+ removeIfExists(resolve7(config.reactDirectory, "generated", "absolute-react.d.ts"));
1032
+ writeIfChanged(compatTarget, `export * from "@absolutejs/absolute/react";
1033
+ `);
1034
+ }
1035
+ if (config.vueDirectory) {
1036
+ const compatTarget = resolve7(config.vueDirectory, "generated", "absolute-vue.ts");
1037
+ removeIfExists(resolve7(config.vueDirectory, "generated", "Island.ts"));
1038
+ removeIfExists(resolve7(config.vueDirectory, "generated", "absolute-vue.d.ts"));
1039
+ writeIfChanged(compatTarget, `export * from "@absolutejs/absolute/vue";
1040
+ `);
1041
+ }
1042
+ if (config.svelteDirectory) {
1043
+ const compatTarget = resolve7(config.svelteDirectory, "generated", "absolute-svelte.ts");
1044
+ removeIfExists(resolve7(config.svelteDirectory, "generated", "islands.ts"));
1045
+ removeIfExists(resolve7(config.svelteDirectory, "generated", "absolute-svelte.d.ts"));
1046
+ writeIfChanged(compatTarget, `export * from "@absolutejs/absolute/svelte";
1047
+ `);
1048
+ }
1049
+ if (config.angularDirectory) {
1050
+ const compatTarget = resolve7(config.angularDirectory, "generated", "absolute-angular.ts");
1051
+ removeIfExists(resolve7(config.angularDirectory, "generated", "islands.ts"));
1052
+ removeIfExists(resolve7(config.angularDirectory, "generated", "absolute-angular.d.ts"));
1053
+ writeIfChanged(compatTarget, `export * from "@absolutejs/absolute/angular";
1054
+ `);
1055
+ }
1056
+ };
1057
+ var init_generateIslandBindings = () => {};
1058
+
1005
1059
  // src/cli/scripts/typecheck.ts
1006
1060
  var exports_typecheck = {};
1007
1061
  __export(exports_typecheck, {
1008
1062
  typecheck: () => typecheck
1009
1063
  });
1010
- import { resolve as resolve7, join as join7 } from "path";
1011
- import { existsSync as existsSync9 } from "fs";
1064
+ import { resolve as resolve8, join as join7 } from "path";
1065
+ import { existsSync as existsSync10 } from "fs";
1012
1066
  import { mkdir as mkdir2, writeFile } from "fs/promises";
1013
1067
  var run = async (name, command) => {
1014
1068
  const proc = Bun.spawn(command, {
@@ -1022,8 +1076,8 @@ var run = async (name, command) => {
1022
1076
  const exitCode = await proc.exited;
1023
1077
  return { exitCode, name, output: (stdout + stderr).trim() };
1024
1078
  }, findBin = (name) => {
1025
- const local = resolve7("node_modules", ".bin", name);
1026
- return existsSync9(local) ? local : null;
1079
+ const local = resolve8("node_modules", ".bin", name);
1080
+ return existsSync10(local) ? local : null;
1027
1081
  }, stripAnsi = (str) => str.replace(/\x1b\[[0-9;]*m/g, ""), formatSvelteOutput = (output) => {
1028
1082
  const cwd = `${process.cwd()}/`;
1029
1083
  const summaryMatch = stripAnsi(output).match(/svelte-check found (\d+) error/);
@@ -1082,13 +1136,13 @@ Found ${errorCount} error${suffix}.`;
1082
1136
  "../**/generated/**/*"
1083
1137
  ];
1084
1138
  return writeFile(vueTsconfigPath, JSON.stringify({
1085
- extends: resolve7("tsconfig.json"),
1139
+ extends: resolve8("tsconfig.json"),
1086
1140
  exclude
1087
1141
  }, null, "\t")).then(() => run("vue-tsc", [
1088
1142
  vueTscBin,
1089
1143
  "--noEmit",
1090
1144
  "--project",
1091
- resolve7(vueTsconfigPath),
1145
+ resolve8(vueTsconfigPath),
1092
1146
  "--incremental",
1093
1147
  "--tsBuildInfoFile",
1094
1148
  join7(cacheDir, "vue-tsc.tsbuildinfo"),
@@ -1108,13 +1162,13 @@ Found ${errorCount} error${suffix}.`;
1108
1162
  "../**/generated/**/*"
1109
1163
  ];
1110
1164
  return writeFile(tscConfigPath, JSON.stringify({
1111
- extends: resolve7("tsconfig.json"),
1165
+ extends: resolve8("tsconfig.json"),
1112
1166
  exclude
1113
1167
  }, null, "\t")).then(() => run("tsc", [
1114
1168
  tscBin,
1115
1169
  "--noEmit",
1116
1170
  "--project",
1117
- resolve7(tscConfigPath),
1171
+ resolve8(tscConfigPath),
1118
1172
  "--incremental",
1119
1173
  "--tsBuildInfoFile",
1120
1174
  join7(cacheDir, "tsc.tsbuildinfo"),
@@ -1128,13 +1182,13 @@ Found ${errorCount} error${suffix}.`;
1128
1182
  }
1129
1183
  const svelteTsconfigPath = join7(cacheDir, "tsconfig.svelte-check.json");
1130
1184
  await writeFile(svelteTsconfigPath, JSON.stringify({
1131
- extends: resolve7("tsconfig.json"),
1185
+ extends: resolve8("tsconfig.json"),
1132
1186
  include: [`../${svelteDir}/**/*`]
1133
1187
  }, null, "\t"));
1134
1188
  return run("svelte-check", [
1135
1189
  svelteBin,
1136
1190
  "--tsconfig",
1137
- resolve7(svelteTsconfigPath),
1191
+ resolve8(svelteTsconfigPath),
1138
1192
  "--threshold",
1139
1193
  "error",
1140
1194
  "--compiler-warnings",
@@ -1145,6 +1199,8 @@ Found ${errorCount} error${suffix}.`;
1145
1199
  ]);
1146
1200
  }, typecheck = async (configPath2) => {
1147
1201
  const config = await loadConfig(configPath2);
1202
+ const { generateIslandBindings: generateIslandBindings2 } = await Promise.resolve().then(() => (init_generateIslandBindings(), exports_generateIslandBindings));
1203
+ generateIslandBindings2(process.cwd(), config);
1148
1204
  const hasSvelte = Boolean(config.svelteDirectory);
1149
1205
  const hasVue = Boolean(config.vueDirectory);
1150
1206
  const cacheDir = ".absolutejs";