apibara 2.1.0-beta.31 → 2.1.0-beta.33

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 (40) hide show
  1. package/dist/chunks/add.mjs +1 -2
  2. package/dist/chunks/add.mjs.map +1 -1
  3. package/dist/chunks/build.mjs +1 -2
  4. package/dist/chunks/build.mjs.map +1 -1
  5. package/dist/chunks/dev.mjs +1 -2
  6. package/dist/chunks/dev.mjs.map +1 -1
  7. package/dist/chunks/init.mjs +1 -2
  8. package/dist/chunks/init.mjs.map +1 -1
  9. package/dist/chunks/prepare.mjs +1 -2
  10. package/dist/chunks/prepare.mjs.map +1 -1
  11. package/dist/chunks/start.mjs +10 -3
  12. package/dist/chunks/start.mjs.map +1 -1
  13. package/dist/chunks/write-project-info.mjs +1 -1
  14. package/dist/chunks/write-project-info.mjs.map +1 -1
  15. package/dist/common/index.d.mts +6 -1
  16. package/dist/common/index.d.ts +6 -1
  17. package/dist/common/index.mjs +28 -1
  18. package/dist/common/index.mjs.map +1 -1
  19. package/dist/create/index.mjs +2 -3
  20. package/dist/create/index.mjs.map +1 -1
  21. package/dist/rolldown/index.mjs +18 -0
  22. package/dist/rolldown/index.mjs.map +1 -1
  23. package/dist/runtime/start.mjs +38 -4
  24. package/package.json +4 -4
  25. package/src/cli/commands/add.ts +1 -1
  26. package/src/cli/commands/build.ts +1 -1
  27. package/src/cli/commands/dev.ts +1 -1
  28. package/src/cli/commands/init.ts +1 -1
  29. package/src/cli/commands/prepare.ts +1 -2
  30. package/src/cli/commands/start.ts +10 -2
  31. package/src/cli/commands/write-project-info.ts +1 -1
  32. package/src/common/index.ts +1 -0
  33. package/src/create/templates.ts +2 -3
  34. package/src/rolldown/config.ts +2 -1
  35. package/src/rolldown/plugins/static-config.ts +21 -0
  36. package/src/runtime/start.ts +44 -4
  37. package/src/types/virtual/static-config.d.ts +4 -0
  38. package/dist/shared/apibara.63c9a277.mjs +0 -30
  39. package/dist/shared/apibara.63c9a277.mjs.map +0 -1
  40. /package/src/{cli/common.ts → common/cli.ts} +0 -0
@@ -1,7 +1,6 @@
1
+ import { checkForUnknownArgs } from 'apibara/common';
1
2
  import { addIndexer } from 'apibara/create';
2
3
  import { defineCommand } from 'citty';
