apibara 2.1.0-beta.3 → 2.1.0-beta.31

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.
Files changed (115) hide show
  1. package/dist/chunks/add.mjs +17 -8
  2. package/dist/chunks/add.mjs.map +1 -0
  3. package/dist/chunks/build.mjs +5 -2
  4. package/dist/chunks/build.mjs.map +1 -0
  5. package/dist/chunks/dev.mjs +56 -21
  6. package/dist/chunks/dev.mjs.map +1 -0
  7. package/dist/chunks/init.mjs +12 -7
  8. package/dist/chunks/init.mjs.map +1 -0
  9. package/dist/chunks/prepare.mjs +5 -2
  10. package/dist/chunks/prepare.mjs.map +1 -0
  11. package/dist/chunks/start.mjs +16 -11
  12. package/dist/chunks/start.mjs.map +1 -0
  13. package/dist/chunks/write-project-info.mjs +51 -0
  14. package/dist/chunks/write-project-info.mjs.map +1 -0
  15. package/dist/cli/index.mjs +3 -1
  16. package/dist/cli/index.mjs.map +1 -0
  17. package/dist/common/index.d.mts +28 -0
  18. package/dist/common/index.d.ts +28 -0
  19. package/dist/common/index.mjs +64 -0
  20. package/dist/common/index.mjs.map +1 -0
  21. package/dist/config/index.mjs +1 -0
  22. package/dist/config/index.mjs.map +1 -0
  23. package/dist/core/index.mjs +133 -68
  24. package/dist/core/index.mjs.map +1 -0
  25. package/dist/create/index.d.mts +2 -1
  26. package/dist/create/index.d.ts +2 -1
  27. package/dist/create/index.mjs +144 -115
  28. package/dist/create/index.mjs.map +1 -0
  29. package/dist/hooks/index.mjs +6 -1
  30. package/dist/hooks/index.mjs.map +1 -0
  31. package/dist/indexer/index.d.ts +1 -0
  32. package/dist/indexer/index.mjs +1 -0
  33. package/dist/indexer/plugins.d.ts +1 -0
  34. package/dist/indexer/plugins.mjs +1 -0
  35. package/dist/indexer/testing.d.ts +1 -0
  36. package/dist/indexer/testing.mjs +1 -0
  37. package/dist/indexer/vcr.d.ts +1 -0
  38. package/dist/indexer/vcr.mjs +1 -0
  39. package/dist/rolldown/index.d.mts +7 -0
  40. package/dist/rolldown/index.d.ts +7 -0
  41. package/dist/rolldown/index.mjs +122 -0
  42. package/dist/rolldown/index.mjs.map +1 -0
  43. package/dist/runtime/dev.mjs +23 -10
  44. package/dist/runtime/internal/app.d.ts +16 -1
  45. package/dist/runtime/internal/app.mjs +51 -21
  46. package/dist/runtime/project-info.d.ts +3 -0
  47. package/dist/runtime/project-info.mjs +67 -0
  48. package/dist/runtime/start.mjs +27 -10
  49. package/dist/shared/apibara.63c9a277.mjs +30 -0
  50. package/dist/shared/apibara.63c9a277.mjs.map +1 -0
  51. package/dist/shared/apibara.730bb1e4.mjs +18 -0
  52. package/dist/shared/apibara.730bb1e4.mjs.map +1 -0
  53. package/dist/types/index.d.mts +24 -20
  54. package/dist/types/index.d.ts +24 -20
  55. package/dist/types/index.mjs +1 -0
  56. package/dist/types/index.mjs.map +1 -0
  57. package/package.json +33 -16
  58. package/src/cli/commands/add.ts +16 -7
  59. package/src/cli/commands/build.ts +5 -2
  60. package/src/cli/commands/dev.ts +64 -20
  61. package/src/cli/commands/init.ts +12 -7
  62. package/src/cli/commands/prepare.ts +4 -2
  63. package/src/cli/commands/start.ts +17 -10
  64. package/src/cli/commands/write-project-info.ts +56 -0
  65. package/src/cli/common.ts +33 -1
  66. package/src/cli/index.ts +2 -0
  67. package/src/common/constants.ts +6 -0
  68. package/src/common/helper.ts +86 -0
  69. package/src/common/index.ts +2 -0
  70. package/src/core/apibara.ts +7 -2
  71. package/src/core/build/build.ts +13 -5
  72. package/src/core/build/dev.ts +46 -23
  73. package/src/core/build/error.ts +9 -14
  74. package/src/core/build/prepare.ts +5 -3
  75. package/src/core/build/prod.ts +25 -16
  76. package/src/core/build/types.ts +11 -1
  77. package/src/core/config/defaults.ts +3 -0
  78. package/src/core/config/loader.ts +15 -7
  79. package/src/core/config/resolvers/runtime.resolver.ts +44 -0
  80. package/src/core/config/update.ts +6 -2
  81. package/src/create/add.ts +10 -9
  82. package/src/create/constants.ts +9 -11
  83. package/src/create/init.ts +8 -5
  84. package/src/create/templates.ts +132 -105
  85. package/src/hooks/useRuntimeConfig.ts +4 -1
  86. package/src/indexer/index.ts +1 -0
  87. package/src/indexer/plugins.ts +1 -0
  88. package/src/indexer/testing.ts +1 -0
  89. package/src/indexer/vcr.ts +1 -0
  90. package/src/rolldown/config.ts +84 -0
  91. package/src/rolldown/index.ts +2 -0
  92. package/src/{rollup → rolldown}/plugins/indexers.ts +3 -3
  93. package/src/rolldown/plugins/instrumentation.ts +68 -0
  94. package/src/runtime/dev.ts +25 -9
  95. package/src/runtime/internal/app.ts +75 -29
  96. package/src/runtime/project-info.ts +90 -0
  97. package/src/runtime/start.ts +30 -9
  98. package/src/types/config.ts +27 -13
  99. package/src/types/hooks.ts +8 -5
  100. package/src/types/index.ts +1 -1
  101. package/src/types/rolldown.ts +5 -0
  102. package/src/types/virtual/indexers.d.ts +4 -1
  103. package/src/types/virtual/instrumentation.d.ts +4 -0
  104. package/dist/rollup/index.d.mts +0 -6
  105. package/dist/rollup/index.d.ts +0 -6
  106. package/dist/rollup/index.mjs +0 -150
  107. package/dist/shared/apibara.1b515d04.mjs +0 -8
  108. package/src/core/config/resolvers/preset.resolver.ts +0 -9
  109. package/src/core/config/resolvers/runtime-config.resolver.ts +0 -6
  110. package/src/rollup/config.ts +0 -87
  111. package/src/rollup/index.ts +0 -2
  112. package/src/rollup/plugins/config.ts +0 -12
  113. package/src/rollup/plugins/esm-shim.ts +0 -69
  114. package/src/types/rollup.ts +0 -8
  115. package/src/types/virtual/config.d.ts +0 -3
