vitest-pool-assemblyscript 0.2.0

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 (83) hide show
  1. package/BINARYEN_VERSION +1 -0
  2. package/LICENSE +53 -0
  3. package/README.md +607 -0
  4. package/assembly/compare.ts +219 -0
  5. package/assembly/describe.ts +104 -0
  6. package/assembly/expect.ts +335 -0
  7. package/assembly/index.ts +14 -0
  8. package/assembly/options.ts +198 -0
  9. package/assembly/test.ts +147 -0
  10. package/assembly/tsconfig.json +6 -0
  11. package/binding.gyp +62 -0
  12. package/dist/ast-visitor-DC3SuTzs.mjs +310 -0
  13. package/dist/ast-visitor-DC3SuTzs.mjs.map +1 -0
  14. package/dist/compile-runner-8h0dBwG2.mjs +80 -0
  15. package/dist/compile-runner-8h0dBwG2.mjs.map +1 -0
  16. package/dist/compiler/transforms/strip-inline.d.mts +18 -0
  17. package/dist/compiler/transforms/strip-inline.d.mts.map +1 -0
  18. package/dist/compiler/transforms/strip-inline.mjs +38 -0
  19. package/dist/compiler/transforms/strip-inline.mjs.map +1 -0
  20. package/dist/compiler-CN6BRK_N.mjs +295 -0
  21. package/dist/compiler-CN6BRK_N.mjs.map +1 -0
  22. package/dist/config/index-v3.d.mts +111 -0
  23. package/dist/config/index-v3.d.mts.map +1 -0
  24. package/dist/config/index-v3.mjs +11 -0
  25. package/dist/config/index-v3.mjs.map +1 -0
  26. package/dist/config/index.d.mts +4 -0
  27. package/dist/config/index.mjs +8 -0
  28. package/dist/constants-CA50WBdr.mjs +130 -0
  29. package/dist/constants-CA50WBdr.mjs.map +1 -0
  30. package/dist/coverage-merge-0WqdC-dq.mjs +22 -0
  31. package/dist/coverage-merge-0WqdC-dq.mjs.map +1 -0
  32. package/dist/coverage-provider/index.d.mts +15 -0
  33. package/dist/coverage-provider/index.d.mts.map +1 -0
  34. package/dist/coverage-provider/index.mjs +535 -0
  35. package/dist/coverage-provider/index.mjs.map +1 -0
  36. package/dist/custom-provider-options-CF5C1kXb.d.mts +26 -0
  37. package/dist/custom-provider-options-CF5C1kXb.d.mts.map +1 -0
  38. package/dist/debug-IeEHsxy0.mjs +195 -0
  39. package/dist/debug-IeEHsxy0.mjs.map +1 -0
  40. package/dist/index-internal.d.mts +23 -0
  41. package/dist/index-internal.d.mts.map +1 -0
  42. package/dist/index-internal.mjs +4 -0
  43. package/dist/index-v3.d.mts +7 -0
  44. package/dist/index-v3.d.mts.map +1 -0
  45. package/dist/index-v3.mjs +206 -0
  46. package/dist/index-v3.mjs.map +1 -0
  47. package/dist/index.d.mts +3 -0
  48. package/dist/index.mjs +8 -0
  49. package/dist/load-user-imports-J9eaAW0_.mjs +801 -0
  50. package/dist/load-user-imports-J9eaAW0_.mjs.map +1 -0
  51. package/dist/pool-runner-init-CEwLyNI3.d.mts +8 -0
  52. package/dist/pool-runner-init-CEwLyNI3.d.mts.map +1 -0
  53. package/dist/pool-runner-init-d5qScS41.mjs +400 -0
  54. package/dist/pool-runner-init-d5qScS41.mjs.map +1 -0
  55. package/dist/pool-thread/compile-worker-thread.d.mts +7 -0
  56. package/dist/pool-thread/compile-worker-thread.d.mts.map +1 -0
  57. package/dist/pool-thread/compile-worker-thread.mjs +42 -0
  58. package/dist/pool-thread/compile-worker-thread.mjs.map +1 -0
  59. package/dist/pool-thread/test-worker-thread.d.mts +7 -0
  60. package/dist/pool-thread/test-worker-thread.d.mts.map +1 -0
  61. package/dist/pool-thread/test-worker-thread.mjs +39 -0
  62. package/dist/pool-thread/test-worker-thread.mjs.map +1 -0
  63. package/dist/pool-thread/v3-tinypool-thread.d.mts +7 -0
  64. package/dist/pool-thread/v3-tinypool-thread.d.mts.map +1 -0
  65. package/dist/pool-thread/v3-tinypool-thread.mjs +57 -0
  66. package/dist/pool-thread/v3-tinypool-thread.mjs.map +1 -0
  67. package/dist/resolve-config-as1w-Qyz.mjs +65 -0
  68. package/dist/resolve-config-as1w-Qyz.mjs.map +1 -0
  69. package/dist/test-runner-B2BpyPNK.mjs +142 -0
  70. package/dist/test-runner-B2BpyPNK.mjs.map +1 -0
  71. package/dist/types-8KKo9Hbf.d.mts +228 -0
  72. package/dist/types-8KKo9Hbf.d.mts.map +1 -0
  73. package/dist/vitest-file-tasks-BUwzh375.mjs +61 -0
  74. package/dist/vitest-file-tasks-BUwzh375.mjs.map +1 -0
  75. package/dist/vitest-tasks-BKS7689f.mjs +319 -0
  76. package/dist/vitest-tasks-BKS7689f.mjs.map +1 -0
  77. package/dist/worker-rpc-channel-lbhK7Qz8.mjs +25 -0
  78. package/dist/worker-rpc-channel-lbhK7Qz8.mjs.map +1 -0
  79. package/package.json +112 -0
  80. package/prebuilds/linux-x64/vitest-pool-assemblyscript.glibc.node +0 -0
  81. package/scripts/install.js +91 -0
  82. package/scripts/setup-binaryen.js +179 -0
  83. package/src/native-instrumentation/addon.cpp +788 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-v3.mjs","names":[],"sources":["../src/pool/v3-process-pool.ts","../src/index-v3.ts"],"sourcesContent":["/**\n * AssemblyScript Pool for Vitest\n */\n\nimport { resolve, basename } from 'node:path';\nimport { access } from 'node:fs/promises';\nimport Tinypool from 'tinypool';\nimport type { SerializedConfig } from 'vitest';\nimport type { Vitest, ProcessPool, TestSpecification } from 'vitest/node';\nimport type { Test } from '@vitest/runner/types';\n\nimport {\n AS_POOL_WORKER_MSG_FLAG,\n ASSEMBLYSCRIPT_POOL_NAME,\n POOL_ERROR_NAMES,\n} from '../types/constants.js';\nimport type {\n ResolvedHybridProviderOptions,\n ProcessPoolRunFileTask,\n WASMCompilation,\n TestRunRecord,\n AssemblyScriptPoolWorkerMessage,\n WorkerThreadInitData,\n} from '../types/types.js';\nimport { setGlobalDebugMode, debug } from '../util/debug.js';\nimport { createWorkerRPCChannel } from './worker-rpc-channel.js';\nimport {\n createPoolErrorFromAnyError,\n isAbortError,\n} from '../util/pool-errors.js';\nimport {\n failTestWithTimeoutError,\n flagTestTerminated,\n} from '../util/vitest-tasks.js';\nimport { createInitialFileTask } from '../util/vitest-file-tasks.js';\nimport { getProjectSerializedOrGlobalConfig, resolvePoolOptions } from '../util/resolve-config.js';\n\n// path assumes that we're running from dist/\nconst WORKER_PATH = resolve(import.meta.dirname, 'pool-thread/v3-tinypool-thread.mjs');\n\nconst POOL_THREAD_IDLE_TIMEOUT_MS = 3_600_000;\n\nasync function dispatchFullWorkerRun(\n spec: TestSpecification,\n config: SerializedConfig,\n isCollectTestsMode: boolean,\n pool: Tinypool,\n poolAbortSignal: AbortSignal,\n fileCache: Map<string, WASMCompilation>,\n testTimeoutCache: Map<string, TestRunRecord>,\n previousTimedOutTest?: Test,\n): Promise<Test | undefined> {\n const fileRunStart = Date.now();\n const testFilePath: string = spec.moduleId; // absolute path\n const base = basename(testFilePath);\n\n debug(`[Pool] ${base} - Starting file worker run at ${fileRunStart} for \"${testFilePath}\"`);\n\n let fileCompilation: WASMCompilation | undefined = fileCache.get(spec.moduleId);\n const isTimeoutRedispatch: boolean = !!previousTimedOutTest && !!fileCompilation;\n\n let timedOutTestThisRun: Test | undefined;\n\n try {\n const fileAbortController = new AbortController();\n const file = isTimeoutRedispatch\n ? previousTimedOutTest!.file\n : createInitialFileTask(spec.moduleId, spec.project.name, config.root, config.testTimeout, config.retry);\n\n const { workerPort, poolPort } = createWorkerRPCChannel(spec.project, isCollectTestsMode);\n\n // Enforce test timeout using setTimeout() and worker messages.\n // 1. worker sends a start message to indicate when the test has started\n // 2. pool starts a timer using setTimeout() when worker start message is received\n // 3. worker sends an end message to indicate when the test has completed\n // - if test completes before the timeout expires, the timer is cleared and everything proceeds\n // - if timeout expires, the test worker is actively aborted using the test-specific AbortController\n //\n // Monitoring from the pool main thread and actively aborting the runner allows for accurate enforcement of the test timeout,\n // which is much harder/impossible to control from within the worker thread itself, which is busy/blocked running \n // the long-running WASM test.\n poolPort.on('message', event => {\n if (!event[AS_POOL_WORKER_MSG_FLAG]) return;\n\n const msg = event as AssemblyScriptPoolWorkerMessage;\n if (msg.type === 'file-compiled') {\n const { compilation } = msg;\n fileCache.set(compilation.filePath, compilation);\n debug(`[Pool] ${basename(compilation.filePath)} - Got compiled file cache for \"${compilation.filePath}\"`);\n } else if (msg.type === 'execution-start') {\n const poolReceivedExecutionStart = Date.now();\n const { executionStart, test } = msg;\n\n const transitDuration = poolReceivedExecutionStart - executionStart;\n const adjustedTimeout = Math.max(test.timeout - transitDuration, 0);\n\n debug(`[Pool] ${base} - \"${test.name}\": Received worker execution start (transit ${transitDuration} ms)`\n + ` - Beginning test timeout timer ${test.timeout} ms (adjusted timeout: ${adjustedTimeout} ms)`\n );\n \n // Enforce test timeout\n const testTimeoutId = setTimeout(async () => {\n const poolTimeoutTime = Date.now();\n const record = testTimeoutCache.get(test.id);\n testTimeoutCache.delete(test.id);\n\n if (record) {\n const elapsedFromWorkerExecutionStart = poolTimeoutTime - record.executionStart;\n\n failTestWithTimeoutError(record.test, poolTimeoutTime, elapsedFromWorkerExecutionStart);\n\n flagTestTerminated(record.test);\n\n timedOutTestThisRun = test;\n fileAbortController.abort(POOL_ERROR_NAMES.WASMExecutionTimeoutError);\n\n debug(`[Pool] ${base} - \"${record.test.name}\" timed out (threshold ${record.test.timeout} ms)`\n + ` - Aborted worker job (duration before abort: ${elapsedFromWorkerExecutionStart} ms)`\n );\n }\n }, adjustedTimeout);\n\n testTimeoutCache.set(test.id, {\n test: test,\n executionStart: executionStart,\n timeoutId: testTimeoutId,\n });\n\n } else if (msg.type === 'execution-end') {\n const poolReceivedExecutionEnd = Date.now();\n const { executionEnd, testTaskId } = msg;\n const record = testTimeoutCache.get(testTaskId);\n testTimeoutCache.delete(testTaskId);\n\n if (record) {\n clearTimeout(record.timeoutId);\n\n const elapsedFromWorkerExecutionStart = executionEnd - record.executionStart!;\n const transitDuration = poolReceivedExecutionEnd - executionEnd;\n debug(`[Pool] ${base} - \"${record.test.name}\": Received worker execution end (transit: ${transitDuration} ms)`\n + ` - Clearing test timeout timer - Actual duration from worker exection start: ${elapsedFromWorkerExecutionStart} ms`\n );\n }\n }\n });\n \n const workerTaskData: ProcessPoolRunFileTask = {\n dispatchStart: Date.now(),\n port: workerPort,\n file,\n config,\n isCollectTestsMode,\n timedOutTest: previousTimedOutTest,\n timedOutCompilation: fileCompilation\n };\n\n try {\n await pool.run(workerTaskData, {\n name: 'runTestFile',\n transferList: [workerPort],\n signal: AbortSignal.any([poolAbortSignal, fileAbortController.signal]),\n });\n } finally {\n workerPort.close();\n poolPort.close();\n }\n \n return;\n } catch (error) {\n if (isAbortError(error)) {\n debug(`[Pool] ${base} - file worker aborted during run: ${String(error)}`);\n \n if (!!timedOutTestThisRun) {\n // swallow abort error, return timed out test so worker can be re-launched\n return timedOutTestThisRun;\n } else {\n // swallow abort error, this file worker run is done\n return;\n }\n }\n\n throw createPoolErrorFromAnyError(`${base} - unhandled file worker failure`, POOL_ERROR_NAMES.PoolError, error);\n } finally {\n debug(`[Pool] ${base} - Finished File Worker Execution`);\n }\n}\n\n/**\n * Run / Collect tests\n */\nasync function runTests(\n specs: TestSpecification[],\n isCollectTestsMode: boolean,\n pool: Tinypool,\n poolAbortController: AbortController,\n _invalidatedFiles?: string[]\n): Promise<void> {\n const mode = isCollectTestsMode ? 'collectTests' : 'runTests';\n debug(`[Pool] -------- ${mode} called for ${specs.length} specs --------`);\n\n // TODO - invalidation\n // const invalidCount = invalidatedFiles?.length ?? 0;\n // debug('[Pool] Invalidated files:', invalidCount);\n\n // if (invalidCount > 0) {\n // // probably:\n // // 0. pre-build a cached map of source files to specs that import them (using debuginfo?)\n // // 1. check if invalidated file is in map: if NOT ignore & continue loop to next file\n // // 2. create file worker for each spec the invalidated file maps to\n // }\n\n const fileCache: Map<string, WASMCompilation> = new Map();\n const testTimeoutCache: Map<string, TestRunRecord> = new Map();\n\n // Create worker for each file\n const fileWorkers: Promise<void>[] = specs.map(async (spec: TestSpecification): Promise<void> => {\n const { serializedConfig } = spec.project;\n let timedOutTest = await dispatchFullWorkerRun(spec, serializedConfig, isCollectTestsMode, pool, poolAbortController.signal, fileCache, testTimeoutCache);\n \n while (timedOutTest) {\n timedOutTest = await dispatchFullWorkerRun(spec, serializedConfig, isCollectTestsMode, pool, poolAbortController.signal, fileCache, testTimeoutCache, timedOutTest);\n }\n });\n\n if (isCollectTestsMode) {\n try {\n await Promise.all(fileWorkers);\n debug('[Pool] collectTests - All file workers resolved');\n } catch (err) {\n debug('[Pool] collectTests - File worker REJECTED, Calling Pool Abort to bail this collectTests run');\n poolAbortController.abort();\n }\n } else {\n const results = await Promise.allSettled(fileWorkers);\n const unexpectedErrors: any[] = [];\n results.forEach(r => {\n if (r.status === 'rejected') {\n unexpectedErrors.push(r.reason);\n }\n });\n\n if (unexpectedErrors.length === 0) {\n debug(`[Pool] ${mode} - All file workers resolved`);\n } else {\n debug(`[Pool] ${mode} - Some file workers REJECTED unexpectedly. Throwing error(s) to vitest:`, unexpectedErrors);\n throw {\n name: POOL_ERROR_NAMES.PoolError,\n message: `Unexpected AssemblyScript Pool Error(s) Encountered during ${mode}`,\n cause: unexpectedErrors[0]\n };\n }\n }\n\n debug(`[Pool] Timeout Cache Size: ${testTimeoutCache.size}`);\n testTimeoutCache.forEach((record: TestRunRecord, testId: string) => {\n if (record) {\n debug(`[Pool] Leftover timeout entry for task: ${record.test.name}`);\n clearTimeout(record.timeoutId);\n } else {\n debug(`[Pool] Empty test timeout entry for task: ${testId}`);\n }\n });\n\n debug(`[Pool] -------- ${mode} completed --------`);\n}\n\nexport function createAssemblyScriptProcessPool(ctx: Vitest): ProcessPool {\n const { config, foundProjectSerializedConfig } = getProjectSerializedOrGlobalConfig(ctx);\n \n // Resolve pool options and initialize debug mode\n // @ts-ignore - we build with v4, but this is correct for v3 (has Config.poolOptions)\n const poolOptions = resolvePoolOptions(config?.poolOptions);\n setGlobalDebugMode(poolOptions.debug);\n\n debug('[Pool] Initializing AssemblyScript Pool');\n\n if (foundProjectSerializedConfig) {\n debug(`[Pool] Multi-project mode: Using config from project: \"${config.name}\"`);\n } else {\n debug('[Pool] Single-project mode: No project config found using vitest-pool-assemblyscript pool - Using global config with AssemblyScript pool defaults');\n }\n\n debug(`[Pool] Worker thread path: \"${WORKER_PATH}\"`);\n debug(`[Pool] Worker thread configuration - maxThreads: ${poolOptions.maxThreadsV3}`);\n\n setImmediate(async () => {\n const userImportsFactoryPath = resolve(config.root, poolOptions.wasmImportsFactory ?? '');\n const results = await Promise.allSettled([\n access(WORKER_PATH),\n poolOptions.wasmImportsFactory ? access(userImportsFactoryPath) : Promise.resolve()\n ]);\n\n if (results[0].status === 'rejected') {\n throw new Error(`Cannot access worker thread file at path: \"${WORKER_PATH}\"`);\n }\n if (results[1].status === 'rejected') {\n throw new Error(`Cannot access user WasmImportsFactory at path: \"${userImportsFactoryPath}\".`\n + ` Ensure that your module path is relative to the project root (location of shallowest vitest config),`\n + ` and that it has a default export matching () => WebAssembly.Imports`\n );\n }\n });\n\n // Initialize Tinypool for worker management\n const pool = new Tinypool({\n filename: WORKER_PATH,\n minThreads: 1,\n maxThreads: poolOptions.maxThreadsV3,\n idleTimeout: POOL_THREAD_IDLE_TIMEOUT_MS,\n isolateWorkers: false,\n workerData: {\n asPoolOptions: poolOptions,\n asCoverageOptions: config.coverage as ResolvedHybridProviderOptions,\n projectRoot: config.root,\n } satisfies WorkerThreadInitData,\n });\n\n // For explicitly terminating all worker threads because of\n // ctrl+c in terminal, or bail after test failures exceed bail count\n const poolAbortController = new AbortController();\n ctx.onCancel(reason => {\n const reasonMsg = reason === 'test-failure' ? 'Bail after test failure' : reason;\n console.log(`${ASSEMBLYSCRIPT_POOL_NAME} - Aborting all tests: ${reasonMsg}`);\n poolAbortController.abort();\n });\n\n return {\n name: ASSEMBLYSCRIPT_POOL_NAME,\n\n // runs when executing vitest list\n async collectTests(specs: TestSpecification[]) {\n const isCollectTestsMode = true;\n return runTests(specs, isCollectTestsMode, pool, poolAbortController);\n },\n\n async runTests(specs: TestSpecification[], invalidates?: string[]) {\n const isCollectTestsMode = false;\n return runTests(specs, isCollectTestsMode, pool, poolAbortController, invalidates);\n },\n\n // Cleanup when shutting down\n async close() {\n debug('[Pool] AbortController called');\n poolAbortController.abort();\n \n debug('[Pool] Tinypool destroyed');\n await pool.destroy();\n\n debug('[Pool] Exiting');\n },\n };\n}\n","// default export for v3 pool\nimport { createAssemblyScriptProcessPool } from './pool/v3-process-pool.js';\nexport default createAssemblyScriptProcessPool;\n"],"mappings":";;;;;;;;;;;;;;AAsCA,MAAM,cAAc,QAAQ,OAAO,KAAK,SAAS,qCAAqC;AAEtF,MAAM,8BAA8B;AAEpC,eAAe,sBACb,MACA,QACA,oBACA,MACA,iBACA,WACA,kBACA,sBAC2B;CAC3B,MAAM,eAAe,KAAK,KAAK;CAC/B,MAAM,eAAuB,KAAK;CAClC,MAAM,OAAO,SAAS,aAAa;AAEnC,OAAM,UAAU,KAAK,iCAAiC,aAAa,QAAQ,aAAa,GAAG;CAE3F,IAAI,kBAA+C,UAAU,IAAI,KAAK,SAAS;CAC/E,MAAM,sBAA+B,CAAC,CAAC,wBAAwB,CAAC,CAAC;CAEjE,IAAI;AAEJ,KAAI;EACF,MAAM,sBAAsB,IAAI,iBAAiB;EACjD,MAAM,OAAO,sBACT,qBAAsB,OACtB,sBAAsB,KAAK,UAAU,KAAK,QAAQ,MAAM,OAAO,MAAM,OAAO,aAAa,OAAO,MAAM;EAE1G,MAAM,EAAE,YAAY,aAAa,uBAAuB,KAAK,SAAS,mBAAmB;AAYzF,WAAS,GAAG,YAAW,UAAS;AAC9B,OAAI,CAAC,qBAAgC;GAErC,MAAM,MAAM;AACZ,OAAI,IAAI,SAAS,iBAAiB;IAChC,MAAM,EAAE,gBAAgB;AACxB,cAAU,IAAI,YAAY,UAAU,YAAY;AAChD,UAAM,UAAU,SAAS,YAAY,SAAS,CAAC,kCAAkC,YAAY,SAAS,GAAG;cAChG,IAAI,SAAS,mBAAmB;IACzC,MAAM,6BAA6B,KAAK,KAAK;IAC7C,MAAM,EAAE,gBAAgB,SAAS;IAEjC,MAAM,kBAAkB,6BAA6B;IACrD,MAAM,kBAAkB,KAAK,IAAI,KAAK,UAAU,iBAAiB,EAAE;AAEnE,UAAM,UAAU,KAAK,MAAM,KAAK,KAAK,8CAA8C,gBAAgB,sCAC5D,KAAK,QAAQ,yBAAyB,gBAAgB,MAC5F;IAGD,MAAM,gBAAgB,WAAW,YAAY;KAC3C,MAAM,kBAAkB,KAAK,KAAK;KAClC,MAAM,SAAS,iBAAiB,IAAI,KAAK,GAAG;AAC5C,sBAAiB,OAAO,KAAK,GAAG;AAEhC,SAAI,QAAQ;MACV,MAAM,kCAAkC,kBAAkB,OAAO;AAEjE,+BAAyB,OAAO,MAAM,iBAAiB,gCAAgC;AAEvF,yBAAmB,OAAO,KAAK;AAE/B,4BAAsB;AACtB,0BAAoB,MAAM,iBAAiB,0BAA0B;AAErE,YAAM,UAAU,KAAK,MAAM,OAAO,KAAK,KAAK,yBAAyB,OAAO,KAAK,QAAQ,oDACpC,gCAAgC,MACpF;;OAEF,gBAAgB;AAEnB,qBAAiB,IAAI,KAAK,IAAI;KACtB;KACU;KAChB,WAAW;KACZ,CAAC;cAEO,IAAI,SAAS,iBAAiB;IACvC,MAAM,2BAA2B,KAAK,KAAK;IAC3C,MAAM,EAAE,cAAc,eAAe;IACrC,MAAM,SAAS,iBAAiB,IAAI,WAAW;AAC/C,qBAAiB,OAAO,WAAW;AAEnC,QAAI,QAAQ;AACV,kBAAa,OAAO,UAAU;KAE9B,MAAM,kCAAkC,eAAe,OAAO;KAC9D,MAAM,kBAAkB,2BAA2B;AACnD,WAAM,UAAU,KAAK,MAAM,OAAO,KAAK,KAAK,6CAA6C,gBAAgB,mFACrB,gCAAgC,KACnH;;;IAGL;EAEF,MAAM,iBAAyC;GAC7C,eAAe,KAAK,KAAK;GACzB,MAAM;GACN;GACA;GACA;GACA,cAAc;GACd,qBAAqB;GACtB;AAED,MAAI;AACA,SAAM,KAAK,IAAI,gBAAgB;IAC/B,MAAM;IACN,cAAc,CAAC,WAAW;IAC1B,QAAQ,YAAY,IAAI,CAAC,iBAAiB,oBAAoB,OAAO,CAAC;IACvE,CAAC;YACM;AACR,cAAW,OAAO;AAClB,YAAS,OAAO;;AAGlB;UACO,OAAO;AACd,MAAI,aAAa,MAAM,EAAE;AACvB,SAAM,UAAU,KAAK,qCAAqC,OAAO,MAAM,GAAG;AAE1E,OAAI,CAAC,CAAC,oBAEJ,QAAO;OAGP;;AAIJ,QAAM,4BAA4B,GAAG,KAAK,mCAAmC,iBAAiB,WAAW,MAAM;WACvG;AACR,QAAM,UAAU,KAAK,mCAAmC;;;;;;AAO5D,eAAe,SACb,OACA,oBACA,MACA,qBACA,mBACe;CACf,MAAM,OAAO,qBAAqB,iBAAiB;AACnD,OAAM,mBAAmB,KAAK,cAAc,MAAM,OAAO,iBAAiB;CAa1E,MAAM,4BAA0C,IAAI,KAAK;CACzD,MAAM,mCAA+C,IAAI,KAAK;CAG9D,MAAM,cAA+B,MAAM,IAAI,OAAO,SAA2C;EAC/F,MAAM,EAAE,qBAAqB,KAAK;EAClC,IAAI,eAAe,MAAM,sBAAsB,MAAM,kBAAkB,oBAAoB,MAAM,oBAAoB,QAAQ,WAAW,iBAAiB;AAEzJ,SAAO,aACL,gBAAe,MAAM,sBAAsB,MAAM,kBAAkB,oBAAoB,MAAM,oBAAoB,QAAQ,WAAW,kBAAkB,aAAa;GAErK;AAEF,KAAI,mBACF,KAAI;AACF,QAAM,QAAQ,IAAI,YAAY;AAC9B,QAAM,kDAAkD;UACjD,KAAK;AACZ,QAAM,+FAA+F;AACrG,sBAAoB,OAAO;;MAExB;EACL,MAAM,UAAU,MAAM,QAAQ,WAAW,YAAY;EACrD,MAAM,mBAA0B,EAAE;AAClC,UAAQ,SAAQ,MAAK;AACnB,OAAI,EAAE,WAAW,WACf,kBAAiB,KAAK,EAAE,OAAO;IAEjC;AAEF,MAAI,iBAAiB,WAAW,EAC9B,OAAM,UAAU,KAAK,8BAA8B;OAC9C;AACL,SAAM,UAAU,KAAK,2EAA2E,iBAAiB;AACjH,SAAM;IACJ,MAAM,iBAAiB;IACvB,SAAS,8DAA8D;IACvE,OAAO,iBAAiB;IACzB;;;AAIL,OAAM,8BAA8B,iBAAiB,OAAO;AAC5D,kBAAiB,SAAS,QAAuB,WAAmB;AAClE,MAAI,QAAQ;AACV,SAAM,2CAA2C,OAAO,KAAK,OAAO;AACpE,gBAAa,OAAO,UAAU;QAE9B,OAAM,6CAA6C,SAAS;GAE9D;AAEF,OAAM,mBAAmB,KAAK,qBAAqB;;AAGrD,SAAgB,gCAAgC,KAA0B;CACxE,MAAM,EAAE,QAAQ,iCAAiC,mCAAmC,IAAI;CAIxF,MAAM,cAAc,mBAAmB,QAAQ,YAAY;AAC3D,oBAAmB,YAAY,MAAM;AAErC,OAAM,0CAA0C;AAEhD,KAAI,6BACF,OAAM,0DAA0D,OAAO,KAAK,GAAG;KAE/E,OAAM,oJAAoJ;AAG5J,OAAM,+BAA+B,YAAY,GAAG;AACpD,OAAM,oDAAoD,YAAY,eAAe;AAErF,cAAa,YAAY;EACvB,MAAM,yBAAyB,QAAQ,OAAO,MAAM,YAAY,sBAAsB,GAAG;EACzF,MAAM,UAAU,MAAM,QAAQ,WAAW,CACvC,OAAO,YAAY,EACnB,YAAY,qBAAqB,OAAO,uBAAuB,GAAG,QAAQ,SAAS,CACpF,CAAC;AAEF,MAAI,QAAQ,GAAG,WAAW,WACxB,OAAM,IAAI,MAAM,8CAA8C,YAAY,GAAG;AAE/E,MAAI,QAAQ,GAAG,WAAW,WACxB,OAAM,IAAI,MAAM,mDAAmD,uBAAuB,6KAGzF;GAEH;CAGF,MAAM,OAAO,IAAI,SAAS;EACxB,UAAU;EACV,YAAY;EACZ,YAAY,YAAY;EACxB,aAAa;EACb,gBAAgB;EAChB,YAAY;GACV,eAAe;GACf,mBAAmB,OAAO;GAC1B,aAAa,OAAO;GACrB;EACF,CAAC;CAIF,MAAM,sBAAsB,IAAI,iBAAiB;AACjD,KAAI,UAAS,WAAU;EACrB,MAAM,YAAY,WAAW,iBAAiB,4BAA4B;AAC1E,UAAQ,IAAI,oBAA4B,yBAAyB,YAAY;AAC7E,sBAAoB,OAAO;GAC3B;AAEF,QAAO;EACL;EAGA,MAAM,aAAa,OAA4B;AAE7C,UAAO,SAAS,OADW,MACgB,MAAM,oBAAoB;;EAGvE,MAAM,SAAS,OAA4B,aAAwB;AAEjE,UAAO,SAAS,OADW,OACgB,MAAM,qBAAqB,YAAY;;EAIpF,MAAM,QAAQ;AACZ,SAAM,gCAAgC;AACtC,uBAAoB,OAAO;AAE3B,SAAM,4BAA4B;AAClC,SAAM,KAAK,SAAS;AAEpB,SAAM,iBAAiB;;EAE1B;;;;;AC5VH,uBAAe"}
@@ -0,0 +1,3 @@
1
+ import "./types-8KKo9Hbf.mjs";
2
+ import { createAssemblyScriptPool } from "./pool-runner-init-CEwLyNI3.mjs";
3
+ export { createAssemblyScriptPool };
package/dist/index.mjs ADDED
@@ -0,0 +1,8 @@
1
+ import "./resolve-config-as1w-Qyz.mjs";
2
+ import "./debug-IeEHsxy0.mjs";
3
+ import "./vitest-file-tasks-BUwzh375.mjs";
4
+ import "./vitest-tasks-BKS7689f.mjs";
5
+ import "./worker-rpc-channel-lbhK7Qz8.mjs";
6
+ import { createAssemblyScriptPool } from "./pool-runner-init-d5qScS41.mjs";
7
+
8
+ export { createAssemblyScriptPool };