3
- import { a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
4
- import 'consola';
5
4
 
6
5
  const add = defineCommand({
7
6
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"add.mjs","sources":["../../src/cli/commands/add.ts"],"sourcesContent":["import { addIndexer } from \"apibara/create\";\nimport { defineCommand } from \"citty\";\nimport { checkForUnknownArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"add\",\n description:\n \"apibara add helps you add a new indexer to your project with sensible defaults.\",\n },\n args: {\n indexerId: {\n type: \"positional\",\n description: \"Indexer ID - must be in kebab-case\",\n required: false,\n },\n chain: {\n type: \"string\",\n description: \"Blockchain - ethereum, beaconchain, starknet\",\n },\n network: {\n type: \"string\",\n description: \"Network - mainnet, sepolia, other\",\n },\n storage: {\n type: \"string\",\n description: \"Storage - postgres, none\",\n },\n dnaUrl: {\n type: \"string\",\n description: \"DNA URL - https://custom-dna-url.apibara.org\",\n },\n dir: {\n type: \"string\",\n description:\n \"Root directory - apibara project root where apibara.config is located | default: current working directory\",\n },\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const { indexerId, chain, network, storage, dnaUrl, dir } = args;\n\n await addIndexer({\n argIndexerId: indexerId,\n argChain: chain,\n argNetwork: network,\n argStorage: storage,\n argDnaUrl: dnaUrl,\n argRootDir: dir,\n });\n },\n});\n"],"names":[],"mappings":";;;;;AAIA,YAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,WACE,EAAA,iFAAA;AAAA,GACJ;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,YAAA;AAAA,MACN,WAAa,EAAA,oCAAA;AAAA,MACb,QAAU,EAAA,KAAA;AAAA,KACZ;AAAA,IACA,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,8CAAA;AAAA,KACf;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,mCAAA;AAAA,KACf;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,0BAAA;AAAA,KACf;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,8CAAA;AAAA,KACf;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,WACE,EAAA,4GAAA;AAAA,KACJ;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,EAAE,SAAW,EAAA,KAAA,EAAO,SAAS,OAAS,EAAA,MAAA,EAAQ,KAAQ,GAAA,IAAA,CAAA;AAE5D,IAAA,MAAM,UAAW,CAAA;AAAA,MACf,YAAc,EAAA,SAAA;AAAA,MACd,QAAU,EAAA,KAAA;AAAA,MACV,UAAY,EAAA,OAAA;AAAA,MACZ,UAAY,EAAA,OAAA;AAAA,MACZ,SAAW,EAAA,MAAA;AAAA,MACX,UAAY,EAAA,GAAA;AAAA,KACb,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"add.mjs","sources":["../../src/cli/commands/add.ts"],"sourcesContent":["import { checkForUnknownArgs } from \"apibara/common\";\nimport { addIndexer } from \"apibara/create\";\nimport { defineCommand } from \"citty\";\n\nexport default defineCommand({\n meta: {\n name: \"add\",\n description:\n \"apibara add helps you add a new indexer to your project with sensible defaults.\",\n },\n args: {\n indexerId: {\n type: \"positional\",\n description: \"Indexer ID - must be in kebab-case\",\n required: false,\n },\n chain: {\n type: \"string\",\n description: \"Blockchain - ethereum, beaconchain, starknet\",\n },\n network: {\n type: \"string\",\n description: \"Network - mainnet, sepolia, other\",\n },\n storage: {\n type: \"string\",\n description: \"Storage - postgres, none\",\n },\n dnaUrl: {\n type: \"string\",\n description: \"DNA URL - https://custom-dna-url.apibara.org\",\n },\n dir: {\n type: \"string\",\n description:\n \"Root directory - apibara project root where apibara.config is located | default: current working directory\",\n },\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const { indexerId, chain, network, storage, dnaUrl, dir } = args;\n\n await addIndexer({\n argIndexerId: indexerId,\n argChain: chain,\n argNetwork: network,\n argStorage: storage,\n argDnaUrl: dnaUrl,\n argRootDir: dir,\n });\n },\n});\n"],"names":[],"mappings":";;;;AAIA,YAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,KAAA;AAAA,IACN,WACE,EAAA,iFAAA;AAAA,GACJ;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,YAAA;AAAA,MACN,WAAa,EAAA,oCAAA;AAAA,MACb,QAAU,EAAA,KAAA;AAAA,KACZ;AAAA,IACA,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,8CAAA;AAAA,KACf;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,mCAAA;AAAA,KACf;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,0BAAA;AAAA,KACf;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,8CAAA;AAAA,KACf;AAAA,IACA,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,QAAA;AAAA,MACN,WACE,EAAA,4GAAA;AAAA,KACJ;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,EAAE,SAAW,EAAA,KAAA,EAAO,SAAS,OAAS,EAAA,MAAA,EAAQ,KAAQ,GAAA,IAAA,CAAA;AAE5D,IAAA,MAAM,UAAW,CAAA;AAAA,MACf,YAAc,EAAA,SAAA;AAAA,MACd,QAAU,EAAA,KAAA;AAAA,MACV,UAAY,EAAA,OAAA;AAAA,MACZ,UAAY,EAAA,OAAA;AAAA,MACZ,SAAW,EAAA,MAAA;AAAA,MACX,UAAY,EAAA,GAAA;AAAA,KACb,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -1,9 +1,8 @@
1
+ import { commonArgs, checkForUnknownArgs } from 'apibara/common';
1
2
  import { createApibara, prepare, writeTypes, build as build$1 } from 'apibara/core';
2
3
  import { runtimeDir } from 'apibara/runtime/meta';
3
4
  import { defineCommand } from 'citty';
4
5
  import { resolve, join } from 'pathe';
5
- import { c as commonArgs, a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
6
- import 'consola';
7
6
 
8
7
  const build = defineCommand({
9
8
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"build.mjs","sources":["../../src/cli/commands/build.ts"],"sourcesContent":["import { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport { defineCommand } from \"citty\";\nimport { join, resolve } from \"pathe\";\nimport { checkForUnknownArgs, commonArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"build\",\n description: \"Build indexer\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n const apibara = await createApibara({\n rootDir,\n });\n\n apibara.options.entry = join(runtimeDir, \"start.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n await apibara.close();\n },\n});\n"],"names":["build"],"mappings":";;;;;;;AAMA,cAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,WAAa,EAAA,eAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,UAAU,OAAS,CAAA,IAAA,CAAK,GAAO,IAAA,IAAA,CAAK,QAAQ,GAAc,CAAA,CAAA;AAEhE,IAAM,MAAA,OAAA,GAAU,MAAM,aAAc,CAAA;AAAA,MAClC,OAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,OAAQ,CAAA,KAAA,GAAQ,IAAK,CAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAEpD,IAAA,MAAM,QAAQ,OAAO,CAAA,CAAA;AACrB,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AACxB,IAAA,MAAMA,QAAM,OAAO,CAAA,CAAA;AACnB,IAAA,MAAM,QAAQ,KAAM,EAAA,CAAA;AAAA,GACtB;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"build.mjs","sources":["../../src/cli/commands/build.ts"],"sourcesContent":["import { checkForUnknownArgs, commonArgs } from \"apibara/common\";\nimport { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport { defineCommand } from \"citty\";\nimport { join, resolve } from \"pathe\";\n\nexport default defineCommand({\n meta: {\n name: \"build\",\n description: \"Build indexer\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n const apibara = await createApibara({\n rootDir,\n });\n\n apibara.options.entry = join(runtimeDir, \"start.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n await apibara.close();\n },\n});\n"],"names":["build"],"mappings":";;;;;;AAMA,cAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,WAAa,EAAA,eAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,UAAU,OAAS,CAAA,IAAA,CAAK,GAAO,IAAA,IAAA,CAAK,QAAQ,GAAc,CAAA,CAAA;AAEhE,IAAM,MAAA,OAAA,GAAU,MAAM,aAAc,CAAA;AAAA,MAClC,OAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,OAAQ,CAAA,KAAA,GAAQ,IAAK,CAAA,UAAA,EAAY,WAAW,CAAA,CAAA;AAEpD,IAAA,MAAM,QAAQ,OAAO,CAAA,CAAA;AACrB,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AACxB,IAAA,MAAMA,QAAM,OAAO,CAAA,CAAA;AACnB,IAAA,MAAM,QAAQ,KAAM,EAAA,CAAA;AAAA,GACtB;AACF,CAAC,CAAA;;;;"}
@@ -1,13 +1,12 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { commonArgs, checkForUnknownArgs } from 'apibara/common';
2
3
  import { createApibara, prepare, writeTypes, build } from 'apibara/core';
3
4
  import { runtimeDir } from 'apibara/runtime/meta';
4
5
  import { defineCommand } from 'citty';
5
6
  import { colors } from 'consola/utils';
6
7
  import { resolve, join } from 'pathe';
7
8
  import { b as blueBright, g as gray } from '../shared/apibara.730bb1e4.mjs';
8
- import { c as commonArgs, a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
9
9
  import 'picocolors';
10
- import 'consola';
11
10
 
12
11
  const hmrKeyRe = /^(runtimeConfig\.|presets\.|preset$)/;
13
12
  const dev = defineCommand({
@@ -1 +1 @@
1
- {"version":3,"file":"dev.mjs","sources":["../../src/cli/commands/dev.ts"],"sourcesContent":["import { type ChildProcess, spawn } from \"node:child_process\";\nimport { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport type { Apibara } from \"apibara/types\";\nimport { defineCommand } from \"citty\";\nimport { colors } from \"consola/utils\";\nimport { join, resolve } from \"pathe\";\nimport { blueBright, gray } from \"../../create/colors\";\nimport { checkForUnknownArgs, commonArgs } from \"../common\";\n\n// Hot module reloading key regex\n// for only runtimeConfig.*, presets.* keys & preset key\nconst hmrKeyRe = /^(runtimeConfig\\.|presets\\.|preset$)/;\n\nexport default defineCommand({\n meta: {\n name: \"dev\",\n description: \"Start the development server\",\n },\n args: {\n ...commonArgs,\n indexers: {\n type: \"string\",\n description: \"Comma-separated list of indexers to run\",\n },\n preset: {\n type: \"string\",\n description: \"Preset to use\",\n },\n \"always-reindex\": {\n type: \"boolean\",\n default: false,\n description:\n \"Reindex the indexers from the starting block on every restart | default: `false`\",\n },\n },\n async run({ args, data, cmd, rawArgs }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n if (args[\"always-reindex\"]) {\n process.env.APIBARA_ALWAYS_REINDEX = \"true\";\n }\n\n const selectedIndexers = new Set(\n args.indexers\n ?.split(\",\")\n .map((i) => i.trim())\n .sort() ?? [],\n );\n\n let apibara: Apibara;\n let childProcess: ChildProcess | undefined;\n\n const reload = async () => {\n if (apibara) {\n apibara.logger.info(\"Restarting dev server\");\n if (\"unwatch\" in apibara.options._c12) {\n await apibara.options._c12.unwatch();\n }\n\n await apibara.close();\n }\n\n apibara = await createApibara(\n {\n rootDir,\n preset: args.preset,\n },\n {\n watch: true,\n c12: {\n async onUpdate({ getDiff, newConfig }) {\n const diff = getDiff();\n\n if (diff.length === 0) {\n return; // No changes\n }\n\n apibara.logger.info(\n `Config updated: \\n${diff.map((entry) => ` ${entry.toString()}`).join(\"\\n\")}`,\n );\n\n await (diff.every((e) => hmrKeyRe.test(e.key))\n ? // in hot reload we only update the runtime values & restart indexers,no build step, apibara instance remains the same\n apibara.updateConfig(newConfig.config || {}) // Hot reload\n : reload()); // Full reload\n },\n },\n },\n true,\n );\n\n apibara.hooks.hookOnce(\"restart\", async () => {\n await reload();\n });\n\n apibara.options.entry = join(runtimeDir, \"dev.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n\n apibara.hooks.hook(\"dev:restart\", async () => {\n if (childProcess) {\n apibara.logger.info(\"Change detected, stopping indexers to restart\");\n await killProcess(childProcess);\n childProcess = undefined;\n }\n });\n\n apibara.hooks.hook(\"dev:reload\", async () => {\n if (childProcess) {\n await killProcess(childProcess);\n childProcess = undefined;\n apibara.logger.info(\"Restarting indexers\");\n } else {\n apibara.logger.info(\"Starting indexers\");\n\n const indexersText = apibara.indexers\n .map((i) =>\n selectedIndexers.has(i.name) || selectedIndexers.size === 0\n ? blueBright(i.name)\n : gray(i.name),\n )\n .join(\", \");\n apibara.logger.info(\"Indexers:\", indexersText);\n }\n\n const childArgs = [\n resolve(apibara.options.outputDir || \"./.apibara/build\", \"dev.mjs\"),\n \"start\",\n ...(args.indexers ? [\"--indexers\", args.indexers] : []),\n ];\n\n childProcess = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n childProcess.on(\"close\", (code, signal) => {\n childProcess = undefined;\n console.log();\n apibara.logger.info(\n `Indexers process exited${\n code !== null ? ` with code ${colors.red(code)}` : \"\"\n }`,\n );\n });\n });\n };\n\n await reload();\n },\n});\n\nasync function killProcess(childProcess: ChildProcess | undefined) {\n if (childProcess) {\n await new Promise((resolve) => {\n childProcess.once(\"exit\", resolve);\n childProcess.kill();\n });\n }\n}\n"],"names":["resolve"],"mappings":"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"}
1
+ {"version":3,"file":"dev.mjs","sources":["../../src/cli/commands/dev.ts"],"sourcesContent":["import { type ChildProcess, spawn } from \"node:child_process\";\nimport { checkForUnknownArgs, commonArgs } from \"apibara/common\";\nimport { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport type { Apibara } from \"apibara/types\";\nimport { defineCommand } from \"citty\";\nimport { colors } from \"consola/utils\";\nimport { join, resolve } from \"pathe\";\nimport { blueBright, gray } from \"../../create/colors\";\n\n// Hot module reloading key regex\n// for only runtimeConfig.*, presets.* keys & preset key\nconst hmrKeyRe = /^(runtimeConfig\\.|presets\\.|preset$)/;\n\nexport default defineCommand({\n meta: {\n name: \"dev\",\n description: \"Start the development server\",\n },\n args: {\n ...commonArgs,\n indexers: {\n type: \"string\",\n description: \"Comma-separated list of indexers to run\",\n },\n preset: {\n type: \"string\",\n description: \"Preset to use\",\n },\n \"always-reindex\": {\n type: \"boolean\",\n default: false,\n description:\n \"Reindex the indexers from the starting block on every restart | default: `false`\",\n },\n },\n async run({ args, data, cmd, rawArgs }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n if (args[\"always-reindex\"]) {\n process.env.APIBARA_ALWAYS_REINDEX = \"true\";\n }\n\n const selectedIndexers = new Set(\n args.indexers\n ?.split(\",\")\n .map((i) => i.trim())\n .sort() ?? [],\n );\n\n let apibara: Apibara;\n let childProcess: ChildProcess | undefined;\n\n const reload = async () => {\n if (apibara) {\n apibara.logger.info(\"Restarting dev server\");\n if (\"unwatch\" in apibara.options._c12) {\n await apibara.options._c12.unwatch();\n }\n\n await apibara.close();\n }\n\n apibara = await createApibara(\n {\n rootDir,\n preset: args.preset,\n },\n {\n watch: true,\n c12: {\n async onUpdate({ getDiff, newConfig }) {\n const diff = getDiff();\n\n if (diff.length === 0) {\n return; // No changes\n }\n\n apibara.logger.info(\n `Config updated: \\n${diff.map((entry) => ` ${entry.toString()}`).join(\"\\n\")}`,\n );\n\n await (diff.every((e) => hmrKeyRe.test(e.key))\n ? // in hot reload we only update the runtime values & restart indexers,no build step, apibara instance remains the same\n apibara.updateConfig(newConfig.config || {}) // Hot reload\n : reload()); // Full reload\n },\n },\n },\n true,\n );\n\n apibara.hooks.hookOnce(\"restart\", async () => {\n await reload();\n });\n\n apibara.options.entry = join(runtimeDir, \"dev.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n\n apibara.hooks.hook(\"dev:restart\", async () => {\n if (childProcess) {\n apibara.logger.info(\"Change detected, stopping indexers to restart\");\n await killProcess(childProcess);\n childProcess = undefined;\n }\n });\n\n apibara.hooks.hook(\"dev:reload\", async () => {\n if (childProcess) {\n await killProcess(childProcess);\n childProcess = undefined;\n apibara.logger.info(\"Restarting indexers\");\n } else {\n apibara.logger.info(\"Starting indexers\");\n\n const indexersText = apibara.indexers\n .map((i) =>\n selectedIndexers.has(i.name) || selectedIndexers.size === 0\n ? blueBright(i.name)\n : gray(i.name),\n )\n .join(\", \");\n apibara.logger.info(\"Indexers:\", indexersText);\n }\n\n const childArgs = [\n resolve(apibara.options.outputDir || \"./.apibara/build\", \"dev.mjs\"),\n \"start\",\n ...(args.indexers ? [\"--indexers\", args.indexers] : []),\n ];\n\n childProcess = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n childProcess.on(\"close\", (code, signal) => {\n childProcess = undefined;\n console.log();\n apibara.logger.info(\n `Indexers process exited${\n code !== null ? ` with code ${colors.red(code)}` : \"\"\n }`,\n );\n });\n });\n };\n\n await reload();\n },\n});\n\nasync function killProcess(childProcess: ChildProcess | undefined) {\n if (childProcess) {\n await new Promise((resolve) => {\n childProcess.once(\"exit\", resolve);\n childProcess.kill();\n });\n }\n}\n"],"names":["resolve"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
+ import { checkForUnknownArgs } from 'apibara/common';
1
2
  import { initializeProject } from 'apibara/create';
2
3
  import { defineCommand } from 'citty';
3
- import { a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
4
- import 'consola';
5
4
 
6
5
  const init = defineCommand({
7
6
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"init.mjs","sources":["../../src/cli/commands/init.ts"],"sourcesContent":["import { initializeProject } from \"apibara/create\";\nimport { defineCommand } from \"citty\";\nimport { checkForUnknownArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"init\",\n description: \"Initialize a new Apibara project\",\n },\n args: {\n dir: {\n type: \"positional\",\n description: \"Target path to initialize the project\",\n required: true,\n },\n language: {\n type: \"string\",\n description:\n \"Language to use: typescript, ts or javascript, js | default: `ts`\",\n default: \"ts\",\n alias: \"l\",\n },\n \"create-indexer\": {\n type: \"boolean\",\n name: \"create-indexer\",\n default: true,\n description: \"TODO\",\n },\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const { dir: targetDir, \"create-indexer\": createIndexer, language } = args;\n\n await initializeProject({\n argTargetDir: targetDir,\n argLanguage: language,\n argNoCreateIndexer: !createIndexer,\n });\n },\n});\n"],"names":[],"mappings":";;;;;AAIA,aAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,WAAa,EAAA,kCAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,YAAA;AAAA,MACN,WAAa,EAAA,uCAAA;AAAA,MACb,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,QAAA;AAAA,MACN,WACE,EAAA,mEAAA;AAAA,MACF,OAAS,EAAA,IAAA;AAAA,MACT,KAAO,EAAA,GAAA;AAAA,KACT;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,IAAM,EAAA,SAAA;AAAA,MACN,IAAM,EAAA,gBAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,MACT,WAAa,EAAA,MAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,EAAE,GAAK,EAAA,SAAA,EAAW,gBAAkB,EAAA,aAAA,EAAe,UAAa,GAAA,IAAA,CAAA;AAEtE,IAAA,MAAM,iBAAkB,CAAA;AAAA,MACtB,YAAc,EAAA,SAAA;AAAA,MACd,WAAa,EAAA,QAAA;AAAA,MACb,oBAAoB,CAAC,aAAA;AAAA,KACtB,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"init.mjs","sources":["../../src/cli/commands/init.ts"],"sourcesContent":["import { checkForUnknownArgs } from \"apibara/common\";\nimport { initializeProject } from \"apibara/create\";\nimport { defineCommand } from \"citty\";\n\nexport default defineCommand({\n meta: {\n name: \"init\",\n description: \"Initialize a new Apibara project\",\n },\n args: {\n dir: {\n type: \"positional\",\n description: \"Target path to initialize the project\",\n required: true,\n },\n language: {\n type: \"string\",\n description:\n \"Language to use: typescript, ts or javascript, js | default: `ts`\",\n default: \"ts\",\n alias: \"l\",\n },\n \"create-indexer\": {\n type: \"boolean\",\n name: \"create-indexer\",\n default: true,\n description: \"TODO\",\n },\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const { dir: targetDir, \"create-indexer\": createIndexer, language } = args;\n\n await initializeProject({\n argTargetDir: targetDir,\n argLanguage: language,\n argNoCreateIndexer: !createIndexer,\n });\n },\n});\n"],"names":[],"mappings":";;;;AAIA,aAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,WAAa,EAAA,kCAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAK,EAAA;AAAA,MACH,IAAM,EAAA,YAAA;AAAA,MACN,WAAa,EAAA,uCAAA;AAAA,MACb,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,QAAA;AAAA,MACN,WACE,EAAA,mEAAA;AAAA,MACF,OAAS,EAAA,IAAA;AAAA,MACT,KAAO,EAAA,GAAA;AAAA,KACT;AAAA,IACA,gBAAkB,EAAA;AAAA,MAChB,IAAM,EAAA,SAAA;AAAA,MACN,IAAM,EAAA,gBAAA;AAAA,MACN,OAAS,EAAA,IAAA;AAAA,MACT,WAAa,EAAA,MAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,EAAE,GAAK,EAAA,SAAA,EAAW,gBAAkB,EAAA,aAAA,EAAe,UAAa,GAAA,IAAA,CAAA;AAEtE,IAAA,MAAM,iBAAkB,CAAA;AAAA,MACtB,YAAc,EAAA,SAAA;AAAA,MACd,WAAa,EAAA,QAAA;AAAA,MACb,oBAAoB,CAAC,aAAA;AAAA,KACtB,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -1,8 +1,7 @@
1
+ import { commonArgs, checkForUnknownArgs } from 'apibara/common';
1
2
  import { createApibara, writeTypes } from 'apibara/core';
2
3
  import { defineCommand } from 'citty';
3
4
  import { resolve } from 'pathe';
4
- import { c as commonArgs, a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
5
- import 'consola';
6
5
 
7
6
  const prepare = defineCommand({
8
7
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"prepare.mjs","sources":["../../src/cli/commands/prepare.ts"],"sourcesContent":["import { createApibara, writeTypes } from \"apibara/core\";\nimport {} from \"apibara/types\";\nimport { defineCommand } from \"citty\";\nimport { resolve } from \"pathe\";\nimport { checkForUnknownArgs, commonArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"prepare\",\n description: \"Generate types for the project\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || \".\") as string);\n const apibara = await createApibara({ rootDir });\n await writeTypes(apibara);\n },\n});\n"],"names":[],"mappings":";;;;;;AAMA,gBAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,SAAA;AAAA,IACN,WAAa,EAAA,gCAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,OAAU,GAAA,OAAA,CAAS,IAAK,CAAA,GAAA,IAAO,GAAc,CAAA,CAAA;AACnD,IAAA,MAAM,OAAU,GAAA,MAAM,aAAc,CAAA,EAAE,SAAS,CAAA,CAAA;AAC/C,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AAAA,GAC1B;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"prepare.mjs","sources":["../../src/cli/commands/prepare.ts"],"sourcesContent":["import { checkForUnknownArgs, commonArgs } from \"apibara/common\";\nimport { createApibara, writeTypes } from \"apibara/core\";\nimport { defineCommand } from \"citty\";\nimport { resolve } from \"pathe\";\n\nexport default defineCommand({\n meta: {\n name: \"prepare\",\n description: \"Generate types for the project\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n const rootDir = resolve((args.dir || \".\") as string);\n const apibara = await createApibara({ rootDir });\n await writeTypes(apibara);\n },\n});\n"],"names":[],"mappings":";;;;;AAKA,gBAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,SAAA;AAAA,IACN,WAAa,EAAA,gCAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,MAAM,OAAU,GAAA,OAAA,CAAS,IAAK,CAAA,GAAA,IAAO,GAAc,CAAA,CAAA;AACnD,IAAA,MAAM,OAAU,GAAA,MAAM,aAAc,CAAA,EAAE,SAAS,CAAA,CAAA;AAC/C,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AAAA,GAC1B;AACF,CAAC,CAAA;;;;"}
@@ -1,11 +1,10 @@
1
1
  import { spawn } from 'node:child_process';
2
+ import { commonArgs, checkForUnknownArgs } from 'apibara/common';
2
3
  import { createApibara } from 'apibara/core';
3
4
  import { defineCommand } from 'citty';
4
5
  import { colors } from 'consola/utils';
5
6
  import fse from 'fs-extra';
6
7
  import { resolve } from 'pathe';
7
- import { c as commonArgs, a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
8
- import 'consola';
9
8
 
10
9
  const start = defineCommand({
11
10
  meta: {
@@ -44,7 +43,15 @@ const start = defineCommand({
44
43
  return process.exit(1);
45
44
  }
46
45
  await apibara.close();
47
- const childArgs = [entry, "start", "--indexer", indexer];
46
+ const childArgs = [
47
+ entry,
48
+ "start",
49
+ "--indexer",
50
+ indexer,
51
+ // important: this is required to run the indexer with apibara cli to load runtime values correctly
52
+ "--no-standalone",
53
+ ...preset ? ["--preset", preset] : []
54
+ ];
48
55
  const childProcess = spawn("node", childArgs, {
49
56
  stdio: "inherit"
50
57
  });
@@ -1 +1 @@
1
- {"version":3,"file":"start.mjs","sources":["../../src/cli/commands/start.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { createApibara } from \"apibara/core\";\nimport { defineCommand } from \"citty\";\nimport { colors } from \"consola/utils\";\nimport fse from \"fs-extra\";\nimport { resolve } from \"pathe\";\nimport { checkForUnknownArgs, commonArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"start\",\n description: \"Start one indexer\",\n },\n args: {\n ...commonArgs,\n indexer: {\n type: \"string\",\n description: \"The indexer to start\",\n required: true,\n },\n preset: {\n type: \"string\",\n description: \"The preset to use\",\n },\n },\n async run({ args, cmd }) {\n const { indexer, preset } = args;\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n await checkForUnknownArgs(args, cmd);\n\n const apibara = await createApibara({\n rootDir,\n preset,\n });\n\n apibara.logger.start(\n `Starting indexer ${indexer}${preset ? ` with preset ${preset}` : \"\"}`,\n );\n\n const outputDir = apibara.options.outputDir || \"./.apibara/build\";\n const entry = resolve(outputDir, \"start.mjs\");\n\n if (!fse.existsSync(entry)) {\n apibara.logger.error(\n `Output directory ${outputDir} does not exist. Try building the indexer with \"apibara build\" first.`,\n );\n return process.exit(1);\n }\n\n await apibara.close();\n\n const childArgs = [entry, \"start\", \"--indexer\", indexer];\n\n const childProcess = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n childProcess.on(\"close\", (code, signal) => {\n console.log();\n apibara.logger.info(\n `Indexers process exited${\n code !== null ? ` with code ${colors.red(code)}` : \"\"\n }`,\n );\n });\n },\n});\n"],"names":[],"mappings":";;;;;;;;;AAQA,cAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,WAAa,EAAA,mBAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,sBAAA;AAAA,MACb,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,mBAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,EAAE,OAAS,EAAA,MAAA,EAAW,GAAA,IAAA,CAAA;AAC5B,IAAA,MAAM,UAAU,OAAS,CAAA,IAAA,CAAK,GAAO,IAAA,IAAA,CAAK,QAAQ,GAAc,CAAA,CAAA;AAEhE,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAM,MAAA,OAAA,GAAU,MAAM,aAAc,CAAA;AAAA,MAClC,OAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA;AAAA,MACb,oBAAoB,OAAO,CAAA,EAAG,SAAS,CAAgB,aAAA,EAAA,MAAM,KAAK,EAAE,CAAA,CAAA;AAAA,KACtE,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,OAAQ,CAAA,OAAA,CAAQ,SAAa,IAAA,kBAAA,CAAA;AAC/C,IAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,SAAA,EAAW,WAAW,CAAA,CAAA;AAE5C,IAAA,IAAI,CAAC,GAAA,CAAI,UAAW,CAAA,KAAK,CAAG,EAAA;AAC1B,MAAA,OAAA,CAAQ,MAAO,CAAA,KAAA;AAAA,QACb,oBAAoB,SAAS,CAAA,qEAAA,CAAA;AAAA,OAC/B,CAAA;AACA,MAAO,OAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KACvB;AAEA,IAAA,MAAM,QAAQ,KAAM,EAAA,CAAA;AAEpB,IAAA,MAAM,SAAY,GAAA,CAAC,KAAO,EAAA,OAAA,EAAS,aAAa,OAAO,CAAA,CAAA;AAEvD,IAAM,MAAA,YAAA,GAAe,KAAM,CAAA,MAAA,EAAQ,SAAW,EAAA;AAAA,MAC5C,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,YAAA,CAAa,EAAG,CAAA,OAAA,EAAS,CAAC,IAAA,EAAM,MAAW,KAAA;AACzC,MAAA,OAAA,CAAQ,GAAI,EAAA,CAAA;AACZ,MAAA,OAAA,CAAQ,MAAO,CAAA,IAAA;AAAA,QACb,CAAA,uBAAA,EACE,SAAS,IAAO,GAAA,CAAA,WAAA,EAAc,OAAO,GAAI,CAAA,IAAI,CAAC,CAAA,CAAA,GAAK,EACrD,CAAA,CAAA;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"start.mjs","sources":["../../src/cli/commands/start.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { checkForUnknownArgs, commonArgs } from \"apibara/common\";\nimport { createApibara } from \"apibara/core\";\nimport { defineCommand } from \"citty\";\nimport { colors } from \"consola/utils\";\nimport fse from \"fs-extra\";\nimport { resolve } from \"pathe\";\n\nexport default defineCommand({\n meta: {\n name: \"start\",\n description: \"Start one indexer\",\n },\n args: {\n ...commonArgs,\n indexer: {\n type: \"string\",\n description: \"The indexer to start\",\n required: true,\n },\n preset: {\n type: \"string\",\n description: \"The preset to use\",\n },\n },\n async run({ args, cmd }) {\n const { indexer, preset } = args;\n const rootDir = resolve((args.dir || args._dir || \".\") as string);\n\n await checkForUnknownArgs(args, cmd);\n\n const apibara = await createApibara({\n rootDir,\n preset,\n });\n\n apibara.logger.start(\n `Starting indexer ${indexer}${preset ? ` with preset ${preset}` : \"\"}`,\n );\n\n const outputDir = apibara.options.outputDir || \"./.apibara/build\";\n const entry = resolve(outputDir, \"start.mjs\");\n\n if (!fse.existsSync(entry)) {\n apibara.logger.error(\n `Output directory ${outputDir} does not exist. Try building the indexer with \"apibara build\" first.`,\n );\n return process.exit(1);\n }\n\n await apibara.close();\n\n const childArgs = [\n entry,\n \"start\",\n \"--indexer\",\n indexer,\n // important: this is required to run the indexer with apibara cli to load runtime values correctly\n \"--no-standalone\",\n ...(preset ? [\"--preset\", preset] : []),\n ];\n\n const childProcess = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n childProcess.on(\"close\", (code, signal) => {\n console.log();\n apibara.logger.info(\n `Indexers process exited${\n code !== null ? ` with code ${colors.red(code)}` : \"\"\n }`,\n );\n });\n },\n});\n"],"names":[],"mappings":";;;;;;;;AAQA,cAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,WAAa,EAAA,mBAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,IACH,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,sBAAA;AAAA,MACb,QAAU,EAAA,IAAA;AAAA,KACZ;AAAA,IACA,MAAQ,EAAA;AAAA,MACN,IAAM,EAAA,QAAA;AAAA,MACN,WAAa,EAAA,mBAAA;AAAA,KACf;AAAA,GACF;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,EAAE,OAAS,EAAA,MAAA,EAAW,GAAA,IAAA,CAAA;AAC5B,IAAA,MAAM,UAAU,OAAS,CAAA,IAAA,CAAK,GAAO,IAAA,IAAA,CAAK,QAAQ,GAAc,CAAA,CAAA;AAEhE,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAM,MAAA,OAAA,GAAU,MAAM,aAAc,CAAA;AAAA,MAClC,OAAA;AAAA,MACA,MAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,OAAA,CAAQ,MAAO,CAAA,KAAA;AAAA,MACb,oBAAoB,OAAO,CAAA,EAAG,SAAS,CAAgB,aAAA,EAAA,MAAM,KAAK,EAAE,CAAA,CAAA;AAAA,KACtE,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,OAAQ,CAAA,OAAA,CAAQ,SAAa,IAAA,kBAAA,CAAA;AAC/C,IAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,SAAA,EAAW,WAAW,CAAA,CAAA;AAE5C,IAAA,IAAI,CAAC,GAAA,CAAI,UAAW,CAAA,KAAK,CAAG,EAAA;AAC1B,MAAA,OAAA,CAAQ,MAAO,CAAA,KAAA;AAAA,QACb,oBAAoB,SAAS,CAAA,qEAAA,CAAA;AAAA,OAC/B,CAAA;AACA,MAAO,OAAA,OAAA,CAAQ,KAAK,CAAC,CAAA,CAAA;AAAA,KACvB;AAEA,IAAA,MAAM,QAAQ,KAAM,EAAA,CAAA;AAEpB,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,KAAA;AAAA,MACA,OAAA;AAAA,MACA,WAAA;AAAA,MACA,OAAA;AAAA;AAAA,MAEA,iBAAA;AAAA,MACA,GAAI,MAAS,GAAA,CAAC,UAAY,EAAA,MAAM,IAAI,EAAC;AAAA,KACvC,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,KAAM,CAAA,MAAA,EAAQ,SAAW,EAAA;AAAA,MAC5C,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,YAAA,CAAa,EAAG,CAAA,OAAA,EAAS,CAAC,IAAA,EAAM,MAAW,KAAA;AACzC,MAAA,OAAA,CAAQ,GAAI,EAAA,CAAA;AACZ,MAAA,OAAA,CAAQ,MAAO,CAAA,IAAA;AAAA,QACb,CAAA,uBAAA,EACE,SAAS,IAAO,GAAA,CAAA,WAAA,EAAc,OAAO,GAAI,CAAA,IAAI,CAAC,CAAA,CAAA,GAAK,EACrD,CAAA,CAAA;AAAA,OACF,CAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { spawn } from 'node:child_process';
2
2
  import { join } from 'node:path';
3
+ import { commonArgs, checkForUnknownArgs } from 'apibara/common';
3
4
  import { createApibara, prepare, writeTypes, build } from 'apibara/core';
4
5
  import { runtimeDir } from 'apibara/runtime/meta';
5
6
  import { defineCommand } from 'citty';
6
7
  import consola from 'consola';
7
8
  import { resolve } from 'pathe';
8
- import { c as commonArgs, a as checkForUnknownArgs } from '../shared/apibara.63c9a277.mjs';
9
9
 
10
10
  const writeProjectInfo = defineCommand({
11
11
  meta: {
@@ -1 +1 @@
1
- {"version":3,"file":"write-project-info.mjs","sources":["../../src/cli/commands/write-project-info.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { join } from \"node:path\";\nimport { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport { defineCommand } from \"citty\";\nimport consola from \"consola\";\nimport { resolve } from \"pathe\";\nimport { checkForUnknownArgs, commonArgs } from \"../common\";\n\nexport default defineCommand({\n meta: {\n name: \"write-project-info\",\n description: \"Write json-encoded information about the project.\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n consola.start(\"Generating `project-info.json`\");\n\n const rootDir = resolve((args.dir || \".\") as string);\n const apibara = await createApibara({ rootDir, disableLogs: true });\n\n apibara.options.entry = join(runtimeDir, \"project-info.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n\n const childArgs = [\n resolve(\n apibara.options.outputDir || \"./.apibara/build\",\n \"project-info.mjs\",\n ),\n \"start\",\n \"--build-dir\",\n apibara.options.buildDir,\n ];\n\n const child = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n child.on(\"close\", (code) => {\n if (code === 0) {\n consola.success(\"Project info written to `.apibara/project-info.json`\");\n }\n });\n\n child.on(\"error\", (error) => {\n consola.error(`Failed to write project info: ${error.message}`, error);\n });\n },\n});\n"],"names":[],"mappings":";;;;;;;;;AASA,yBAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,oBAAA;AAAA,IACN,WAAa,EAAA,mDAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,OAAA,CAAQ,MAAM,gCAAgC,CAAA,CAAA;AAE9C,IAAA,MAAM,OAAU,GAAA,OAAA,CAAS,IAAK,CAAA,GAAA,IAAO,GAAc,CAAA,CAAA;AACnD,IAAA,MAAM,UAAU,MAAM,aAAA,CAAc,EAAE,OAAS,EAAA,WAAA,EAAa,MAAM,CAAA,CAAA;AAElE,IAAA,OAAA,CAAQ,OAAQ,CAAA,KAAA,GAAQ,IAAK,CAAA,UAAA,EAAY,kBAAkB,CAAA,CAAA;AAE3D,IAAA,MAAM,QAAQ,OAAO,CAAA,CAAA;AACrB,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AACxB,IAAA,MAAM,MAAM,OAAO,CAAA,CAAA;AAEnB,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,OAAA;AAAA,QACE,OAAA,CAAQ,QAAQ,SAAa,IAAA,kBAAA;AAAA,QAC7B,kBAAA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAQ,OAAQ,CAAA,QAAA;AAAA,KAClB,CAAA;AAEA,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,MAAA,EAAQ,SAAW,EAAA;AAAA,MACrC,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,KAAA,CAAA,EAAA,CAAG,OAAS,EAAA,CAAC,IAAS,KAAA;AAC1B,MAAA,IAAI,SAAS,CAAG,EAAA;AACd,QAAA,OAAA,CAAQ,QAAQ,sDAAsD,CAAA,CAAA;AAAA,OACxE;AAAA,KACD,CAAA,CAAA;AAED,IAAM,KAAA,CAAA,EAAA,CAAG,OAAS,EAAA,CAAC,KAAU,KAAA;AAC3B,MAAA,OAAA,CAAQ,KAAM,CAAA,CAAA,8BAAA,EAAiC,KAAM,CAAA,OAAO,IAAI,KAAK,CAAA,CAAA;AAAA,KACtE,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
1
+ {"version":3,"file":"write-project-info.mjs","sources":["../../src/cli/commands/write-project-info.ts"],"sourcesContent":["import { spawn } from \"node:child_process\";\nimport { join } from \"node:path\";\nimport { checkForUnknownArgs, commonArgs } from \"apibara/common\";\nimport { build, createApibara, prepare, writeTypes } from \"apibara/core\";\nimport { runtimeDir } from \"apibara/runtime/meta\";\nimport { defineCommand } from \"citty\";\nimport consola from \"consola\";\nimport { resolve } from \"pathe\";\n\nexport default defineCommand({\n meta: {\n name: \"write-project-info\",\n description: \"Write json-encoded information about the project.\",\n },\n args: {\n ...commonArgs,\n },\n async run({ args, cmd }) {\n await checkForUnknownArgs(args, cmd);\n\n consola.start(\"Generating `project-info.json`\");\n\n const rootDir = resolve((args.dir || \".\") as string);\n const apibara = await createApibara({ rootDir, disableLogs: true });\n\n apibara.options.entry = join(runtimeDir, \"project-info.mjs\");\n\n await prepare(apibara);\n await writeTypes(apibara);\n await build(apibara);\n\n const childArgs = [\n resolve(\n apibara.options.outputDir || \"./.apibara/build\",\n \"project-info.mjs\",\n ),\n \"start\",\n \"--build-dir\",\n apibara.options.buildDir,\n ];\n\n const child = spawn(\"node\", childArgs, {\n stdio: \"inherit\",\n });\n\n child.on(\"close\", (code) => {\n if (code === 0) {\n consola.success(\"Project info written to `.apibara/project-info.json`\");\n }\n });\n\n child.on(\"error\", (error) => {\n consola.error(`Failed to write project info: ${error.message}`, error);\n });\n },\n});\n"],"names":[],"mappings":";;;;;;;;;AASA,yBAAe,aAAc,CAAA;AAAA,EAC3B,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,oBAAA;AAAA,IACN,WAAa,EAAA,mDAAA;AAAA,GACf;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,GAAG,UAAA;AAAA,GACL;AAAA,EACA,MAAM,GAAA,CAAI,EAAE,IAAA,EAAM,KAAO,EAAA;AACvB,IAAM,MAAA,mBAAA,CAAoB,MAAM,GAAG,CAAA,CAAA;AAEnC,IAAA,OAAA,CAAQ,MAAM,gCAAgC,CAAA,CAAA;AAE9C,IAAA,MAAM,OAAU,GAAA,OAAA,CAAS,IAAK,CAAA,GAAA,IAAO,GAAc,CAAA,CAAA;AACnD,IAAA,MAAM,UAAU,MAAM,aAAA,CAAc,EAAE,OAAS,EAAA,WAAA,EAAa,MAAM,CAAA,CAAA;AAElE,IAAA,OAAA,CAAQ,OAAQ,CAAA,KAAA,GAAQ,IAAK,CAAA,UAAA,EAAY,kBAAkB,CAAA,CAAA;AAE3D,IAAA,MAAM,QAAQ,OAAO,CAAA,CAAA;AACrB,IAAA,MAAM,WAAW,OAAO,CAAA,CAAA;AACxB,IAAA,MAAM,MAAM,OAAO,CAAA,CAAA;AAEnB,IAAA,MAAM,SAAY,GAAA;AAAA,MAChB,OAAA;AAAA,QACE,OAAA,CAAQ,QAAQ,SAAa,IAAA,kBAAA;AAAA,QAC7B,kBAAA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACA,aAAA;AAAA,MACA,QAAQ,OAAQ,CAAA,QAAA;AAAA,KAClB,CAAA;AAEA,IAAM,MAAA,KAAA,GAAQ,KAAM,CAAA,MAAA,EAAQ,SAAW,EAAA;AAAA,MACrC,KAAO,EAAA,SAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,KAAA,CAAA,EAAA,CAAG,OAAS,EAAA,CAAC,IAAS,KAAA;AAC1B,MAAA,IAAI,SAAS,CAAG,EAAA;AACd,QAAA,OAAA,CAAQ,QAAQ,sDAAsD,CAAA,CAAA;AAAA,OACxE;AAAA,KACD,CAAA,CAAA;AAED,IAAM,KAAA,CAAA,EAAA,CAAG,OAAS,EAAA,CAAC,KAAU,KAAA;AAC3B,MAAA,OAAA,CAAQ,KAAM,CAAA,CAAA,8BAAA,EAAiC,KAAM,CAAA,OAAO,IAAI,KAAK,CAAA,CAAA;AAAA,KACtE,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}
@@ -1,3 +1,5 @@
1
+ import { ArgsDef, ParsedArgs, CommandDef } from 'citty';
2
+
1
3
  declare const ENV_INTERNAL_APIBARA_RUNTIME = "_APIBARA_RUNTIME";
2
4
  declare const ENV_INTERNAL_APIBARA_PRESET = "_APIBARA_PRESET";
3
5
  declare const ENV_INTERNAL_APIBARA_PRESETS = "_APIBARA_PRESETS";
@@ -25,4 +27,7 @@ declare function getProcessedRuntimeConfig({ preset, presets, runtimeConfig, use
25
27
  userEnvRuntimeConfig?: Record<string, unknown>;
26
28
  }): Record<string, unknown>;
27
29
 
28
- export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
30
+ declare const commonArgs: ArgsDef;
31
+ declare const checkForUnknownArgs: <T extends ArgsDef = ArgsDef>(args: ParsedArgs<T>, cmd: CommandDef<T>) => Promise<void>;
32
+
33
+ export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, checkForUnknownArgs, commonArgs, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
@@ -1,3 +1,5 @@
1
+ import { ArgsDef, ParsedArgs, CommandDef } from 'citty';
2
+
1
3
  declare const ENV_INTERNAL_APIBARA_RUNTIME = "_APIBARA_RUNTIME";
2
4
  declare const ENV_INTERNAL_APIBARA_PRESET = "_APIBARA_PRESET";
3
5
  declare const ENV_INTERNAL_APIBARA_PRESETS = "_APIBARA_PRESETS";
@@ -25,4 +27,7 @@ declare function getProcessedRuntimeConfig({ preset, presets, runtimeConfig, use
25
27
  userEnvRuntimeConfig?: Record<string, unknown>;
26
28
  }): Record<string, unknown>;
27
29
 
28
- export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
30
+ declare const commonArgs: ArgsDef;
31
+ declare const checkForUnknownArgs: <T extends ArgsDef = ArgsDef>(args: ParsedArgs<T>, cmd: CommandDef<T>) => Promise<void>;
32
+
33
+ export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, checkForUnknownArgs, commonArgs, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
@@ -1,4 +1,6 @@
1
1
  import defu from 'defu';
2
+ import { renderUsage } from 'citty';
3
+ import consola from 'consola';
2
4
 
3
5
  const ENV_INTERNAL_APIBARA_RUNTIME = "_APIBARA_RUNTIME";
4
6
  const ENV_INTERNAL_APIBARA_PRESET = "_APIBARA_PRESET";
@@ -60,5 +62,30 @@ function getProcessedRuntimeConfig({
60
62
  return _runtimeConfig;
61
63
  }
62
64
 
63
- export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
65
+ const commonArgs = {
66
+ dir: {
67
+ type: "string",
68
+ description: "project root directory"
69
+ }
70
+ };
71
+ const checkForUnknownArgs = async (args, cmd) => {
72
+ const definedArgs = [];
73
+ if (cmd.args) {
74
+ for (const [argName, argDef] of Object.entries(cmd.args)) {
75
+ definedArgs.push(argName);
76
+ if (argDef.alias) {
77
+ definedArgs.push(argDef.alias);
78
+ }
79
+ }
80
+ }
81
+ const providedArgs = Object.keys(args).filter((arg) => arg !== "_");
82
+ const wrongArgs = providedArgs.filter((arg) => !definedArgs.includes(arg));
83
+ if (wrongArgs.length > 0) {
84
+ consola.error(`Unknown arguments: ${wrongArgs.join(", ")}`);
85
+ consola.info(await renderUsage(cmd));
86
+ process.exit(1);
87
+ }
88
+ };
89
+
90
+ export { ENV_INTERNAL_APIBARA_PRESET, ENV_INTERNAL_APIBARA_PRESETS, ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME, ENV_INTERNAL_APIBARA_RUNTIME, USER_ENV_APIBARA_RUNTIME_CONFIG, checkForUnknownArgs, commonArgs, getProcessedRuntimeConfig, getRuntimeDataFromEnv };
64
91
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../src/common/constants.ts","../../src/common/helper.ts"],"sourcesContent":["export const ENV_INTERNAL_APIBARA_RUNTIME = \"_APIBARA_RUNTIME\";\nexport const ENV_INTERNAL_APIBARA_PRESET = \"_APIBARA_PRESET\";\nexport const ENV_INTERNAL_APIBARA_PRESETS = \"_APIBARA_PRESETS\";\nexport const ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME =\n \"_APIBARA_PROCESSED_RUNTIME\";\nexport const USER_ENV_APIBARA_RUNTIME_CONFIG = \"APIBARA_RUNTIME_CONFIG\";\n","import defu from \"defu\";\nimport {\n ENV_INTERNAL_APIBARA_PRESET,\n ENV_INTERNAL_APIBARA_PRESETS,\n ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME,\n ENV_INTERNAL_APIBARA_RUNTIME,\n USER_ENV_APIBARA_RUNTIME_CONFIG,\n} from \"./constants\";\n\nexport function getRuntimeDataFromEnv() {\n const processedRuntimeConfig: Record<string, unknown> = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME] ?? \"{}\",\n );\n const preset: string | undefined = process.env[ENV_INTERNAL_APIBARA_PRESET];\n const presets: Record<string, unknown> | undefined = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_PRESETS] ?? \"{}\",\n );\n const runtimeConfig: Record<string, unknown> | undefined = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_RUNTIME] ?? \"{}\",\n );\n const userEnvRuntimeConfig: Record<string, unknown> | undefined = JSON.parse(\n process.env[USER_ENV_APIBARA_RUNTIME_CONFIG] ?? \"{}\",\n );\n\n return {\n userEnvRuntimeConfig,\n processedRuntimeConfig,\n preset,\n presets,\n runtimeConfig,\n };\n}\n\n/**\n * Get the merged runtime config from the user env overrided runtime config, presets and defaults.\n * Priority (Highest to lowest):\n * 1. User env overrided runtime config\n * 2. Preset\n * 3. Defaults\n */\nexport function getProcessedRuntimeConfig({\n preset,\n presets,\n runtimeConfig,\n userEnvRuntimeConfig,\n}: {\n preset?: string;\n presets?: Record<string, unknown>;\n runtimeConfig?: Record<string, unknown>;\n userEnvRuntimeConfig?: Record<string, unknown>;\n}) {\n let _runtimeConfig: Record<string, unknown> = { ...runtimeConfig };\n\n if (preset) {\n if (presets === undefined) {\n throw new Error(\n `Specified preset \"${preset}\" but no presets were defined`,\n );\n }\n\n if (presets[preset] === undefined) {\n throw new Error(`Specified preset \"${preset}\" but it was not defined`);\n }\n\n const presetValue = presets[preset] as {\n runtimeConfig: Record<string, unknown>;\n };\n\n // Preset applied\n _runtimeConfig = defu(presetValue.runtimeConfig, _runtimeConfig);\n }\n\n if (userEnvRuntimeConfig) {\n try {\n // Environment runtime config applied\n _runtimeConfig = defu(userEnvRuntimeConfig, _runtimeConfig);\n } catch (error) {\n throw new Error(\n \"Failed to parse runtime config from process.env.APIBARA_RUNTIME_CONFIG. Please ensure it is a valid JSON string.\",\n { cause: error },\n );\n }\n }\n\n return _runtimeConfig;\n}\n"],"names":[],"mappings":";;AAAO,MAAM,4BAA+B,GAAA,mBAAA;AACrC,MAAM,2BAA8B,GAAA,kBAAA;AACpC,MAAM,4BAA+B,GAAA,mBAAA;AACrC,MAAM,sCACX,GAAA,6BAAA;AACK,MAAM,+BAAkC,GAAA;;ACIxC,SAAS,qBAAwB,GAAA;AACtC,EAAA,MAAM,yBAAkD,IAAK,CAAA,KAAA;AAAA,IAC3D,OAAA,CAAQ,GAAI,CAAA,sCAAsC,CAAK,IAAA,IAAA;AAAA,GACzD,CAAA;AACA,EAAM,MAAA,MAAA,GAA6B,OAAQ,CAAA,GAAA,CAAI,2BAA2B,CAAA,CAAA;AAC1E,EAAA,MAAM,UAA+C,IAAK,CAAA,KAAA;AAAA,IACxD,OAAA,CAAQ,GAAI,CAAA,4BAA4B,CAAK,IAAA,IAAA;AAAA,GAC/C,CAAA;AACA,EAAA,MAAM,gBAAqD,IAAK,CAAA,KAAA;AAAA,IAC9D,OAAA,CAAQ,GAAI,CAAA,4BAA4B,CAAK,IAAA,IAAA;AAAA,GAC/C,CAAA;AACA,EAAA,MAAM,uBAA4D,IAAK,CAAA,KAAA;AAAA,IACrE,OAAA,CAAQ,GAAI,CAAA,+BAA+B,CAAK,IAAA,IAAA;AAAA,GAClD,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,oBAAA;AAAA,IACA,sBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,aAAA;AAAA,GACF,CAAA;AACF,CAAA;AASO,SAAS,yBAA0B,CAAA;AAAA,EACxC,MAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AACF,CAKG,EAAA;AACD,EAAI,IAAA,cAAA,GAA0C,EAAE,GAAG,aAAc,EAAA,CAAA;AAEjE,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,qBAAqB,MAAM,CAAA,6BAAA,CAAA;AAAA,OAC7B,CAAA;AAAA,KACF;AAEA,IAAI,IAAA,OAAA,CAAQ,MAAM,CAAA,KAAM,KAAW,CAAA,EAAA;AACjC,MAAA,MAAM,IAAI,KAAA,CAAM,CAAqB,kBAAA,EAAA,MAAM,CAA0B,wBAAA,CAAA,CAAA,CAAA;AAAA,KACvE;AAEA,IAAM,MAAA,WAAA,GAAc,QAAQ,MAAM,CAAA,CAAA;AAKlC,IAAiB,cAAA,GAAA,IAAA,CAAK,WAAY,CAAA,aAAA,EAAe,cAAc,CAAA,CAAA;AAAA,GACjE;AAEA,EAAA,IAAI,oBAAsB,EAAA;AACxB,IAAI,IAAA;AAEF,MAAiB,cAAA,GAAA,IAAA,CAAK,sBAAsB,cAAc,CAAA,CAAA;AAAA,aACnD,KAAO,EAAA;AACd,MAAA,MAAM,IAAI,KAAA;AAAA,QACR,kHAAA;AAAA,QACA,EAAE,OAAO,KAAM,EAAA;AAAA,OACjB,CAAA;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,cAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../src/common/constants.ts","../../src/common/helper.ts","../../src/common/cli.ts"],"sourcesContent":["export const ENV_INTERNAL_APIBARA_RUNTIME = \"_APIBARA_RUNTIME\";\nexport const ENV_INTERNAL_APIBARA_PRESET = \"_APIBARA_PRESET\";\nexport const ENV_INTERNAL_APIBARA_PRESETS = \"_APIBARA_PRESETS\";\nexport const ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME =\n \"_APIBARA_PROCESSED_RUNTIME\";\nexport const USER_ENV_APIBARA_RUNTIME_CONFIG = \"APIBARA_RUNTIME_CONFIG\";\n","import defu from \"defu\";\nimport {\n ENV_INTERNAL_APIBARA_PRESET,\n ENV_INTERNAL_APIBARA_PRESETS,\n ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME,\n ENV_INTERNAL_APIBARA_RUNTIME,\n USER_ENV_APIBARA_RUNTIME_CONFIG,\n} from \"./constants\";\n\nexport function getRuntimeDataFromEnv() {\n const processedRuntimeConfig: Record<string, unknown> = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_PROCESSED_RUNTIME] ?? \"{}\",\n );\n const preset: string | undefined = process.env[ENV_INTERNAL_APIBARA_PRESET];\n const presets: Record<string, unknown> | undefined = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_PRESETS] ?? \"{}\",\n );\n const runtimeConfig: Record<string, unknown> | undefined = JSON.parse(\n process.env[ENV_INTERNAL_APIBARA_RUNTIME] ?? \"{}\",\n );\n const userEnvRuntimeConfig: Record<string, unknown> | undefined = JSON.parse(\n process.env[USER_ENV_APIBARA_RUNTIME_CONFIG] ?? \"{}\",\n );\n\n return {\n userEnvRuntimeConfig,\n processedRuntimeConfig,\n preset,\n presets,\n runtimeConfig,\n };\n}\n\n/**\n * Get the merged runtime config from the user env overrided runtime config, presets and defaults.\n * Priority (Highest to lowest):\n * 1. User env overrided runtime config\n * 2. Preset\n * 3. Defaults\n */\nexport function getProcessedRuntimeConfig({\n preset,\n presets,\n runtimeConfig,\n userEnvRuntimeConfig,\n}: {\n preset?: string;\n presets?: Record<string, unknown>;\n runtimeConfig?: Record<string, unknown>;\n userEnvRuntimeConfig?: Record<string, unknown>;\n}) {\n let _runtimeConfig: Record<string, unknown> = { ...runtimeConfig };\n\n if (preset) {\n if (presets === undefined) {\n throw new Error(\n `Specified preset \"${preset}\" but no presets were defined`,\n );\n }\n\n if (presets[preset] === undefined) {\n throw new Error(`Specified preset \"${preset}\" but it was not defined`);\n }\n\n const presetValue = presets[preset] as {\n runtimeConfig: Record<string, unknown>;\n };\n\n // Preset applied\n _runtimeConfig = defu(presetValue.runtimeConfig, _runtimeConfig);\n }\n\n if (userEnvRuntimeConfig) {\n try {\n // Environment runtime config applied\n _runtimeConfig = defu(userEnvRuntimeConfig, _runtimeConfig);\n } catch (error) {\n throw new Error(\n \"Failed to parse runtime config from process.env.APIBARA_RUNTIME_CONFIG. Please ensure it is a valid JSON string.\",\n { cause: error },\n );\n }\n }\n\n return _runtimeConfig;\n}\n","import {\n type ArgsDef,\n type CommandDef,\n type ParsedArgs,\n renderUsage,\n} from \"citty\";\nimport consola from \"consola\";\n\nexport const commonArgs = <ArgsDef>{\n dir: {\n type: \"string\",\n description: \"project root directory\",\n },\n};\n\nexport const checkForUnknownArgs = async <T extends ArgsDef = ArgsDef>(\n args: ParsedArgs<T>,\n cmd: CommandDef<T>,\n) => {\n // Create a list of defined args including both the main arg names and their aliases\n const definedArgs: string[] = [];\n if (cmd.args) {\n for (const [argName, argDef] of Object.entries(cmd.args)) {\n definedArgs.push(argName);\n // Add alias to definedArgs if it exists\n if (argDef.alias) {\n definedArgs.push(argDef.alias);\n }\n }\n }\n\n const providedArgs = Object.keys(args).filter((arg) => arg !== \"_\");\n const wrongArgs = providedArgs.filter((arg) => !definedArgs.includes(arg));\n\n if (wrongArgs.length > 0) {\n consola.error(`Unknown arguments: ${wrongArgs.join(\", \")}`);\n consola.info(await renderUsage(cmd));\n process.exit(1);\n }\n};\n"],"names":[],"mappings":"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"}
@@ -433,8 +433,7 @@ ${storage === "postgres" ? `import * as schema from "../lib/schema";` : ""}
433
433
 
434
434
 
435
435
  export default function (runtimeConfig${language === "typescript" ? ": ApibaraRuntimeConfig" : ""}) {
436
- const indexerId = "${indexerId}";
437
- const { startingBlock, streamUrl } = runtimeConfig[indexerId];
436
+ const { startingBlock, streamUrl } = runtimeConfig["${indexerId}"];
438
437
  ${storage === "postgres" ? `const db = drizzle({
439
438
  schema,
440
439
  });` : ""}
@@ -444,7 +443,7 @@ export default function (runtimeConfig${language === "typescript" ? ": ApibaraRu
444
443
  finality: "accepted",
445
444
  startingBlock: BigInt(startingBlock),
446
445
  filter: {
447
- header: "always",
446
+ ${chain === "ethereum" ? "logs: []," : chain === "starknet" ? "events: []," : ""}
448
447
  },
449
448
  plugins: [${storage === "postgres" ? "drizzleStorage({ db, migrate: { migrationsFolder: './drizzle' } })" : ""}],
450
449
  async transform({ endCursor, finality }) {