@@ -1,87 +0,0 @@
1
- import { builtinModules } from "node:module";
2
- import commonjs from "@rollup/plugin-commonjs";
3
- import json from "@rollup/plugin-json";
4
- import { nodeResolve } from "@rollup/plugin-node-resolve";
5
- import type { Apibara, RollupConfig } from "apibara/types";
6
- import { join } from "pathe";
7
- import type { OutputPluginOption } from "rollup";
8
-
9
- import defu from "defu";
10
- import { appConfig } from "./plugins/config";
11
- import { esmShim } from "./plugins/esm-shim";
12
- import { indexers } from "./plugins/indexers";
13
-
14
- const runtimeDependencies = ["better-sqlite3", "@electric-sql/pglite"];
15
-
16
- export function getRollupConfig(apibara: Apibara): RollupConfig {
17
- const extensions: string[] = [
18
- ".ts",
19
- ".mjs",
20
- ".js",
21
- ".json",
22
- ".node",
23
- ".tsx",
24
- ".jsx",
25
- ];
26
-
27
- const rollupConfig: RollupConfig & { plugins: OutputPluginOption[] } = defu(
28
- // biome-ignore lint/suspicious/noExplicitAny: apibara.options.rollupConfig is typed
29
- apibara.options.rollupConfig as any,
30
- <RollupConfig>{
31
- input: apibara.options.entry,
32
- output: {
33
- dir: join(apibara.options.outputDir || "./.apibara/build"),
34
- format: "esm",
35
- exports: "auto",
36
- entryFileNames: "[name].mjs",
37
- chunkFileNames: "chunks/[name]-[hash].mjs",
38
- generatedCode: {
39
- constBindings: true,
40
- },
41
- sourcemap: true,
42
- sourcemapExcludeSources: true,
43
- sourcemapIgnoreList(relativePath, sourcemapPath) {
44
- return relativePath.includes("node_modules");
45
- },
46
- },
47
- plugins: [],
48
- onwarn(warning, rollupWarn) {
49
- if (
50
- !["CIRCULAR_DEPENDENCY", "EVAL", "THIS_IS_UNDEFINED"].includes(
51
- warning.code || "",
52
- ) &&
53
- !warning.message.includes("Unsupported source map comment") &&
54
- !warning.message.includes("@__PURE__") &&
55
- !warning.message.includes("/*#__PURE__*/")
56
- ) {
57
- rollupWarn(warning);
58
- }
59
- },
60
- treeshake: true,
61
- external: [...builtinModules, ...runtimeDependencies],
62
- },
63
- );
64
-
65
- rollupConfig.plugins.push(esmShim());
66
- rollupConfig.plugins.push(json());
67
-
68
- rollupConfig.plugins.push(
69
- commonjs({
70
- strictRequires: true,
71
- requireReturnsDefault: "auto",
72
- ...apibara.options.commonJS,
73
- }),
74
- );
75
-
76
- rollupConfig.plugins.push(
77
- nodeResolve({
78
- extensions,
79
- preferBuiltins: true,
80
- mainFields: ["main"],
81
- }),
82
- );
83
- rollupConfig.plugins.push(indexers(apibara));
84
- rollupConfig.plugins.push(appConfig(apibara));
85
-
86
- return rollupConfig;
87
- }
@@ -1,2 +0,0 @@
1
- export * from "./config";
2
- export type { Plugin } from "rollup";
@@ -1,12 +0,0 @@
1
- import virtual from "@rollup/plugin-virtual";
2
- import type { Apibara } from "apibara/types";
3
-
4
- export function appConfig(apibara: Apibara) {
5
- return virtual({
6
- "#apibara-internal-virtual/config": `
7
- import * as projectConfig from '${apibara.options._c12.configFile}';
8
-
9
- export const config = projectConfig.default;
10
- `,
11
- });
12
- }
@@ -1,69 +0,0 @@
1
- import MagicString from "magic-string";
2
- import type { Plugin } from "rollup";
3
-
4
- /**
5
- * An alternative to @rollup/plugin-esm-shim
6
- */
7
- export function esmShim(): Plugin {
8
- const ESMShim = `
9
- // -- Shims --
10
- import cjsUrl from 'node:url';
11
- import cjsPath from 'node:path';
12
- const __filename = cjsUrl.fileURLToPath(import.meta.url);
13
- const __dirname = cjsPath.dirname(__filename);
14
- // -- End Shims --
15
- `;
16
-
17
- const CJSyntaxRegex = /__filename|__dirname/;
18
-
19
- return {
20
- name: "esm-shim",
21
-
22
- renderChunk(code, _chunk, opts) {
23
- if (opts.format === "es") {
24
- if (code.includes(ESMShim) || !CJSyntaxRegex.test(code)) {
25
- return null;
26
- }
27
-
28
- let endIndexOfLastImport = -1;
29
-
30
- // Find the last import statement and its ending index
31
- for (const match of code.matchAll(/^import\s.*';$/gm)) {
32
- if (match.length === 0 || typeof match.index !== "number") {
33
- continue;
34
- }
35
-
36
- endIndexOfLastImport = match.index + match[0].length;
37
- }
38
-
39
- const s = new MagicString(code);
40
- s.appendRight(endIndexOfLastImport, ESMShim);
41
-
42
- const sourceMap = s.generateMap({
43
- includeContent: true,
44
- });
45
-
46
- let sourcesContent: string[] | undefined;
47
- if (Array.isArray(sourceMap.sourcesContent)) {
48
- sourcesContent = [];
49
- for (let i = 0; i < sourceMap.sourcesContent.length; i++) {
50
- const content = sourceMap.sourcesContent[i];
51
- if (typeof content === "string") {
52
- sourcesContent.push(content);
53
- }
54
- }
55
- }
56
-
57
- return {
58
- code: s.toString(),
59
- map: {
60
- ...sourceMap,
61
- sourcesContent,
62
- },
63
- };
64
- }
65
-
66
- return null;
67
- },
68
- };
69
- }
@@ -1,8 +0,0 @@
1
- import type {
2
- InputOptions as RollupInputOptions,
3
- OutputOptions as RollupOutputOptions,
4
- } from "rollup";
5
-
6
- export type RollupConfig = RollupInputOptions & {
7
- output: RollupOutputOptions;
8
- };
@@ -1,3 +0,0 @@
1
- import type { ApibaraConfig } from "apibara/types";
2
-
3
- export const config: ApibaraConfig = {};