From ff1ff78e77a8daa78b66fff16f40d5be11d27f4f Mon Sep 17 00:00:00 2001 From: Dylan Conway <35280289+dylan-conway@users.noreply.github.com> Date: Thu, 8 May 2025 16:58:06 -0700 Subject: [PATCH] cmake: change sources from glob-based to file-based (#19535) --- cmake/BakeRuntimeSources.txt | 23 + cmake/BindgenSources.txt | 7 + cmake/BunErrorSources.txt | 12 + cmake/CSources.txt | 11 + cmake/CxxSources.txt | 466 ++++++++++++++++++++ cmake/JavaScriptCodegenSources.txt | 18 + cmake/JavaScriptSources.txt | 163 +++++++ cmake/NodeFallbacksSources.txt | 23 + cmake/Sources.json | 65 +++ cmake/ZigGeneratedClassesSources.txt | 23 + cmake/ZigSources.txt | 610 +++++++++++++++++++++++++++ cmake/scripts/PathUtils.cmake | 35 ++ cmake/targets/BuildBun.cmake | 73 +--- package.json | 1 + scripts/glob-sources.mjs | 40 ++ test/internal/ban-words.test.ts | 53 ++- 16 files changed, 1541 insertions(+), 82 deletions(-) create mode 100644 cmake/BakeRuntimeSources.txt create mode 100644 cmake/BindgenSources.txt create mode 100644 cmake/BunErrorSources.txt create mode 100644 cmake/CSources.txt create mode 100644 cmake/CxxSources.txt create mode 100644 cmake/JavaScriptCodegenSources.txt create mode 100644 cmake/JavaScriptSources.txt create mode 100644 cmake/NodeFallbacksSources.txt create mode 100644 cmake/Sources.json create mode 100644 cmake/ZigGeneratedClassesSources.txt create mode 100644 cmake/ZigSources.txt create mode 100644 cmake/scripts/PathUtils.cmake create mode 100644 scripts/glob-sources.mjs diff --git a/cmake/BakeRuntimeSources.txt b/cmake/BakeRuntimeSources.txt new file mode 100644 index 0000000000..a2d08285da --- /dev/null +++ b/cmake/BakeRuntimeSources.txt @@ -0,0 +1,23 @@ +src/bake/bake.bind.ts +src/bake/bake.d.ts +src/bake/bake.private.d.ts +src/bake/bun-framework-react/index.ts +src/bake/client/css-reloader.ts +src/bake/client/data-view.ts +src/bake/client/error-serialization.ts +src/bake/client/inspect.ts +src/bake/client/JavaScriptSyntaxHighlighter.css +src/bake/client/JavaScriptSyntaxHighlighter.ts +src/bake/client/overlay.css +src/bake/client/overlay.ts +src/bake/client/stack-trace.ts +src/bake/client/websocket.ts +src/bake/debug.ts +src/bake/DevServer.bind.ts +src/bake/enums.ts +src/bake/hmr-module.ts +src/bake/hmr-runtime-client.ts +src/bake/hmr-runtime-error.ts +src/bake/hmr-runtime-server.ts +src/bake/server/stack-trace-stub.ts +src/bake/shared.ts \ No newline at end of file diff --git a/cmake/BindgenSources.txt b/cmake/BindgenSources.txt new file mode 100644 index 0000000000..757bda7c73 --- /dev/null +++ b/cmake/BindgenSources.txt @@ -0,0 +1,7 @@ +src/bake/bake.bind.ts +src/bake/DevServer.bind.ts +src/bun.js/api/BunObject.bind.ts +src/bun.js/bindgen_test.bind.ts +src/bun.js/bindings/NodeModuleModule.bind.ts +src/bun.js/node/node_os.bind.ts +src/fmt.bind.ts \ No newline at end of file diff --git a/cmake/BunErrorSources.txt b/cmake/BunErrorSources.txt new file mode 100644 index 0000000000..d97bcb2742 --- /dev/null +++ b/cmake/BunErrorSources.txt @@ -0,0 +1,12 @@ +packages/bun-error/bun-error.css +packages/bun-error/img/close.png +packages/bun-error/img/error.png +packages/bun-error/img/powered-by.png +packages/bun-error/img/powered-by.webp +packages/bun-error/index.tsx +packages/bun-error/markdown.ts +packages/bun-error/package.json +packages/bun-error/runtime-error.ts +packages/bun-error/sourcemap.ts +packages/bun-error/stack-trace-parser.ts +packages/bun-error/tsconfig.json \ No newline at end of file diff --git a/cmake/CSources.txt b/cmake/CSources.txt new file mode 100644 index 0000000000..67bf951f15 --- /dev/null +++ b/cmake/CSources.txt @@ -0,0 +1,11 @@ +packages/bun-usockets/src/bsd.c +packages/bun-usockets/src/context.c +packages/bun-usockets/src/crypto/openssl.c +packages/bun-usockets/src/eventing/epoll_kqueue.c +packages/bun-usockets/src/eventing/libuv.c +packages/bun-usockets/src/loop.c +packages/bun-usockets/src/quic.c +packages/bun-usockets/src/socket.c +packages/bun-usockets/src/udp.c +src/bun.js/bindings/uv-posix-polyfills.c +src/bun.js/bindings/uv-posix-stubs.c \ No newline at end of file diff --git a/cmake/CxxSources.txt b/cmake/CxxSources.txt new file mode 100644 index 0000000000..18697f349c --- /dev/null +++ b/cmake/CxxSources.txt @@ -0,0 +1,466 @@ +packages/bun-usockets/src/crypto/root_certs.cpp +packages/bun-usockets/src/crypto/sni_tree.cpp +src/bake/BakeGlobalObject.cpp +src/bake/BakeProduction.cpp +src/bake/BakeSourceProvider.cpp +src/bun.js/bindings/ActiveDOMCallback.cpp +src/bun.js/bindings/AsymmetricKeyValue.cpp +src/bun.js/bindings/AsyncContextFrame.cpp +src/bun.js/bindings/Base64Helpers.cpp +src/bun.js/bindings/bindings.cpp +src/bun.js/bindings/blob.cpp +src/bun.js/bindings/bun-simdutf.cpp +src/bun.js/bindings/bun-spawn.cpp +src/bun.js/bindings/BunClientData.cpp +src/bun.js/bindings/BunCommonStrings.cpp +src/bun.js/bindings/BunDebugger.cpp +src/bun.js/bindings/BunGCOutputConstraint.cpp +src/bun.js/bindings/BunGlobalScope.cpp +src/bun.js/bindings/BunHttp2CommonStrings.cpp +src/bun.js/bindings/BunInjectedScriptHost.cpp +src/bun.js/bindings/BunInspector.cpp +src/bun.js/bindings/BunJSCEventLoop.cpp +src/bun.js/bindings/BunObject.cpp +src/bun.js/bindings/BunPlugin.cpp +src/bun.js/bindings/BunProcess.cpp +src/bun.js/bindings/BunString.cpp +src/bun.js/bindings/BunWorkerGlobalScope.cpp +src/bun.js/bindings/c-bindings.cpp +src/bun.js/bindings/CallSite.cpp +src/bun.js/bindings/CallSitePrototype.cpp +src/bun.js/bindings/CodeCoverage.cpp +src/bun.js/bindings/ConsoleObject.cpp +src/bun.js/bindings/Cookie.cpp +src/bun.js/bindings/CookieMap.cpp +src/bun.js/bindings/coroutine.cpp +src/bun.js/bindings/CPUFeatures.cpp +src/bun.js/bindings/decodeURIComponentSIMD.cpp +src/bun.js/bindings/DOMException.cpp +src/bun.js/bindings/DOMFormData.cpp +src/bun.js/bindings/DOMURL.cpp +src/bun.js/bindings/DOMWrapperWorld.cpp +src/bun.js/bindings/DoubleFormatter.cpp +src/bun.js/bindings/EncodeURIComponent.cpp +src/bun.js/bindings/ErrorCode.cpp +src/bun.js/bindings/ErrorStackFrame.cpp +src/bun.js/bindings/ErrorStackTrace.cpp +src/bun.js/bindings/EventLoopTaskNoContext.cpp +src/bun.js/bindings/ExposeNodeModuleGlobals.cpp +src/bun.js/bindings/ffi.cpp +src/bun.js/bindings/helpers.cpp +src/bun.js/bindings/highway_strings.cpp +src/bun.js/bindings/HTMLEntryPoint.cpp +src/bun.js/bindings/ImportMetaObject.cpp +src/bun.js/bindings/inlines.cpp +src/bun.js/bindings/InspectorBunFrontendDevServerAgent.cpp +src/bun.js/bindings/InspectorHTTPServerAgent.cpp +src/bun.js/bindings/InspectorLifecycleAgent.cpp +src/bun.js/bindings/InspectorTestReporterAgent.cpp +src/bun.js/bindings/InternalForTesting.cpp +src/bun.js/bindings/InternalModuleRegistry.cpp +src/bun.js/bindings/IPC.cpp +src/bun.js/bindings/isBuiltinModule.cpp +src/bun.js/bindings/JS2Native.cpp +src/bun.js/bindings/JSBigIntBinding.cpp +src/bun.js/bindings/JSBuffer.cpp +src/bun.js/bindings/JSBufferEncodingType.cpp +src/bun.js/bindings/JSBufferList.cpp +src/bun.js/bindings/JSBundlerPlugin.cpp +src/bun.js/bindings/JSBunRequest.cpp +src/bun.js/bindings/JSCommonJSExtensions.cpp +src/bun.js/bindings/JSCommonJSModule.cpp +src/bun.js/bindings/JSCTaskScheduler.cpp +src/bun.js/bindings/JSCTestingHelpers.cpp +src/bun.js/bindings/JSDOMExceptionHandling.cpp +src/bun.js/bindings/JSDOMFile.cpp +src/bun.js/bindings/JSDOMGlobalObject.cpp +src/bun.js/bindings/JSDOMWrapper.cpp +src/bun.js/bindings/JSDOMWrapperCache.cpp +src/bun.js/bindings/JSEnvironmentVariableMap.cpp +src/bun.js/bindings/JSFFIFunction.cpp +src/bun.js/bindings/JSMockFunction.cpp +src/bun.js/bindings/JSNextTickQueue.cpp +src/bun.js/bindings/JSPropertyIterator.cpp +src/bun.js/bindings/JSS3File.cpp +src/bun.js/bindings/JSSocketAddressDTO.cpp +src/bun.js/bindings/JSStringDecoder.cpp +src/bun.js/bindings/JSWrappingFunction.cpp +src/bun.js/bindings/JSX509Certificate.cpp +src/bun.js/bindings/JSX509CertificateConstructor.cpp +src/bun.js/bindings/JSX509CertificatePrototype.cpp +src/bun.js/bindings/linux_perf_tracing.cpp +src/bun.js/bindings/MarkingConstraint.cpp +src/bun.js/bindings/ModuleLoader.cpp +src/bun.js/bindings/napi_external.cpp +src/bun.js/bindings/napi_finalizer.cpp +src/bun.js/bindings/napi_handle_scope.cpp +src/bun.js/bindings/napi_type_tag.cpp +src/bun.js/bindings/napi.cpp +src/bun.js/bindings/ncrpyto_engine.cpp +src/bun.js/bindings/ncrypto.cpp +src/bun.js/bindings/node/crypto/CryptoDhJob.cpp +src/bun.js/bindings/node/crypto/CryptoGenDhKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoGenDsaKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoGenEcKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoGenKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoGenNidKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoGenRsaKeyPair.cpp +src/bun.js/bindings/node/crypto/CryptoHkdf.cpp +src/bun.js/bindings/node/crypto/CryptoKeygen.cpp +src/bun.js/bindings/node/crypto/CryptoKeys.cpp +src/bun.js/bindings/node/crypto/CryptoPrimes.cpp +src/bun.js/bindings/node/crypto/CryptoSignJob.cpp +src/bun.js/bindings/node/crypto/CryptoUtil.cpp +src/bun.js/bindings/node/crypto/JSCipher.cpp +src/bun.js/bindings/node/crypto/JSCipherConstructor.cpp +src/bun.js/bindings/node/crypto/JSCipherPrototype.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellman.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellmanConstructor.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellmanGroup.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellmanGroupConstructor.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellmanGroupPrototype.cpp +src/bun.js/bindings/node/crypto/JSDiffieHellmanPrototype.cpp +src/bun.js/bindings/node/crypto/JSECDH.cpp +src/bun.js/bindings/node/crypto/JSECDHConstructor.cpp +src/bun.js/bindings/node/crypto/JSECDHPrototype.cpp +src/bun.js/bindings/node/crypto/JSHash.cpp +src/bun.js/bindings/node/crypto/JSHmac.cpp +src/bun.js/bindings/node/crypto/JSKeyObject.cpp +src/bun.js/bindings/node/crypto/JSKeyObjectConstructor.cpp +src/bun.js/bindings/node/crypto/JSKeyObjectPrototype.cpp +src/bun.js/bindings/node/crypto/JSPrivateKeyObject.cpp +src/bun.js/bindings/node/crypto/JSPrivateKeyObjectConstructor.cpp +src/bun.js/bindings/node/crypto/JSPrivateKeyObjectPrototype.cpp +src/bun.js/bindings/node/crypto/JSPublicKeyObject.cpp +src/bun.js/bindings/node/crypto/JSPublicKeyObjectConstructor.cpp +src/bun.js/bindings/node/crypto/JSPublicKeyObjectPrototype.cpp +src/bun.js/bindings/node/crypto/JSSecretKeyObject.cpp +src/bun.js/bindings/node/crypto/JSSecretKeyObjectConstructor.cpp +src/bun.js/bindings/node/crypto/JSSecretKeyObjectPrototype.cpp +src/bun.js/bindings/node/crypto/JSSign.cpp +src/bun.js/bindings/node/crypto/JSVerify.cpp +src/bun.js/bindings/node/crypto/KeyObject.cpp +src/bun.js/bindings/node/crypto/node_crypto_binding.cpp +src/bun.js/bindings/node/NodeTimers.cpp +src/bun.js/bindings/NodeAsyncHooks.cpp +src/bun.js/bindings/NodeDirent.cpp +src/bun.js/bindings/NodeFetch.cpp +src/bun.js/bindings/NodeFSStatBinding.cpp +src/bun.js/bindings/NodeFSStatFSBinding.cpp +src/bun.js/bindings/NodeHTTP.cpp +src/bun.js/bindings/NodeTimerObject.cpp +src/bun.js/bindings/NodeTLS.cpp +src/bun.js/bindings/NodeURL.cpp +src/bun.js/bindings/NodeValidator.cpp +src/bun.js/bindings/NodeVM.cpp +src/bun.js/bindings/NoOpForTesting.cpp +src/bun.js/bindings/ObjectBindings.cpp +src/bun.js/bindings/objects.cpp +src/bun.js/bindings/OsBinding.cpp +src/bun.js/bindings/Path.cpp +src/bun.js/bindings/ProcessBindingBuffer.cpp +src/bun.js/bindings/ProcessBindingConstants.cpp +src/bun.js/bindings/ProcessBindingFs.cpp +src/bun.js/bindings/ProcessBindingNatives.cpp +src/bun.js/bindings/ProcessBindingTTYWrap.cpp +src/bun.js/bindings/ProcessBindingUV.cpp +src/bun.js/bindings/ProcessIdentifier.cpp +src/bun.js/bindings/RegularExpression.cpp +src/bun.js/bindings/S3Error.cpp +src/bun.js/bindings/ScriptExecutionContext.cpp +src/bun.js/bindings/Serialization.cpp +src/bun.js/bindings/ServerRouteList.cpp +src/bun.js/bindings/spawn.cpp +src/bun.js/bindings/SQLClient.cpp +src/bun.js/bindings/sqlite/JSSQLStatement.cpp +src/bun.js/bindings/Strong.cpp +src/bun.js/bindings/Uint8Array.cpp +src/bun.js/bindings/Undici.cpp +src/bun.js/bindings/URLDecomposition.cpp +src/bun.js/bindings/URLSearchParams.cpp +src/bun.js/bindings/UtilInspect.cpp +src/bun.js/bindings/v8/node.cpp +src/bun.js/bindings/v8/shim/Function.cpp +src/bun.js/bindings/v8/shim/FunctionTemplate.cpp +src/bun.js/bindings/v8/shim/GlobalInternals.cpp +src/bun.js/bindings/v8/shim/Handle.cpp +src/bun.js/bindings/v8/shim/HandleScopeBuffer.cpp +src/bun.js/bindings/v8/shim/InternalFieldObject.cpp +src/bun.js/bindings/v8/shim/Map.cpp +src/bun.js/bindings/v8/shim/ObjectTemplate.cpp +src/bun.js/bindings/v8/shim/Oddball.cpp +src/bun.js/bindings/v8/shim/TaggedPointer.cpp +src/bun.js/bindings/v8/v8_api_internal.cpp +src/bun.js/bindings/v8/v8_internal.cpp +src/bun.js/bindings/v8/V8Array.cpp +src/bun.js/bindings/v8/V8Boolean.cpp +src/bun.js/bindings/v8/V8Context.cpp +src/bun.js/bindings/v8/V8EscapableHandleScope.cpp +src/bun.js/bindings/v8/V8EscapableHandleScopeBase.cpp +src/bun.js/bindings/v8/V8External.cpp +src/bun.js/bindings/v8/V8Function.cpp +src/bun.js/bindings/v8/V8FunctionCallbackInfo.cpp +src/bun.js/bindings/v8/V8FunctionTemplate.cpp +src/bun.js/bindings/v8/V8HandleScope.cpp +src/bun.js/bindings/v8/V8Isolate.cpp +src/bun.js/bindings/v8/V8Local.cpp +src/bun.js/bindings/v8/V8Maybe.cpp +src/bun.js/bindings/v8/V8Number.cpp +src/bun.js/bindings/v8/V8Object.cpp +src/bun.js/bindings/v8/V8ObjectTemplate.cpp +src/bun.js/bindings/v8/V8String.cpp +src/bun.js/bindings/v8/V8Template.cpp +src/bun.js/bindings/v8/V8Value.cpp +src/bun.js/bindings/Weak.cpp +src/bun.js/bindings/webcore/AbortController.cpp +src/bun.js/bindings/webcore/AbortSignal.cpp +src/bun.js/bindings/webcore/ActiveDOMObject.cpp +src/bun.js/bindings/webcore/BroadcastChannel.cpp +src/bun.js/bindings/webcore/BunBroadcastChannelRegistry.cpp +src/bun.js/bindings/webcore/CloseEvent.cpp +src/bun.js/bindings/webcore/CommonAtomStrings.cpp +src/bun.js/bindings/webcore/ContextDestructionObserver.cpp +src/bun.js/bindings/webcore/CustomEvent.cpp +src/bun.js/bindings/webcore/CustomEventCustom.cpp +src/bun.js/bindings/webcore/DOMJITHelpers.cpp +src/bun.js/bindings/webcore/ErrorCallback.cpp +src/bun.js/bindings/webcore/ErrorEvent.cpp +src/bun.js/bindings/webcore/Event.cpp +src/bun.js/bindings/webcore/EventContext.cpp +src/bun.js/bindings/webcore/EventDispatcher.cpp +src/bun.js/bindings/webcore/EventEmitter.cpp +src/bun.js/bindings/webcore/EventFactory.cpp +src/bun.js/bindings/webcore/EventListenerMap.cpp +src/bun.js/bindings/webcore/EventNames.cpp +src/bun.js/bindings/webcore/EventPath.cpp +src/bun.js/bindings/webcore/EventTarget.cpp +src/bun.js/bindings/webcore/EventTargetConcrete.cpp +src/bun.js/bindings/webcore/EventTargetFactory.cpp +src/bun.js/bindings/webcore/FetchHeaders.cpp +src/bun.js/bindings/webcore/HeaderFieldTokenizer.cpp +src/bun.js/bindings/webcore/HTTPHeaderField.cpp +src/bun.js/bindings/webcore/HTTPHeaderIdentifiers.cpp +src/bun.js/bindings/webcore/HTTPHeaderMap.cpp +src/bun.js/bindings/webcore/HTTPHeaderNames.cpp +src/bun.js/bindings/webcore/HTTPHeaderStrings.cpp +src/bun.js/bindings/webcore/HTTPHeaderValues.cpp +src/bun.js/bindings/webcore/HTTPParsers.cpp +src/bun.js/bindings/webcore/IdentifierEventListenerMap.cpp +src/bun.js/bindings/webcore/InternalWritableStream.cpp +src/bun.js/bindings/webcore/JSAbortAlgorithm.cpp +src/bun.js/bindings/webcore/JSAbortController.cpp +src/bun.js/bindings/webcore/JSAbortSignal.cpp +src/bun.js/bindings/webcore/JSAbortSignalCustom.cpp +src/bun.js/bindings/webcore/JSAddEventListenerOptions.cpp +src/bun.js/bindings/webcore/JSBroadcastChannel.cpp +src/bun.js/bindings/webcore/JSByteLengthQueuingStrategy.cpp +src/bun.js/bindings/webcore/JSCallbackData.cpp +src/bun.js/bindings/webcore/JSCloseEvent.cpp +src/bun.js/bindings/webcore/JSCookie.cpp +src/bun.js/bindings/webcore/JSCookieMap.cpp +src/bun.js/bindings/webcore/JSCountQueuingStrategy.cpp +src/bun.js/bindings/webcore/JSCustomEvent.cpp +src/bun.js/bindings/webcore/JSDOMBindingInternalsBuiltins.cpp +src/bun.js/bindings/webcore/JSDOMBuiltinConstructorBase.cpp +src/bun.js/bindings/webcore/JSDOMConstructorBase.cpp +src/bun.js/bindings/webcore/JSDOMConvertDate.cpp +src/bun.js/bindings/webcore/JSDOMConvertNumbers.cpp +src/bun.js/bindings/webcore/JSDOMConvertStrings.cpp +src/bun.js/bindings/webcore/JSDOMConvertWebGL.cpp +src/bun.js/bindings/webcore/JSDOMException.cpp +src/bun.js/bindings/webcore/JSDOMFormData.cpp +src/bun.js/bindings/webcore/JSDOMGuardedObject.cpp +src/bun.js/bindings/webcore/JSDOMIterator.cpp +src/bun.js/bindings/webcore/JSDOMOperation.cpp +src/bun.js/bindings/webcore/JSDOMPromise.cpp +src/bun.js/bindings/webcore/JSDOMPromiseDeferred.cpp +src/bun.js/bindings/webcore/JSDOMURL.cpp +src/bun.js/bindings/webcore/JSErrorCallback.cpp +src/bun.js/bindings/webcore/JSErrorEvent.cpp +src/bun.js/bindings/webcore/JSErrorEventCustom.cpp +src/bun.js/bindings/webcore/JSErrorHandler.cpp +src/bun.js/bindings/webcore/JSEvent.cpp +src/bun.js/bindings/webcore/JSEventCustom.cpp +src/bun.js/bindings/webcore/JSEventDOMJIT.cpp +src/bun.js/bindings/webcore/JSEventEmitter.cpp +src/bun.js/bindings/webcore/JSEventEmitterCustom.cpp +src/bun.js/bindings/webcore/JSEventInit.cpp +src/bun.js/bindings/webcore/JSEventListener.cpp +src/bun.js/bindings/webcore/JSEventListenerOptions.cpp +src/bun.js/bindings/webcore/JSEventModifierInit.cpp +src/bun.js/bindings/webcore/JSEventTarget.cpp +src/bun.js/bindings/webcore/JSEventTargetCustom.cpp +src/bun.js/bindings/webcore/JSEventTargetNode.cpp +src/bun.js/bindings/webcore/JSFetchHeaders.cpp +src/bun.js/bindings/webcore/JSMessageChannel.cpp +src/bun.js/bindings/webcore/JSMessageChannelCustom.cpp +src/bun.js/bindings/webcore/JSMessageEvent.cpp +src/bun.js/bindings/webcore/JSMessageEventCustom.cpp +src/bun.js/bindings/webcore/JSMessagePort.cpp +src/bun.js/bindings/webcore/JSMessagePortCustom.cpp +src/bun.js/bindings/webcore/JSMIMEBindings.cpp +src/bun.js/bindings/webcore/JSMIMEParams.cpp +src/bun.js/bindings/webcore/JSMIMEType.cpp +src/bun.js/bindings/webcore/JSPerformance.cpp +src/bun.js/bindings/webcore/JSPerformanceEntry.cpp +src/bun.js/bindings/webcore/JSPerformanceEntryCustom.cpp +src/bun.js/bindings/webcore/JSPerformanceMark.cpp +src/bun.js/bindings/webcore/JSPerformanceMarkOptions.cpp +src/bun.js/bindings/webcore/JSPerformanceMeasure.cpp +src/bun.js/bindings/webcore/JSPerformanceMeasureOptions.cpp +src/bun.js/bindings/webcore/JSPerformanceObserver.cpp +src/bun.js/bindings/webcore/JSPerformanceObserverCallback.cpp +src/bun.js/bindings/webcore/JSPerformanceObserverCustom.cpp +src/bun.js/bindings/webcore/JSPerformanceObserverEntryList.cpp +src/bun.js/bindings/webcore/JSPerformanceResourceTiming.cpp +src/bun.js/bindings/webcore/JSPerformanceServerTiming.cpp +src/bun.js/bindings/webcore/JSPerformanceTiming.cpp +src/bun.js/bindings/webcore/JSReadableByteStreamController.cpp +src/bun.js/bindings/webcore/JSReadableStream.cpp +src/bun.js/bindings/webcore/JSReadableStreamBYOBReader.cpp +src/bun.js/bindings/webcore/JSReadableStreamBYOBRequest.cpp +src/bun.js/bindings/webcore/JSReadableStreamDefaultController.cpp +src/bun.js/bindings/webcore/JSReadableStreamDefaultReader.cpp +src/bun.js/bindings/webcore/JSReadableStreamSink.cpp +src/bun.js/bindings/webcore/JSReadableStreamSource.cpp +src/bun.js/bindings/webcore/JSReadableStreamSourceCustom.cpp +src/bun.js/bindings/webcore/JSStructuredSerializeOptions.cpp +src/bun.js/bindings/webcore/JSTextDecoderStream.cpp +src/bun.js/bindings/webcore/JSTextEncoder.cpp +src/bun.js/bindings/webcore/JSTextEncoderStream.cpp +src/bun.js/bindings/webcore/JSTransformStream.cpp +src/bun.js/bindings/webcore/JSTransformStreamDefaultController.cpp +src/bun.js/bindings/webcore/JSURLSearchParams.cpp +src/bun.js/bindings/webcore/JSWebSocket.cpp +src/bun.js/bindings/webcore/JSWorker.cpp +src/bun.js/bindings/webcore/JSWorkerOptions.cpp +src/bun.js/bindings/webcore/JSWritableStream.cpp +src/bun.js/bindings/webcore/JSWritableStreamDefaultController.cpp +src/bun.js/bindings/webcore/JSWritableStreamDefaultWriter.cpp +src/bun.js/bindings/webcore/JSWritableStreamSink.cpp +src/bun.js/bindings/webcore/MessageChannel.cpp +src/bun.js/bindings/webcore/MessageEvent.cpp +src/bun.js/bindings/webcore/MessagePort.cpp +src/bun.js/bindings/webcore/MessagePortChannel.cpp +src/bun.js/bindings/webcore/MessagePortChannelProvider.cpp +src/bun.js/bindings/webcore/MessagePortChannelProviderImpl.cpp +src/bun.js/bindings/webcore/MessagePortChannelRegistry.cpp +src/bun.js/bindings/webcore/NetworkLoadMetrics.cpp +src/bun.js/bindings/webcore/Performance.cpp +src/bun.js/bindings/webcore/PerformanceEntry.cpp +src/bun.js/bindings/webcore/PerformanceMark.cpp +src/bun.js/bindings/webcore/PerformanceMeasure.cpp +src/bun.js/bindings/webcore/PerformanceObserver.cpp +src/bun.js/bindings/webcore/PerformanceObserverEntryList.cpp +src/bun.js/bindings/webcore/PerformanceResourceTiming.cpp +src/bun.js/bindings/webcore/PerformanceServerTiming.cpp +src/bun.js/bindings/webcore/PerformanceTiming.cpp +src/bun.js/bindings/webcore/PerformanceUserTiming.cpp +src/bun.js/bindings/webcore/ReadableStream.cpp +src/bun.js/bindings/webcore/ReadableStreamDefaultController.cpp +src/bun.js/bindings/webcore/ReadableStreamSink.cpp +src/bun.js/bindings/webcore/ReadableStreamSource.cpp +src/bun.js/bindings/webcore/ResourceTiming.cpp +src/bun.js/bindings/webcore/RFC7230.cpp +src/bun.js/bindings/webcore/SerializedScriptValue.cpp +src/bun.js/bindings/webcore/ServerTiming.cpp +src/bun.js/bindings/webcore/ServerTimingParser.cpp +src/bun.js/bindings/webcore/StructuredClone.cpp +src/bun.js/bindings/webcore/TextEncoder.cpp +src/bun.js/bindings/webcore/WebCoreTypedArrayController.cpp +src/bun.js/bindings/webcore/WebSocket.cpp +src/bun.js/bindings/webcore/Worker.cpp +src/bun.js/bindings/webcore/WritableStream.cpp +src/bun.js/bindings/webcrypto/CommonCryptoDERUtilities.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithm.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CBC.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CBCOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CFB.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CFBOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CTR.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_CTROpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_GCM.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_GCMOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_KW.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmAES_KWOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmECDH.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmECDHOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmECDSA.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmECDSAOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmEd25519.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmHKDF.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmHKDFOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmHMAC.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmHMACOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmPBKDF2.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmPBKDF2OpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRegistry.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRegistryOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSA_OAEP.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSA_OAEPOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSA_PSS.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSA_PSSOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSAES_PKCS1_v1_5.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSAES_PKCS1_v1_5OpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSASSA_PKCS1_v1_5.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmRSASSA_PKCS1_v1_5OpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmSHA1.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmSHA224.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmSHA256.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmSHA384.cpp +src/bun.js/bindings/webcrypto/CryptoAlgorithmSHA512.cpp +src/bun.js/bindings/webcrypto/CryptoDigest.cpp +src/bun.js/bindings/webcrypto/CryptoKey.cpp +src/bun.js/bindings/webcrypto/CryptoKeyAES.cpp +src/bun.js/bindings/webcrypto/CryptoKeyEC.cpp +src/bun.js/bindings/webcrypto/CryptoKeyECOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoKeyHMAC.cpp +src/bun.js/bindings/webcrypto/CryptoKeyOKP.cpp +src/bun.js/bindings/webcrypto/CryptoKeyOKPOpenSSL.cpp +src/bun.js/bindings/webcrypto/CryptoKeyRaw.cpp +src/bun.js/bindings/webcrypto/CryptoKeyRSA.cpp +src/bun.js/bindings/webcrypto/CryptoKeyRSAComponents.cpp +src/bun.js/bindings/webcrypto/CryptoKeyRSAOpenSSL.cpp +src/bun.js/bindings/webcrypto/JSAesCbcCfbParams.cpp +src/bun.js/bindings/webcrypto/JSAesCtrParams.cpp +src/bun.js/bindings/webcrypto/JSAesGcmParams.cpp +src/bun.js/bindings/webcrypto/JSAesKeyParams.cpp +src/bun.js/bindings/webcrypto/JSCryptoAesKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSCryptoAlgorithmParameters.cpp +src/bun.js/bindings/webcrypto/JSCryptoEcKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSCryptoHmacKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSCryptoKey.cpp +src/bun.js/bindings/webcrypto/JSCryptoKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSCryptoKeyPair.cpp +src/bun.js/bindings/webcrypto/JSCryptoKeyUsage.cpp +src/bun.js/bindings/webcrypto/JSCryptoRsaHashedKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSCryptoRsaKeyAlgorithm.cpp +src/bun.js/bindings/webcrypto/JSEcdhKeyDeriveParams.cpp +src/bun.js/bindings/webcrypto/JSEcdsaParams.cpp +src/bun.js/bindings/webcrypto/JSEcKeyParams.cpp +src/bun.js/bindings/webcrypto/JSHkdfParams.cpp +src/bun.js/bindings/webcrypto/JSHmacKeyParams.cpp +src/bun.js/bindings/webcrypto/JSJsonWebKey.cpp +src/bun.js/bindings/webcrypto/JSPbkdf2Params.cpp +src/bun.js/bindings/webcrypto/JSRsaHashedImportParams.cpp +src/bun.js/bindings/webcrypto/JSRsaHashedKeyGenParams.cpp +src/bun.js/bindings/webcrypto/JSRsaKeyGenParams.cpp +src/bun.js/bindings/webcrypto/JSRsaOaepParams.cpp +src/bun.js/bindings/webcrypto/JSRsaOtherPrimesInfo.cpp +src/bun.js/bindings/webcrypto/JSRsaPssParams.cpp +src/bun.js/bindings/webcrypto/JSSubtleCrypto.cpp +src/bun.js/bindings/webcrypto/OpenSSLUtilities.cpp +src/bun.js/bindings/webcrypto/PhonyWorkQueue.cpp +src/bun.js/bindings/webcrypto/SerializedCryptoKeyWrapOpenSSL.cpp +src/bun.js/bindings/webcrypto/SubtleCrypto.cpp +src/bun.js/bindings/workaround-missing-symbols.cpp +src/bun.js/bindings/wtf-bindings.cpp +src/bun.js/bindings/ZigGeneratedCode.cpp +src/bun.js/bindings/ZigGlobalObject.cpp +src/bun.js/bindings/ZigSourceProvider.cpp +src/bun.js/modules/NodeModuleModule.cpp +src/bun.js/modules/NodeTTYModule.cpp +src/bun.js/modules/NodeUtilTypesModule.cpp +src/bun.js/modules/ObjectModule.cpp +src/deps/libuwsockets.cpp +src/io/io_darwin.cpp \ No newline at end of file diff --git a/cmake/JavaScriptCodegenSources.txt b/cmake/JavaScriptCodegenSources.txt new file mode 100644 index 0000000000..d1434042f7 --- /dev/null +++ b/cmake/JavaScriptCodegenSources.txt @@ -0,0 +1,18 @@ +src/codegen/bake-codegen.ts +src/codegen/bindgen-lib-internal.ts +src/codegen/bindgen-lib.ts +src/codegen/bindgen.ts +src/codegen/buildTypeFlag.ts +src/codegen/builtin-parser.ts +src/codegen/bundle-functions.ts +src/codegen/bundle-modules.ts +src/codegen/class-definitions.ts +src/codegen/client-js.ts +src/codegen/create-hash-table.ts +src/codegen/generate-classes.ts +src/codegen/generate-js2native.ts +src/codegen/generate-jssink.ts +src/codegen/generate-node-errors.ts +src/codegen/helpers.ts +src/codegen/internal-module-registry-scanner.ts +src/codegen/replacements.ts \ No newline at end of file diff --git a/cmake/JavaScriptSources.txt b/cmake/JavaScriptSources.txt new file mode 100644 index 0000000000..60ad4f8112 --- /dev/null +++ b/cmake/JavaScriptSources.txt @@ -0,0 +1,163 @@ +src/js/builtins.d.ts +src/js/builtins/Bake.ts +src/js/builtins/BundlerPlugin.ts +src/js/builtins/ByteLengthQueuingStrategy.ts +src/js/builtins/CommonJS.ts +src/js/builtins/ConsoleObject.ts +src/js/builtins/CountQueuingStrategy.ts +src/js/builtins/Glob.ts +src/js/builtins/ImportMetaObject.ts +src/js/builtins/Ipc.ts +src/js/builtins/JSBufferConstructor.ts +src/js/builtins/JSBufferPrototype.ts +src/js/builtins/NodeModuleObject.ts +src/js/builtins/Peek.ts +src/js/builtins/ProcessObjectInternals.ts +src/js/builtins/ReadableByteStreamController.ts +src/js/builtins/ReadableByteStreamInternals.ts +src/js/builtins/ReadableStream.ts +src/js/builtins/ReadableStreamBYOBReader.ts +src/js/builtins/ReadableStreamBYOBRequest.ts +src/js/builtins/ReadableStreamDefaultController.ts +src/js/builtins/ReadableStreamDefaultReader.ts +src/js/builtins/ReadableStreamInternals.ts +src/js/builtins/shell.ts +src/js/builtins/StreamInternals.ts +src/js/builtins/TextDecoderStream.ts +src/js/builtins/TextEncoderStream.ts +src/js/builtins/TransformStream.ts +src/js/builtins/TransformStreamDefaultController.ts +src/js/builtins/TransformStreamInternals.ts +src/js/builtins/UtilInspect.ts +src/js/builtins/WritableStreamDefaultController.ts +src/js/builtins/WritableStreamDefaultWriter.ts +src/js/builtins/WritableStreamInternals.ts +src/js/bun/ffi.ts +src/js/bun/sql.ts +src/js/bun/sqlite.ts +src/js/internal-for-testing.ts +src/js/internal/abort_listener.ts +src/js/internal/assert/assertion_error.ts +src/js/internal/assert/calltracker.ts +src/js/internal/assert/myers_diff.ts +src/js/internal/assert/utils.ts +src/js/internal/buffer.ts +src/js/internal/cluster/child.ts +src/js/internal/cluster/isPrimary.ts +src/js/internal/cluster/primary.ts +src/js/internal/cluster/RoundRobinHandle.ts +src/js/internal/cluster/Worker.ts +src/js/internal/crypto/x509.ts +src/js/internal/debugger.ts +src/js/internal/errors.ts +src/js/internal/fifo.ts +src/js/internal/fixed_queue.ts +src/js/internal/fs/cp-sync.ts +src/js/internal/fs/cp.ts +src/js/internal/fs/glob.ts +src/js/internal/fs/streams.ts +src/js/internal/html.ts +src/js/internal/http.ts +src/js/internal/http/FakeSocket.ts +src/js/internal/linkedlist.ts +src/js/internal/primordials.js +src/js/internal/promisify.ts +src/js/internal/shared.ts +src/js/internal/stream.promises.ts +src/js/internal/stream.ts +src/js/internal/streams/add-abort-signal.ts +src/js/internal/streams/compose.ts +src/js/internal/streams/destroy.ts +src/js/internal/streams/duplex.ts +src/js/internal/streams/duplexify.ts +src/js/internal/streams/duplexpair.ts +src/js/internal/streams/end-of-stream.ts +src/js/internal/streams/from.ts +src/js/internal/streams/lazy_transform.ts +src/js/internal/streams/legacy.ts +src/js/internal/streams/native-readable.ts +src/js/internal/streams/operators.ts +src/js/internal/streams/passthrough.ts +src/js/internal/streams/pipeline.ts +src/js/internal/streams/readable.ts +src/js/internal/streams/state.ts +src/js/internal/streams/transform.ts +src/js/internal/streams/utils.ts +src/js/internal/streams/writable.ts +src/js/internal/timers.ts +src/js/internal/tls.ts +src/js/internal/tty.ts +src/js/internal/url.ts +src/js/internal/util/colors.ts +src/js/internal/util/inspect.d.ts +src/js/internal/util/inspect.js +src/js/internal/util/mime.ts +src/js/internal/validators.ts +src/js/internal/webstreams_adapters.ts +src/js/node/_http_agent.ts +src/js/node/_http_client.ts +src/js/node/_http_common.ts +src/js/node/_http_incoming.ts +src/js/node/_http_outgoing.ts +src/js/node/_http_server.ts +src/js/node/_stream_duplex.ts +src/js/node/_stream_passthrough.ts +src/js/node/_stream_readable.ts +src/js/node/_stream_transform.ts +src/js/node/_stream_wrap.ts +src/js/node/_stream_writable.ts +src/js/node/_tls_common.ts +src/js/node/assert.strict.ts +src/js/node/assert.ts +src/js/node/async_hooks.ts +src/js/node/child_process.ts +src/js/node/cluster.ts +src/js/node/console.ts +src/js/node/crypto.ts +src/js/node/dgram.ts +src/js/node/diagnostics_channel.ts +src/js/node/dns.promises.ts +src/js/node/dns.ts +src/js/node/domain.ts +src/js/node/events.ts +src/js/node/fs.promises.ts +src/js/node/fs.ts +src/js/node/http.ts +src/js/node/http2.ts +src/js/node/https.ts +src/js/node/inspector.ts +src/js/node/net.ts +src/js/node/os.ts +src/js/node/path.posix.ts +src/js/node/path.ts +src/js/node/path.win32.ts +src/js/node/perf_hooks.ts +src/js/node/punycode.ts +src/js/node/querystring.ts +src/js/node/readline.promises.ts +src/js/node/readline.ts +src/js/node/repl.ts +src/js/node/stream.consumers.ts +src/js/node/stream.promises.ts +src/js/node/stream.ts +src/js/node/stream.web.ts +src/js/node/test.ts +src/js/node/timers.promises.ts +src/js/node/timers.ts +src/js/node/tls.ts +src/js/node/trace_events.ts +src/js/node/tty.ts +src/js/node/url.ts +src/js/node/util.ts +src/js/node/v8.ts +src/js/node/vm.ts +src/js/node/wasi.ts +src/js/node/worker_threads.ts +src/js/node/zlib.ts +src/js/private.d.ts +src/js/thirdparty/isomorphic-fetch.ts +src/js/thirdparty/node-fetch.ts +src/js/thirdparty/undici.js +src/js/thirdparty/vercel_fetch.js +src/js/thirdparty/ws.js +src/js/wasi-runner.js \ No newline at end of file diff --git a/cmake/NodeFallbacksSources.txt b/cmake/NodeFallbacksSources.txt new file mode 100644 index 0000000000..d18c84e996 --- /dev/null +++ b/cmake/NodeFallbacksSources.txt @@ -0,0 +1,23 @@ +src/node-fallbacks/assert.js +src/node-fallbacks/buffer.js +src/node-fallbacks/console.js +src/node-fallbacks/constants.js +src/node-fallbacks/crypto.js +src/node-fallbacks/domain.js +src/node-fallbacks/events.js +src/node-fallbacks/http.js +src/node-fallbacks/https.js +src/node-fallbacks/net.js +src/node-fallbacks/os.js +src/node-fallbacks/path.js +src/node-fallbacks/process.js +src/node-fallbacks/punycode.js +src/node-fallbacks/querystring.js +src/node-fallbacks/stream.js +src/node-fallbacks/string_decoder.js +src/node-fallbacks/sys.js +src/node-fallbacks/timers.js +src/node-fallbacks/tty.js +src/node-fallbacks/url.js +src/node-fallbacks/util.js +src/node-fallbacks/zlib.js \ No newline at end of file diff --git a/cmake/Sources.json b/cmake/Sources.json new file mode 100644 index 0000000000..d8e6f3b117 --- /dev/null +++ b/cmake/Sources.json @@ -0,0 +1,65 @@ +[ + { + "output": "BunErrorSources.txt", + "paths": ["packages/bun-error/*.{json,ts,tsx,css}", "packages/bun-error/img/*"] + }, + { + "output": "NodeFallbacksSources.txt", + "paths": ["src/node-fallbacks/*.js"] + }, + { + "output": "ZigGeneratedClassesSources.txt", + "paths": ["src/bun.js/*.classes.ts", "src/bun.js/{api,node,test,webcore}/*.classes.ts"] + }, + { + "output": "JavaScriptSources.txt", + "paths": ["src/js/**/*.{js,ts}"] + }, + { + "output": "JavaScriptCodegenSources.txt", + "paths": ["src/codegen/*.ts"] + }, + { + "output": "BakeRuntimeSources.txt", + "paths": ["src/bake/*.ts", "src/bake/*/*.{ts,css}"], + "exclude": ["src/bake/generated.ts"] + }, + { + "output": "BindgenSources.txt", + "paths": ["src/**/*.bind.ts"] + }, + { + "output": "ZigSources.txt", + "paths": ["src/**/*.zig"] + }, + { + "output": "CxxSources.txt", + "paths": [ + "src/io/*.cpp", + "src/bun.js/modules/*.cpp", + "src/bun.js/bindings/*.cpp", + "src/bun.js/bindings/webcore/*.cpp", + "src/bun.js/bindings/sqlite/*.cpp", + "src/bun.js/bindings/webcrypto/*.cpp", + "src/bun.js/bindings/webcrypto/*/*.cpp", + "src/bun.js/bindings/node/*.cpp", + "src/bun.js/bindings/node/crypto/*.cpp", + "src/bun.js/bindings/v8/*.cpp", + "src/bun.js/bindings/v8/shim/*.cpp", + "src/bake/*.cpp", + "src/deps/*.cpp", + "packages/bun-usockets/src/crypto/*.cpp" + ] + }, + { + "output": "CSources.txt", + "paths": [ + "packages/bun-usockets/src/*.c", + "packages/bun-usockets/src/eventing/*.c", + "packages/bun-usockets/src/internal/*.c", + "packages/bun-usockets/src/crypto/*.c", + "src/bun.js/bindings/uv-posix-polyfills.c", + "src/bun.js/bindings/uv-posix-stubs.c" + ] + } +] diff --git a/cmake/ZigGeneratedClassesSources.txt b/cmake/ZigGeneratedClassesSources.txt new file mode 100644 index 0000000000..65cc1d7d0d --- /dev/null +++ b/cmake/ZigGeneratedClassesSources.txt @@ -0,0 +1,23 @@ +src/bun.js/api/BunObject.classes.ts +src/bun.js/api/crypto.classes.ts +src/bun.js/api/ffi.classes.ts +src/bun.js/api/filesystem_router.classes.ts +src/bun.js/api/Glob.classes.ts +src/bun.js/api/h2.classes.ts +src/bun.js/api/html_rewriter.classes.ts +src/bun.js/api/JSBundler.classes.ts +src/bun.js/api/postgres.classes.ts +src/bun.js/api/S3Client.classes.ts +src/bun.js/api/S3Stat.classes.ts +src/bun.js/api/server.classes.ts +src/bun.js/api/Shell.classes.ts +src/bun.js/api/ShellArgs.classes.ts +src/bun.js/api/sockets.classes.ts +src/bun.js/api/streams.classes.ts +src/bun.js/api/valkey.classes.ts +src/bun.js/api/zlib.classes.ts +src/bun.js/node/node.classes.ts +src/bun.js/resolve_message.classes.ts +src/bun.js/test/jest.classes.ts +src/bun.js/webcore/encoding.classes.ts +src/bun.js/webcore/response.classes.ts \ No newline at end of file diff --git a/cmake/ZigSources.txt b/cmake/ZigSources.txt new file mode 100644 index 0000000000..1dcd73c2a5 --- /dev/null +++ b/cmake/ZigSources.txt @@ -0,0 +1,610 @@ +src/allocators.zig +src/allocators/AllocationScope.zig +src/allocators/linux_memfd_allocator.zig +src/allocators/max_heap_allocator.zig +src/allocators/memory_allocator.zig +src/allocators/MemoryReportingAllocator.zig +src/allocators/mimalloc_arena.zig +src/allocators/mimalloc.zig +src/allocators/NullableAllocator.zig +src/analytics/analytics_schema.zig +src/analytics/analytics_thread.zig +src/api/schema.zig +src/ast/base.zig +src/async/posix_event_loop.zig +src/async/stub_event_loop.zig +src/async/windows_event_loop.zig +src/baby_list.zig +src/bake/bake.zig +src/bake/DevServer.zig +src/bake/FrameworkRouter.zig +src/bake/production.zig +src/base64/base64.zig +src/bit_set.zig +src/bits.zig +src/boringssl.zig +src/brotli.zig +src/btjs.zig +src/bun_js.zig +src/bun.js/api.zig +src/bun.js/api/bun/dns_resolver.zig +src/bun.js/api/bun/h2_frame_parser.zig +src/bun.js/api/bun/lshpack.zig +src/bun.js/api/bun/process.zig +src/bun.js/api/bun/socket.zig +src/bun.js/api/bun/socket/SocketAddress.zig +src/bun.js/api/bun/spawn.zig +src/bun.js/api/bun/spawn/stdio.zig +src/bun.js/api/bun/ssl_wrapper.zig +src/bun.js/api/bun/subprocess.zig +src/bun.js/api/bun/udp_socket.zig +src/bun.js/api/bun/x509.zig +src/bun.js/api/BunObject.zig +src/bun.js/api/crypto.zig +src/bun.js/api/crypto/CryptoHasher.zig +src/bun.js/api/crypto/EVP.zig +src/bun.js/api/crypto/HMAC.zig +src/bun.js/api/crypto/PasswordObject.zig +src/bun.js/api/crypto/PBKDF2.zig +src/bun.js/api/ffi.zig +src/bun.js/api/FFIObject.zig +src/bun.js/api/filesystem_router.zig +src/bun.js/api/glob.zig +src/bun.js/api/HashObject.zig +src/bun.js/api/html_rewriter.zig +src/bun.js/api/JSBundler.zig +src/bun.js/api/JSTranspiler.zig +src/bun.js/api/server.zig +src/bun.js/api/server/HTMLBundle.zig +src/bun.js/api/server/InspectorBunFrontendDevServerAgent.zig +src/bun.js/api/server/NodeHTTPResponse.zig +src/bun.js/api/server/ServerWebSocket.zig +src/bun.js/api/server/StaticRoute.zig +src/bun.js/api/streams.classes.zig +src/bun.js/api/Timer.zig +src/bun.js/api/TOMLObject.zig +src/bun.js/api/UnsafeObject.zig +src/bun.js/bindgen_test.zig +src/bun.js/bindings/AbortSignal.zig +src/bun.js/bindings/AnyPromise.zig +src/bun.js/bindings/bun-simdutf.zig +src/bun.js/bindings/CachedBytecode.zig +src/bun.js/bindings/CallFrame.zig +src/bun.js/bindings/codegen.zig +src/bun.js/bindings/CommonAbortReason.zig +src/bun.js/bindings/CommonStrings.zig +src/bun.js/bindings/CPUFeatures.zig +src/bun.js/bindings/CustomGetterSetter.zig +src/bun.js/bindings/DeferredError.zig +src/bun.js/bindings/DOMFormData.zig +src/bun.js/bindings/DOMURL.zig +src/bun.js/bindings/EncodedJSValue.zig +src/bun.js/bindings/Errorable.zig +src/bun.js/bindings/ErrorCode.zig +src/bun.js/bindings/EventType.zig +src/bun.js/bindings/Exception.zig +src/bun.js/bindings/FetchHeaders.zig +src/bun.js/bindings/FFI.zig +src/bun.js/bindings/generated_classes_list.zig +src/bun.js/bindings/GeneratedBindings.zig +src/bun.js/bindings/GeneratedJS2Native.zig +src/bun.js/bindings/GetterSetter.zig +src/bun.js/bindings/HTTPServerAgent.zig +src/bun.js/bindings/JSArray.zig +src/bun.js/bindings/JSArrayIterator.zig +src/bun.js/bindings/JSBigInt.zig +src/bun.js/bindings/JSCell.zig +src/bun.js/bindings/JSErrorCode.zig +src/bun.js/bindings/JSFunction.zig +src/bun.js/bindings/JSGlobalObject.zig +src/bun.js/bindings/JSInternalPromise.zig +src/bun.js/bindings/JSMap.zig +src/bun.js/bindings/JSModuleLoader.zig +src/bun.js/bindings/JSObject.zig +src/bun.js/bindings/JSPromise.zig +src/bun.js/bindings/JSPromiseRejectionOperation.zig +src/bun.js/bindings/JSPropertyIterator.zig +src/bun.js/bindings/JSRef.zig +src/bun.js/bindings/JSRuntimeType.zig +src/bun.js/bindings/JSString.zig +src/bun.js/bindings/JSUint8Array.zig +src/bun.js/bindings/JSValue.zig +src/bun.js/bindings/NodeModuleModule.zig +src/bun.js/bindings/RegularExpression.zig +src/bun.js/bindings/ResolvedSource.zig +src/bun.js/bindings/ScriptExecutionStatus.zig +src/bun.js/bindings/sizes.zig +src/bun.js/bindings/SourceProvider.zig +src/bun.js/bindings/SourceType.zig +src/bun.js/bindings/static_export.zig +src/bun.js/bindings/SystemError.zig +src/bun.js/bindings/URL.zig +src/bun.js/bindings/URLSearchParams.zig +src/bun.js/bindings/VM.zig +src/bun.js/bindings/WTF.zig +src/bun.js/bindings/ZigErrorType.zig +src/bun.js/bindings/ZigException.zig +src/bun.js/bindings/ZigStackFrame.zig +src/bun.js/bindings/ZigStackFrameCode.zig +src/bun.js/bindings/ZigStackFramePosition.zig +src/bun.js/bindings/ZigStackTrace.zig +src/bun.js/bindings/ZigString.zig +src/bun.js/BuildMessage.zig +src/bun.js/config.zig +src/bun.js/ConsoleObject.zig +src/bun.js/Counters.zig +src/bun.js/Debugger.zig +src/bun.js/event_loop.zig +src/bun.js/hot_reloader.zig +src/bun.js/ipc.zig +src/bun.js/javascript_core_c_api.zig +src/bun.js/jsc.zig +src/bun.js/jsc/array_buffer.zig +src/bun.js/jsc/dom_call.zig +src/bun.js/jsc/host_fn.zig +src/bun.js/jsc/RefString.zig +src/bun.js/ModuleLoader.zig +src/bun.js/node.zig +src/bun.js/node/assert/myers_diff.zig +src/bun.js/node/buffer.zig +src/bun.js/node/dir_iterator.zig +src/bun.js/node/fs_events.zig +src/bun.js/node/net/BlockList.zig +src/bun.js/node/node_assert_binding.zig +src/bun.js/node/node_assert.zig +src/bun.js/node/node_cluster_binding.zig +src/bun.js/node/node_crypto_binding.zig +src/bun.js/node/node_error_binding.zig +src/bun.js/node/node_fs_binding.zig +src/bun.js/node/node_fs_constant.zig +src/bun.js/node/node_fs_stat_watcher.zig +src/bun.js/node/node_fs_watcher.zig +src/bun.js/node/node_fs.zig +src/bun.js/node/node_http_binding.zig +src/bun.js/node/node_net_binding.zig +src/bun.js/node/node_os.zig +src/bun.js/node/node_process.zig +src/bun.js/node/node_util_binding.zig +src/bun.js/node/node_zlib_binding.zig +src/bun.js/node/nodejs_error_code.zig +src/bun.js/node/os/constants.zig +src/bun.js/node/path_watcher.zig +src/bun.js/node/path.zig +src/bun.js/node/Stat.zig +src/bun.js/node/StatFS.zig +src/bun.js/node/time_like.zig +src/bun.js/node/types.zig +src/bun.js/node/util/parse_args_utils.zig +src/bun.js/node/util/parse_args.zig +src/bun.js/node/util/validators.zig +src/bun.js/node/win_watcher.zig +src/bun.js/ProcessAutoKiller.zig +src/bun.js/rare_data.zig +src/bun.js/ResolveMessage.zig +src/bun.js/RuntimeTranspilerCache.zig +src/bun.js/SavedSourceMap.zig +src/bun.js/Strong.zig +src/bun.js/test/diff_format.zig +src/bun.js/test/expect.zig +src/bun.js/test/jest.zig +src/bun.js/test/pretty_format.zig +src/bun.js/test/snapshot.zig +src/bun.js/test/test.zig +src/bun.js/unbounded_queue.zig +src/bun.js/uuid.zig +src/bun.js/virtual_machine_exports.zig +src/bun.js/VirtualMachine.zig +src/bun.js/Weak.zig +src/bun.js/web_worker.zig +src/bun.js/webcore.zig +src/bun.js/webcore/ArrayBufferSink.zig +src/bun.js/webcore/AutoFlusher.zig +src/bun.js/webcore/Blob.zig +src/bun.js/webcore/blob/copy_file.zig +src/bun.js/webcore/blob/read_file.zig +src/bun.js/webcore/blob/Store.zig +src/bun.js/webcore/blob/write_file.zig +src/bun.js/webcore/Body.zig +src/bun.js/webcore/ByteBlobLoader.zig +src/bun.js/webcore/ByteStream.zig +src/bun.js/webcore/CookieMap.zig +src/bun.js/webcore/Crypto.zig +src/bun.js/webcore/encoding.zig +src/bun.js/webcore/EncodingLabel.zig +src/bun.js/webcore/fetch.zig +src/bun.js/webcore/FileReader.zig +src/bun.js/webcore/FileSink.zig +src/bun.js/webcore/ObjectURLRegistry.zig +src/bun.js/webcore/prompt.zig +src/bun.js/webcore/ReadableStream.zig +src/bun.js/webcore/Request.zig +src/bun.js/webcore/Response.zig +src/bun.js/webcore/S3Client.zig +src/bun.js/webcore/S3File.zig +src/bun.js/webcore/S3Stat.zig +src/bun.js/webcore/Sink.zig +src/bun.js/webcore/streams.zig +src/bun.js/webcore/TextDecoder.zig +src/bun.js/webcore/TextEncoder.zig +src/bun.js/webcore/TextEncoderStreamEncoder.zig +src/bun.js/WTFTimer.zig +src/bun.zig +src/bundler/bundle_v2.zig +src/bundler/entry_points.zig +src/bunfig.zig +src/cache.zig +src/ci_info.zig +src/cli.zig +src/cli/add_command.zig +src/cli/add_completions.zig +src/cli/build_command.zig +src/cli/bunx_command.zig +src/cli/colon_list_type.zig +src/cli/create_command.zig +src/cli/discord_command.zig +src/cli/exec_command.zig +src/cli/filter_arg.zig +src/cli/filter_run.zig +src/cli/init_command.zig +src/cli/install_command.zig +src/cli/install_completions_command.zig +src/cli/link_command.zig +src/cli/list-of-yarn-commands.zig +src/cli/outdated_command.zig +src/cli/pack_command.zig +src/cli/package_manager_command.zig +src/cli/patch_command.zig +src/cli/patch_commit_command.zig +src/cli/pm_trusted_command.zig +src/cli/publish_command.zig +src/cli/remove_command.zig +src/cli/run_command.zig +src/cli/shell_completions.zig +src/cli/test_command.zig +src/cli/test/Scanner.zig +src/cli/unlink_command.zig +src/cli/update_command.zig +src/cli/upgrade_command.zig +src/codegen/process_windows_translate_c.zig +src/compile_target.zig +src/comptime_string_map.zig +src/copy_file.zig +src/crash_handler.zig +src/create/SourceFileProjectGenerator.zig +src/csrf.zig +src/css_scanner.zig +src/css/compat.zig +src/css/context.zig +src/css/css_internals.zig +src/css/css_modules.zig +src/css/css_parser.zig +src/css/declaration.zig +src/css/dependencies.zig +src/css/error.zig +src/css/generics.zig +src/css/logical.zig +src/css/media_query.zig +src/css/prefixes.zig +src/css/printer.zig +src/css/properties/align.zig +src/css/properties/animation.zig +src/css/properties/background.zig +src/css/properties/border_image.zig +src/css/properties/border_radius.zig +src/css/properties/border.zig +src/css/properties/box_shadow.zig +src/css/properties/contain.zig +src/css/properties/css_modules.zig +src/css/properties/custom.zig +src/css/properties/display.zig +src/css/properties/effects.zig +src/css/properties/flex.zig +src/css/properties/font.zig +src/css/properties/grid.zig +src/css/properties/list.zig +src/css/properties/margin_padding.zig +src/css/properties/masking.zig +src/css/properties/outline.zig +src/css/properties/overflow.zig +src/css/properties/position.zig +src/css/properties/prefix_handler.zig +src/css/properties/properties_generated.zig +src/css/properties/properties_impl.zig +src/css/properties/properties.zig +src/css/properties/shape.zig +src/css/properties/size.zig +src/css/properties/svg.zig +src/css/properties/text.zig +src/css/properties/transform.zig +src/css/properties/transition.zig +src/css/properties/ui.zig +src/css/rules/container.zig +src/css/rules/counter_style.zig +src/css/rules/custom_media.zig +src/css/rules/document.zig +src/css/rules/font_face.zig +src/css/rules/font_palette_values.zig +src/css/rules/import.zig +src/css/rules/keyframes.zig +src/css/rules/layer.zig +src/css/rules/media.zig +src/css/rules/namespace.zig +src/css/rules/nesting.zig +src/css/rules/page.zig +src/css/rules/property.zig +src/css/rules/rules.zig +src/css/rules/scope.zig +src/css/rules/starting_style.zig +src/css/rules/style.zig +src/css/rules/supports.zig +src/css/rules/tailwind.zig +src/css/rules/unknown.zig +src/css/rules/viewport.zig +src/css/selectors/builder.zig +src/css/selectors/parser.zig +src/css/selectors/selector.zig +src/css/small_list.zig +src/css/sourcemap.zig +src/css/targets.zig +src/css/values/alpha.zig +src/css/values/angle.zig +src/css/values/calc.zig +src/css/values/color_generated.zig +src/css/values/color_js.zig +src/css/values/color.zig +src/css/values/css_string.zig +src/css/values/easing.zig +src/css/values/gradient.zig +src/css/values/ident.zig +src/css/values/image.zig +src/css/values/length.zig +src/css/values/number.zig +src/css/values/percentage.zig +src/css/values/position.zig +src/css/values/ratio.zig +src/css/values/rect.zig +src/css/values/resolution.zig +src/css/values/size.zig +src/css/values/syntax.zig +src/css/values/time.zig +src/css/values/url.zig +src/css/values/values.zig +src/darwin.zig +src/defines-table.zig +src/defines.zig +src/deps/boringssl.translated.zig +src/deps/brotli_c.zig +src/deps/c_ares.zig +src/deps/diffz/DiffMatchPatch.zig +src/deps/libdeflate.zig +src/deps/libuv.zig +src/deps/lol-html.zig +src/deps/picohttp.zig +src/deps/picohttpparser.zig +src/deps/tcc.zig +src/deps/uws.zig +src/deps/uws/socket.zig +src/deps/zig-clap/clap.zig +src/deps/zig-clap/clap/args.zig +src/deps/zig-clap/clap/comptime.zig +src/deps/zig-clap/clap/streaming.zig +src/deps/zlib.posix.zig +src/deps/zlib.shared.zig +src/deps/zlib.win32.zig +src/deps/zstd.zig +src/dir.zig +src/dns.zig +src/env_loader.zig +src/env.zig +src/errno/darwin_errno.zig +src/errno/linux_errno.zig +src/errno/windows_errno.zig +src/exact_size_matcher.zig +src/fd.zig +src/feature_flags.zig +src/fmt.zig +src/fs.zig +src/futex.zig +src/generated_perf_trace_events.zig +src/generated_versions_list.zig +src/glob.zig +src/glob/GlobWalker.zig +src/glob/match.zig +src/Global.zig +src/grapheme.zig +src/heap_breakdown.zig +src/highway.zig +src/hive_array.zig +src/hmac.zig +src/HTMLScanner.zig +src/http.zig +src/http/header_builder.zig +src/http/method.zig +src/http/mime_type.zig +src/http/url_path.zig +src/http/websocket_client.zig +src/http/websocket_client/CppWebSocket.zig +src/http/websocket_client/WebSocketUpgradeClient.zig +src/http/websocket_http_client.zig +src/http/websocket.zig +src/http/zlib.zig +src/identity_context.zig +src/import_record.zig +src/ini.zig +src/install/bin.zig +src/install/bun.lock.zig +src/install/dependency.zig +src/install/extract_tarball.zig +src/install/install.zig +src/install/integrity.zig +src/install/lifecycle_script_runner.zig +src/install/lockfile.zig +src/install/migration.zig +src/install/npm.zig +src/install/padding_checker.zig +src/install/patch_install.zig +src/install/repository.zig +src/install/resolution.zig +src/install/resolvers/folder_resolver.zig +src/install/versioned_url.zig +src/install/windows-shim/BinLinkingShim.zig +src/install/windows-shim/bun_shim_impl.zig +src/io/heap.zig +src/io/io.zig +src/io/MaxBuf.zig +src/io/PipeReader.zig +src/io/pipes.zig +src/io/PipeWriter.zig +src/io/source.zig +src/io/time.zig +src/js_ast.zig +src/js_lexer_tables.zig +src/js_lexer.zig +src/js_lexer/identifier.zig +src/js_parser.zig +src/js_printer.zig +src/jsc_stub.zig +src/json_parser.zig +src/libarchive/libarchive-bindings.zig +src/libarchive/libarchive.zig +src/linear_fifo.zig +src/linker.zig +src/linux.zig +src/logger.zig +src/macho.zig +src/main_test.zig +src/main_wasm.zig +src/main.zig +src/meta.zig +src/multi_array_list.zig +src/Mutex.zig +src/napi/napi.zig +src/node_fallbacks.zig +src/open.zig +src/options.zig +src/output.zig +src/OutputFile.zig +src/patch.zig +src/perf.zig +src/pool.zig +src/Progress.zig +src/ptr.zig +src/ptr/Cow.zig +src/ptr/CowSlice.zig +src/ptr/ref_count.zig +src/ptr/tagged_pointer.zig +src/ptr/weak_ptr.zig +src/renamer.zig +src/resolver/data_url.zig +src/resolver/dir_info.zig +src/resolver/package_json.zig +src/resolver/resolve_path.zig +src/resolver/resolver.zig +src/resolver/tsconfig_json.zig +src/result.zig +src/router.zig +src/runtime.zig +src/s3/acl.zig +src/s3/client.zig +src/s3/credentials.zig +src/s3/download_stream.zig +src/s3/error.zig +src/s3/list_objects.zig +src/s3/multipart_options.zig +src/s3/multipart.zig +src/s3/simple_request.zig +src/s3/storage_class.zig +src/semver.zig +src/semver/ExternalString.zig +src/semver/SemverObject.zig +src/semver/SemverQuery.zig +src/semver/SemverRange.zig +src/semver/SemverString.zig +src/semver/SlicedString.zig +src/semver/Version.zig +src/sha.zig +src/shell/braces.zig +src/shell/Builtin.zig +src/shell/builtin/basename.zig +src/shell/builtin/cat.zig +src/shell/builtin/cd.zig +src/shell/builtin/cp.zig +src/shell/builtin/dirname.zig +src/shell/builtin/echo.zig +src/shell/builtin/exit.zig +src/shell/builtin/export.zig +src/shell/builtin/false.zig +src/shell/builtin/ls.zig +src/shell/builtin/mkdir.zig +src/shell/builtin/mv.zig +src/shell/builtin/pwd.zig +src/shell/builtin/rm.zig +src/shell/builtin/seq.zig +src/shell/builtin/touch.zig +src/shell/builtin/true.zig +src/shell/builtin/which.zig +src/shell/builtin/yes.zig +src/shell/EnvMap.zig +src/shell/EnvStr.zig +src/shell/interpreter.zig +src/shell/IOWriter.zig +src/shell/ParsedShellScript.zig +src/shell/RefCountedStr.zig +src/shell/shell.zig +src/shell/subproc.zig +src/shell/util.zig +src/sourcemap/CodeCoverage.zig +src/sourcemap/LineOffsetTable.zig +src/sourcemap/sourcemap.zig +src/sourcemap/VLQ.zig +src/sql/DataCell.zig +src/sql/postgres.zig +src/sql/postgres/postgres_protocol.zig +src/sql/postgres/postgres_types.zig +src/StandaloneModuleGraph.zig +src/StaticHashMap.zig +src/string_immutable.zig +src/string_types.zig +src/string.zig +src/string/HashedString.zig +src/string/MutableString.zig +src/string/PathString.zig +src/string/SmolStr.zig +src/string/StringBuilder.zig +src/string/StringJoiner.zig +src/string/WTFStringImpl.zig +src/sync.zig +src/sys_uv.zig +src/sys.zig +src/system_timer.zig +src/test/fixtures.zig +src/test/recover.zig +src/thread_pool.zig +src/tmp.zig +src/toml/toml_lexer.zig +src/toml/toml_parser.zig +src/tracy.zig +src/trait.zig +src/transpiler.zig +src/unit_test.zig +src/url.zig +src/util.zig +src/valkey/index.zig +src/valkey/js_valkey_functions.zig +src/valkey/js_valkey.zig +src/valkey/valkey_protocol.zig +src/valkey/valkey.zig +src/valkey/ValkeyCommand.zig +src/valkey/ValkeyContext.zig +src/walker_skippable.zig +src/Watcher.zig +src/watcher/INotifyWatcher.zig +src/watcher/KEventWatcher.zig +src/watcher/WindowsWatcher.zig +src/which_npm_client.zig +src/which.zig +src/windows.zig +src/work_pool.zig +src/workaround_missing_symbols.zig +src/wyhash.zig +src/zlib.zig \ No newline at end of file diff --git a/cmake/scripts/PathUtils.cmake b/cmake/scripts/PathUtils.cmake new file mode 100644 index 0000000000..086d9b15ff --- /dev/null +++ b/cmake/scripts/PathUtils.cmake @@ -0,0 +1,35 @@ +# Function to convert relative paths from a file to absolute paths +# Usage: absolute_sources(OUTPUT_VAR INPUT_FILE [BASE_DIR]) +# OUTPUT_VAR: Variable name to store the resulting absolute paths +# INPUT_FILE: File containing relative paths (one per line) +# BASE_DIR: Optional base directory for resolving paths (defaults to CMAKE_CURRENT_SOURCE_DIR) +function(absolute_sources OUTPUT_VAR INPUT_FILE) + # Check if a custom base directory was provided + if(${ARGC} GREATER 2) + set(BASE_DIR ${ARGV2}) + else() + set(BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + + # Read the file containing relative paths + file(STRINGS "${INPUT_FILE}" RELATIVE_PATHS) + + # Create a list to store absolute paths + set(RESULT_LIST "") + + # Convert each relative path to absolute + foreach(REL_PATH ${RELATIVE_PATHS}) + # Skip empty lines + if(NOT "${REL_PATH}" STREQUAL "") + # Construct the absolute path + get_filename_component(ABS_PATH "${BASE_DIR}/${REL_PATH}" ABSOLUTE) + list(APPEND RESULT_LIST ${ABS_PATH}) + endif() + endforeach() + + # Set the output variable in the parent scope + set(${OUTPUT_VAR} ${RESULT_LIST} PARENT_SCOPE) + + # Tell CMake that the configuration depends on this file + set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "${INPUT_FILE}") +endfunction() \ No newline at end of file diff --git a/cmake/targets/BuildBun.cmake b/cmake/targets/BuildBun.cmake index 80eeef5772..c9600843e7 100644 --- a/cmake/targets/BuildBun.cmake +++ b/cmake/targets/BuildBun.cmake @@ -1,3 +1,5 @@ +include(PathUtils) + if(DEBUG) set(bun bun-debug) elseif(ENABLE_ASAN) @@ -44,13 +46,7 @@ endif() set(BUN_ERROR_SOURCE ${CWD}/packages/bun-error) -file(GLOB BUN_ERROR_SOURCES ${CONFIGURE_DEPENDS} - ${BUN_ERROR_SOURCE}/*.json - ${BUN_ERROR_SOURCE}/*.ts - ${BUN_ERROR_SOURCE}/*.tsx - ${BUN_ERROR_SOURCE}/*.css - ${BUN_ERROR_SOURCE}/img/* -) +absolute_sources(BUN_ERROR_SOURCES ${CWD}/cmake/BunErrorSources.txt) set(BUN_ERROR_OUTPUT ${CODEGEN_PATH}/bun-error) set(BUN_ERROR_OUTPUTS @@ -139,9 +135,7 @@ register_command( set(BUN_NODE_FALLBACKS_SOURCE ${CWD}/src/node-fallbacks) -file(GLOB BUN_NODE_FALLBACKS_SOURCES ${CONFIGURE_DEPENDS} - ${BUN_NODE_FALLBACKS_SOURCE}/*.js -) +absolute_sources(BUN_NODE_FALLBACKS_SOURCES ${CWD}/cmake/NodeFallbacksSources.txt) set(BUN_NODE_FALLBACKS_OUTPUT ${CODEGEN_PATH}/node-fallbacks) set(BUN_NODE_FALLBACKS_OUTPUTS) @@ -241,13 +235,7 @@ register_command( set(BUN_ZIG_GENERATED_CLASSES_SCRIPT ${CWD}/src/codegen/generate-classes.ts) -file(GLOB BUN_ZIG_GENERATED_CLASSES_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/bun.js/*.classes.ts - ${CWD}/src/bun.js/api/*.classes.ts - ${CWD}/src/bun.js/node/*.classes.ts - ${CWD}/src/bun.js/test/*.classes.ts - ${CWD}/src/bun.js/webcore/*.classes.ts -) +absolute_sources(BUN_ZIG_GENERATED_CLASSES_SOURCES ${CWD}/cmake/ZigGeneratedClassesSources.txt) set(BUN_ZIG_GENERATED_CLASSES_OUTPUTS ${CODEGEN_PATH}/ZigGeneratedClasses.h @@ -280,14 +268,8 @@ register_command( set(BUN_JAVASCRIPT_CODEGEN_SCRIPT ${CWD}/src/codegen/bundle-modules.ts) -file(GLOB_RECURSE BUN_JAVASCRIPT_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/js/*.js - ${CWD}/src/js/*.ts -) - -file(GLOB BUN_JAVASCRIPT_CODEGEN_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/codegen/*.ts -) +absolute_sources(BUN_JAVASCRIPT_SOURCES ${CWD}/cmake/JavaScriptSources.txt) +absolute_sources(BUN_JAVASCRIPT_CODEGEN_SOURCES ${CWD}/cmake/JavaScriptCodegenSources.txt) list(APPEND BUN_JAVASCRIPT_CODEGEN_SOURCES ${CWD}/src/bun.js/bindings/InternalModuleRegistry.cpp @@ -329,11 +311,7 @@ register_command( set(BUN_BAKE_RUNTIME_CODEGEN_SCRIPT ${CWD}/src/codegen/bake-codegen.ts) -file(GLOB_RECURSE BUN_BAKE_RUNTIME_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/bake/*.ts - ${CWD}/src/bake/*/*.ts - ${CWD}/src/bake/*/*.css -) +absolute_sources(BUN_BAKE_RUNTIME_SOURCES ${CWD}/cmake/BakeRuntimeSources.txt) list(APPEND BUN_BAKE_RUNTIME_CODEGEN_SOURCES ${CWD}/src/bun.js/bindings/InternalModuleRegistry.cpp @@ -366,9 +344,7 @@ register_command( set(BUN_BINDGEN_SCRIPT ${CWD}/src/codegen/bindgen.ts) -file(GLOB_RECURSE BUN_BINDGEN_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/**/*.bind.ts -) +absolute_sources(BUN_BINDGEN_SOURCES ${CWD}/cmake/BindgenSources.txt) set(BUN_BINDGEN_CPP_OUTPUTS ${CODEGEN_PATH}/GeneratedBindings.cpp @@ -525,9 +501,7 @@ WEBKIT_ADD_SOURCE_DEPENDENCIES( # --- Zig --- -file(GLOB_RECURSE BUN_ZIG_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/*.zig -) +absolute_sources(BUN_ZIG_SOURCES ${CWD}/cmake/ZigSources.txt) list(APPEND BUN_ZIG_SOURCES ${CWD}/build.zig @@ -624,31 +598,8 @@ set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS "build.zig") set(BUN_USOCKETS_SOURCE ${CWD}/packages/bun-usockets) # hand written cpp source files. Full list of "source" code (including codegen) is in BUN_CPP_SOURCES -file(GLOB BUN_CXX_SOURCES ${CONFIGURE_DEPENDS} - ${CWD}/src/io/*.cpp - ${CWD}/src/bun.js/modules/*.cpp - ${CWD}/src/bun.js/bindings/*.cpp - ${CWD}/src/bun.js/bindings/webcore/*.cpp - ${CWD}/src/bun.js/bindings/sqlite/*.cpp - ${CWD}/src/bun.js/bindings/webcrypto/*.cpp - ${CWD}/src/bun.js/bindings/webcrypto/*/*.cpp - ${CWD}/src/bun.js/bindings/node/*.cpp - ${CWD}/src/bun.js/bindings/node/crypto/*.cpp - ${CWD}/src/bun.js/bindings/v8/*.cpp - ${CWD}/src/bun.js/bindings/v8/shim/*.cpp - ${CWD}/src/bake/*.cpp - ${CWD}/src/deps/*.cpp - ${BUN_USOCKETS_SOURCE}/src/crypto/*.cpp -) - -file(GLOB BUN_C_SOURCES ${CONFIGURE_DEPENDS} - ${BUN_USOCKETS_SOURCE}/src/*.c - ${BUN_USOCKETS_SOURCE}/src/eventing/*.c - ${BUN_USOCKETS_SOURCE}/src/internal/*.c - ${BUN_USOCKETS_SOURCE}/src/crypto/*.c - ${CWD}/src/bun.js/bindings/uv-posix-polyfills.c - ${CWD}/src/bun.js/bindings/uv-posix-stubs.c -) +absolute_sources(BUN_CXX_SOURCES ${CWD}/cmake/CxxSources.txt) +absolute_sources(BUN_C_SOURCES ${CWD}/cmake/CSources.txt) if(WIN32) list(APPEND BUN_CXX_SOURCES ${CWD}/src/bun.js/bindings/windows/rescle.cpp) diff --git a/package.json b/package.json index 6d73e6175f..d586492866 100644 --- a/package.json +++ b/package.json @@ -59,6 +59,7 @@ "test": "node scripts/runner.node.mjs --exec-path ./build/debug/bun-debug", "test:release": "node scripts/runner.node.mjs --exec-path ./build/release/bun", "banned": "bun test test/internal/ban-words.test.ts", + "glob-sources": "bun scripts/glob-sources.mjs", "zig": "vendor/zig/zig.exe", "zig:test": "bun ./scripts/build.mjs -GNinja -DCMAKE_BUILD_TYPE=Debug -DBUN_TEST=ON -B build/debug", "zig:test:release": "bun ./scripts/build.mjs -GNinja -DCMAKE_BUILD_TYPE=Release -DBUNTEST=ON -B build/release", diff --git a/scripts/glob-sources.mjs b/scripts/glob-sources.mjs new file mode 100644 index 0000000000..25ba49f40e --- /dev/null +++ b/scripts/glob-sources.mjs @@ -0,0 +1,40 @@ +import { write, Glob, file } from "bun"; +import { join, resolve, relative } from "path"; +import { normalize } from "path/posix"; + +const root = resolve(import.meta.dirname, ".."); +let total = 0; + +async function globSources(output, patterns, excludes = []) { + const paths = []; + for (const pattern of patterns) { + const glob = new Glob(pattern); + for await (const path of glob.scan()) { + if (excludes?.some(exclude => normalize(path) === normalize(exclude))) { + continue; + } + paths.push(path); + } + } + total += paths.length; + + const sources = paths + .map(path => normalize(relative(root, path))) + .sort((a, b) => a.localeCompare(b)) + .join("\n"); + + await write(join(root, "cmake", output), sources); +} + +const input = await file(join(root, "cmake", "Sources.json")).json(); + +const start = performance.now(); +for (const item of input) { + await globSources(item.output, item.paths, item.exclude); +} +const end = performance.now(); + +const green = "\x1b[32m"; +const reset = "\x1b[0m"; +const bold = "\x1b[1m"; +console.log(`\nGlobbed ${bold}${green}${total}${reset} sources [${(end - start).toFixed(2)}ms]`); diff --git a/test/internal/ban-words.test.ts b/test/internal/ban-words.test.ts index 5aa7cc2180..66f455668a 100644 --- a/test/internal/ban-words.test.ts +++ b/test/internal/ban-words.test.ts @@ -1,5 +1,6 @@ -import { readdir } from "fs/promises"; import path from "path"; +import { normalize } from "path/posix"; +import { file, Glob } from "bun"; // prettier-ignore const words: Record = { @@ -47,27 +48,37 @@ const words: Record }; const words_keys = [...Object.keys(words)]; +const sources: Array<{ output: string; paths: string[]; excludes?: string[] }> = await file( + path.join("cmake", "Sources.json"), +).json(); + let counts: Record = {}; -const files = await readdir("src", { recursive: true, withFileTypes: true }); -for (const file of files) { - if (file.isDirectory()) continue; - if (!file.name.endsWith(".zig")) continue; - if (file.parentPath.startsWith("src" + path.sep + "deps")) continue; - if (file.parentPath.startsWith("src" + path.sep + "codegen")) continue; - const content = await Bun.file(file.parentPath + path.sep + file.name).text(); - for (const word of words_keys) { - let regex = words[word].regex ? new RegExp(word, "g") : undefined; - const did_match = regex ? regex.test(content) : content.includes(word); - if (regex) regex.lastIndex = 0; - if (did_match) { - counts[word] ??= []; - const lines = content.split("\n"); - for (let line_i = 0; line_i < lines.length; line_i++) { - const trim = lines[line_i].trim(); - if (trim.startsWith("//") || trim.startsWith("\\\\")) continue; - const count = regex ? [...lines[line_i].matchAll(regex)].length : lines[line_i].split(word).length - 1; - for (let count_i = 0; count_i < count; count_i++) { - counts[word].push([line_i + 1, file.parentPath + path.sep + file.name]); + +for (const source of sources) { + const { paths, excludes } = source; + for (const pattern of paths) { + const glob = new Glob(pattern); + for await (const source of glob.scan()) { + if (excludes?.some(exclude => normalize(source) === normalize(exclude))) continue; + if (!source.endsWith(".zig")) continue; + if (source.startsWith("src" + path.sep + "deps")) continue; + if (source.startsWith("src" + path.sep + "codegen")) continue; + const content = await file(source).text(); + for (const word of words_keys) { + let regex = words[word].regex ? new RegExp(word, "g") : undefined; + const did_match = regex ? regex.test(content) : content.includes(word); + if (regex) regex.lastIndex = 0; + if (did_match) { + counts[word] ??= []; + const lines = content.split("\n"); + for (let line_i = 0; line_i < lines.length; line_i++) { + const trim = lines[line_i].trim(); + if (trim.startsWith("//") || trim.startsWith("\\\\")) continue; + const count = regex ? [...lines[line_i].matchAll(regex)].length : lines[line_i].split(word).length - 1; + for (let count_i = 0; count_i < count; count_i++) { + counts[word].push([line_i + 1, source]); + } + } } } }