@kubb/react-fabric 0.2.7 → 0.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Fabric-BF1akKIl.d.cts → Fabric-BMvLfKlB.d.cts} +119 -4
- package/dist/{Fabric-E6DCwBtT.d.ts → Fabric-TETpTRcg.d.ts} +121 -3
- package/dist/globals.d.cts +2 -2
- package/dist/globals.d.ts +2 -2
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -9
- package/dist/index.d.ts +3 -9
- package/dist/index.js +1 -1
- package/dist/jsx-dev-runtime.d.cts +3 -3
- package/dist/jsx-dev-runtime.d.ts +3 -3
- package/dist/{jsx-namespace-ChKpfNjr.d.cts → jsx-namespace-Cpatx8zF.d.cts} +2 -2
- package/dist/{jsx-namespace-K9CSDVFl.d.ts → jsx-namespace-D5ipteo8.d.ts} +2 -2
- package/dist/jsx-runtime.d.cts +3 -3
- package/dist/jsx-runtime.d.ts +3 -3
- package/dist/parsers.d.cts +1 -2
- package/dist/parsers.d.ts +1 -2
- package/dist/{plugins-DY54zqZS.js → plugins-CftsHDZ2.js} +2 -2
- package/dist/plugins-CftsHDZ2.js.map +1 -0
- package/dist/{plugins-Bo68efdW.cjs → plugins-DzBEnan-.cjs} +7 -7
- package/dist/plugins-DzBEnan-.cjs.map +1 -0
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.cts +2 -3
- package/dist/plugins.d.ts +2 -3
- package/dist/plugins.js +1 -1
- package/dist/{reactPlugin-B4CbqrDr.d.cts → reactPlugin-BRjwo_IX.d.cts} +2 -2
- package/dist/{reactPlugin-B0NqEe-x.d.ts → reactPlugin-H_LXLEx_.d.ts} +2 -2
- package/dist/{types-B2EZG5-G.d.cts → types-6UYuSzYO.d.ts} +8 -3
- package/dist/{types-UALIyxCE.d.ts → types-CdE_cJBr.d.cts} +8 -3
- package/dist/types.cjs +9 -0
- package/dist/types.d.cts +3 -3
- package/dist/types.d.ts +3 -3
- package/dist/types.js +2 -0
- package/package.json +11 -6
- package/src/Renderer.ts +1 -1
- package/src/Runtime.tsx +1 -1
- package/src/types.ts +2 -0
- package/dist/KubbFile-D4gyyfL-.d.ts +0 -115
- package/dist/KubbFile-FGXV713i.d.cts +0 -115
- package/dist/chunk-BEV-X5tz.js +0 -27
- package/dist/plugins-Bo68efdW.cjs.map +0 -1
- package/dist/plugins-DY54zqZS.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins-DzBEnan-.cjs","names":["Component","onExit","node: TextNode","nodeNames: Array<ElementNames>","NoEventPriority","DefaultEventPriority","text","exports","file: KubbFile.File","process","ConcurrentRoot"],"sources":["../src/components/Root.tsx","../src/dom.ts","../src/Renderer.ts","../src/utils/squashTextNodes.ts","../src/utils/squashExportNodes.ts","../src/utils/squashImportNodes.ts","../src/utils/squashSourceNodes.ts","../src/utils/processFiles.ts","../src/Runtime.tsx","../src/plugins/reactPlugin.ts"],"sourcesContent":["import { Component, createContext } from 'react'\n\nimport type { KubbNode } from '../types.ts'\n\ntype ErrorBoundaryProps = {\n onError: (error: Error) => void\n children?: KubbNode\n}\n\nclass ErrorBoundary extends Component<{\n onError: ErrorBoundaryProps['onError']\n children?: KubbNode\n}> {\n state = { hasError: false }\n\n static displayName = 'KubbErrorBoundary'\n static getDerivedStateFromError(_error: Error) {\n return { hasError: true }\n }\n\n componentDidCatch(error: Error) {\n if (error) {\n this.props.onError(error)\n }\n }\n\n render() {\n if (this.state.hasError) {\n return null\n }\n return this.props.children\n }\n}\n\nexport type RootContextProps = {\n /**\n * Exit (unmount) the whole Ink app.\n */\n readonly exit: (error?: Error) => void\n}\n\nexport const RootContext = createContext<RootContextProps>({\n exit: () => {},\n})\n\ntype RootProps = {\n /**\n * Exit (unmount) hook\n */\n readonly onExit: (error?: Error) => void\n /**\n * Error hook\n */\n readonly onError: (error: Error) => void\n readonly children?: KubbNode\n}\n\nexport function Root({ onError, onExit, children }: RootProps) {\n try {\n return (\n <ErrorBoundary\n onError={(error) => {\n onError(error)\n }}\n >\n <RootContext.Provider value={{ exit: onExit }}>{children}</RootContext.Provider>\n </ErrorBoundary>\n )\n } catch (_e) {\n return null\n }\n}\n\nRoot.Context = RootContext\nRoot.displayName = 'KubbRoot'\n","import type { DOMElement, DOMNode, DOMNodeAttribute, ElementNames, TextNode } from './types.ts'\n\nexport const createNode = (nodeName: string): DOMElement => {\n const node: DOMElement = {\n nodeName: nodeName as DOMElement['nodeName'],\n attributes: {},\n childNodes: [],\n parentNode: undefined,\n }\n\n return node\n}\n\nexport const appendChildNode = (node: DOMNode, childNode: DOMElement | DOMNode): void => {\n if (childNode.parentNode) {\n removeChildNode(childNode.parentNode, childNode)\n }\n\n if (node.nodeName !== '#text') {\n childNode.parentNode = node\n node.childNodes.push(childNode)\n }\n}\n\nexport const insertBeforeNode = (node: DOMElement, newChildNode: DOMNode, beforeChildNode: DOMNode): void => {\n if (newChildNode.parentNode) {\n removeChildNode(newChildNode.parentNode, newChildNode)\n }\n\n newChildNode.parentNode = node\n\n const index = node.childNodes.indexOf(beforeChildNode)\n if (index >= 0) {\n node.childNodes.splice(index, 0, newChildNode)\n\n return\n }\n\n node.childNodes.push(newChildNode)\n}\n\nexport const removeChildNode = (node: DOMElement, removeNode: DOMNode): void => {\n removeNode.parentNode = undefined\n\n const index = node.childNodes.indexOf(removeNode)\n if (index >= 0) {\n node.childNodes.splice(index, 1)\n }\n}\n\nexport const setAttribute = (node: DOMElement, key: string, value: DOMNodeAttribute): void => {\n node.attributes[key] = value\n}\n\nexport const createTextNode = (text: string): TextNode => {\n const node: TextNode = {\n nodeName: '#text',\n nodeValue: text,\n parentNode: undefined,\n }\n\n setTextNodeValue(node, text)\n\n return node\n}\n\nexport const setTextNodeValue = (node: TextNode, text: string): void => {\n if (typeof text !== 'string') {\n text = String(text)\n }\n\n node.nodeValue = text\n}\n\nexport const nodeNames: Array<ElementNames> = ['kubb-export', 'kubb-file', 'kubb-source', 'kubb-import', 'kubb-text']\n","import Reconciler, { type ReactContext } from 'react-reconciler'\nimport { DefaultEventPriority, NoEventPriority } from 'react-reconciler/constants.js'\n\nimport { appendChildNode, createNode, createTextNode, insertBeforeNode, removeChildNode, setAttribute, setTextNodeValue } from './dom.ts'\nimport type { KubbNode } from './types'\nimport type { DOMElement, DOMNodeAttribute, ElementNames, TextNode } from './types.ts'\nimport { createContext } from 'react'\n\ndeclare module 'react-reconciler' {\n // @ts-expect-error custom override\n interface Reconciler {\n updateContainerSync(element: KubbNode, container: unknown, parentComponent: any, callback?: null | (() => void)): void\n flushSyncWork(): void\n createContainer(\n containerInfo: unknown,\n tag: Reconciler.RootTag,\n hydrationCallbacks: null | Reconciler.SuspenseHydrationCallbacks<any>,\n isStrictMode: boolean,\n concurrentUpdatesByDefaultOverride: null | boolean,\n identifierPrefix: string,\n onUncaughtError: (error: Error) => void,\n onCaughtError: (error: Error) => void,\n onRecoverableError: (error: Error) => void,\n transitionCallbacks: null | Reconciler.TransitionTracingCallbacks,\n ): Reconciler.OpaqueRoot\n }\n}\n\ntype Props = Record<string, unknown>\n\ntype HostContext = {\n type: ElementNames\n isFile: boolean\n isSource: boolean\n}\n\nlet currentUpdatePriority = NoEventPriority\n\n/**\n * @link https://www.npmjs.com/package/react-devtools-inline\n * @link https://github.com/nitin42/Making-a-custom-React-renderer/blob/master/part-one.md\n * @link https://github.com/facebook/react/tree/main/packages/react-reconciler#practical-examples\n * @link https://github.com/vadimdemedes/ink\n * @link https://github.com/pixijs/pixi-react/tree/main/packages\n * @link https://github.com/diegomura/react-pdf/blob/master/packages/reconciler/src/reconciler-31.ts\n */\nexport const Renderer = Reconciler({\n getRootHostContext: () => ({\n type: 'kubb-root',\n isFile: false,\n isSource: false,\n }),\n prepareForCommit: () => {\n return null\n },\n preparePortalMount: () => null,\n clearContainer: () => false,\n resetAfterCommit(rootNode: DOMElement) {\n if (typeof rootNode.onRender === 'function') {\n rootNode.onRender()\n }\n },\n getChildHostContext(parentHostContext: HostContext, type: ElementNames) {\n const isInsideText = type === 'kubb-text'\n const isFile = type === 'kubb-file' || parentHostContext.isFile\n const isSource = type === 'kubb-source' || parentHostContext.isSource\n\n return { isInsideText, isFile, isSource, type }\n },\n shouldSetTextContent: () => false,\n createInstance(originalType: ElementNames, newProps: Props, _root: DOMElement) {\n const node = createNode(originalType)\n\n for (const [key, value] of Object.entries(newProps)) {\n if (key === 'children') {\n continue\n }\n\n setAttribute(node, key, value as DOMNodeAttribute)\n }\n\n return node\n },\n createTextInstance(text: string, _root: DOMElement, hostContext: HostContext) {\n if (hostContext.isFile && !hostContext.isSource) {\n throw new Error(`[react] '${text}' should be part of <File.Source> component when using the <File/> component`)\n }\n\n return createTextNode(text)\n },\n resetTextContent() {},\n hideTextInstance(node: TextNode) {\n setTextNodeValue(node, '')\n },\n unhideTextInstance(node: TextNode, text: string) {\n setTextNodeValue(node, text)\n },\n getPublicInstance: (instance) => instance,\n appendInitialChild: appendChildNode,\n appendChild: appendChildNode,\n insertBefore: insertBeforeNode,\n finalizeInitialChildren(_node, _type, _props, _rootNode) {\n return false\n },\n supportsMutation: true,\n isPrimaryRenderer: true,\n supportsPersistence: false,\n supportsHydration: false,\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n beforeActiveInstanceBlur() {},\n afterActiveInstanceBlur() {},\n detachDeletedInstance() {},\n getInstanceFromNode: () => null,\n prepareScopeUpdate() {},\n getInstanceFromScope: () => null,\n appendChildToContainer: appendChildNode,\n insertInContainerBefore: insertBeforeNode,\n removeChildFromContainer(node: DOMElement, removeNode: TextNode) {\n removeChildNode(node, removeNode)\n },\n commitMount() {},\n commitUpdate(node: DOMElement, _payload, _type, _oldProps: Props, newProps: Props) {\n const { props } = newProps\n\n if (props) {\n for (const [key, value] of Object.entries(props)) {\n setAttribute(node, key, value as DOMNodeAttribute)\n }\n }\n },\n commitTextUpdate(node: TextNode, _oldText, newText) {\n setTextNodeValue(node, newText)\n },\n removeChild(node: DOMElement, removeNode: TextNode) {\n removeChildNode(node, removeNode)\n },\n setCurrentUpdatePriority: (newPriority: number) => {\n currentUpdatePriority = newPriority\n },\n getCurrentUpdatePriority: () => currentUpdatePriority,\n resolveUpdatePriority() {\n if (currentUpdatePriority !== NoEventPriority) {\n return currentUpdatePriority\n }\n\n return DefaultEventPriority\n },\n maySuspendCommit() {\n return false\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n NotPendingTransition: undefined,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n HostTransitionContext: createContext(null) as unknown as ReactContext<unknown>,\n resetFormInstance() {},\n requestPostPaintCallback() {},\n shouldAttemptEagerTransition() {\n return false\n },\n trackSchedulerEvent() {},\n resolveEventType() {\n return null\n },\n resolveEventTimeStamp() {\n return -1.1\n },\n preloadInstance() {\n return true\n },\n startSuspendingCommit() {},\n suspendInstance() {},\n waitForCommitToBeReady() {\n return null\n },\n})\n\nexport type { FiberRoot } from 'react-reconciler'\n","import { createImport, createExport, print } from '@kubb/fabric-core/parsers/typescript'\n\nimport type { File } from '../components/File.tsx'\nimport { nodeNames } from '../dom.ts'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashTextNodes(node: DOMElement): string {\n let text = ''\n\n for (const childNode of node.childNodes) {\n if (!childNode) {\n continue\n }\n\n let nodeText = ''\n\n const getPrintText = (text: string): string => {\n if (childNode.nodeName === 'kubb-import') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Import>\n\n return print([\n createImport({\n name: attributes.name,\n path: attributes.path,\n root: attributes.root,\n isTypeOnly: attributes.isTypeOnly,\n }),\n ])\n }\n\n if (childNode.nodeName === 'kubb-export') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Export>\n if (attributes.path) {\n return print([\n createExport({\n name: attributes.name,\n path: attributes.path,\n isTypeOnly: attributes.isTypeOnly,\n asAlias: attributes.asAlias,\n }),\n ])\n }\n }\n\n if (childNode.nodeName === 'kubb-source') {\n return text\n }\n\n return text\n }\n\n if (childNode.nodeName === '#text') {\n nodeText = childNode.nodeValue\n } else {\n if (['kubb-text', 'kubb-file', 'kubb-source'].includes(childNode.nodeName)) {\n nodeText = squashTextNodes(childNode)\n }\n\n nodeText = getPrintText(nodeText)\n\n if (childNode.nodeName === 'br') {\n nodeText = '\\n'\n }\n\n // no kubb element or br\n if (![...nodeNames, 'br'].includes(childNode.nodeName)) {\n const attributes = Object.entries(childNode.attributes).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n return `${acc} ${key}=\"${value}\"`\n }\n\n return `${acc} ${key}={${value}}`\n }, '')\n nodeText = `<${childNode.nodeName}${attributes}>${squashTextNodes(childNode)}</${childNode.nodeName}>`\n }\n }\n\n text += nodeText\n }\n\n return text\n}\n","import { nodeNames } from '../dom.ts'\n\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashExportNodes(node: DOMElement): Set<KubbFile.ResolvedExport> {\n let exports = new Set<KubbFile.Export>()\n\n node.childNodes.filter(Boolean).forEach((childNode) => {\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n exports = new Set([...exports, ...squashExportNodes(childNode)])\n }\n\n if (childNode.nodeName === 'kubb-export') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Export>\n exports.add(attributes)\n }\n })\n\n return exports\n}\n","import { nodeNames } from '../dom.ts'\n\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport type { DOMElement } from '../types.ts'\n\nexport function squashImportNodes(node: DOMElement): Set<KubbFile.Import> {\n let imports = new Set<KubbFile.Import>()\n\n node.childNodes.filter(Boolean).forEach((childNode) => {\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n imports = new Set([...imports, ...squashImportNodes(childNode)])\n }\n\n if (childNode.nodeName === 'kubb-import') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Import>\n imports.add(attributes)\n }\n })\n\n return imports\n}\n","import { nodeNames } from '../dom.ts'\n\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport type { DOMElement, ElementNames } from '../types.ts'\nimport { squashTextNodes } from './squashTextNodes.ts'\n\nexport function squashSourceNodes(node: DOMElement, ignores: Array<ElementNames>): Set<KubbFile.Source> {\n let sources = new Set<KubbFile.Source>()\n\n for (const childNode of node.childNodes) {\n if (!childNode) {\n continue\n }\n\n if (childNode.nodeName !== '#text' && ignores.includes(childNode.nodeName)) {\n continue\n }\n\n if (childNode.nodeName === 'kubb-source') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File.Source>\n const value = squashTextNodes(childNode)\n\n sources.add({\n ...attributes,\n // remove end enter\n value: value.trim().replace(/^\\s+|\\s+$/g, ''),\n })\n\n continue\n }\n\n if (childNode.nodeName !== '#text' && nodeNames.includes(childNode.nodeName)) {\n sources = new Set([...sources, ...squashSourceNodes(childNode, ignores)])\n }\n }\n\n return sources\n}\n","import { nodeNames } from '../dom.ts'\nimport { squashExportNodes } from './squashExportNodes.ts'\nimport { squashImportNodes } from './squashImportNodes.ts'\nimport { squashSourceNodes } from './squashSourceNodes.ts'\n\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type React from 'react'\nimport type { File } from '../components/File.tsx'\nimport type { DOMElement } from '../types.ts'\nimport type { FileManager } from '@kubb/fabric-core'\n\nexport function processFiles(node: DOMElement, fileManager: FileManager) {\n for (let index = 0; index < node.childNodes.length; index++) {\n const childNode = node.childNodes[index]\n\n if (!childNode) {\n continue\n }\n\n if (childNode.nodeName !== '#text' && childNode.nodeName !== 'kubb-file' && nodeNames.includes(childNode.nodeName)) {\n processFiles(childNode, fileManager)\n }\n\n if (childNode.nodeName === 'kubb-file') {\n const attributes = childNode.attributes as React.ComponentProps<typeof File>\n\n if (attributes.baseName && attributes.path) {\n const sources = squashSourceNodes(childNode, ['kubb-export', 'kubb-import'])\n\n const file: KubbFile.File = {\n baseName: attributes.baseName,\n path: attributes.path,\n sources: [...sources],\n exports: [...squashExportNodes(childNode)],\n imports: [...squashImportNodes(childNode)],\n meta: attributes.meta || {},\n footer: attributes.footer,\n banner: attributes.banner,\n }\n\n fileManager.add(file)\n }\n }\n }\n}\n","import process from 'node:process'\nimport type { ReactNode } from 'react'\nimport { ConcurrentRoot } from 'react-reconciler/constants.js'\nimport { onExit } from 'signal-exit'\nimport { Root } from './components/Root.tsx'\nimport { createNode } from './dom.ts'\nimport type { FiberRoot } from './Renderer.ts'\nimport { Renderer } from './Renderer.ts'\nimport type { DOMElement } from './types.ts'\nimport { squashTextNodes } from './utils/squashTextNodes.ts'\nimport { processFiles } from './utils/processFiles.ts'\nimport type { FileManager } from '@kubb/fabric-core'\n\ntype Options = {\n fileManager: FileManager\n stdout?: NodeJS.WriteStream\n stdin?: NodeJS.ReadStream\n stderr?: NodeJS.WriteStream\n /**\n * Set this to true to always see the result of the render in the console(line per render)\n */\n debug?: boolean\n}\n\nexport class Runtime {\n readonly #options: Options\n // Ignore last render after unmounting a tree to prevent empty output before exit\n #isUnmounted: boolean\n\n exitPromise?: Promise<void>\n readonly #container: FiberRoot\n readonly #rootNode: DOMElement\n\n constructor(options: Options) {\n this.#options = options\n\n this.#rootNode = createNode('kubb-root')\n this.#rootNode.onRender = this.onRender\n this.#rootNode.onImmediateRender = this.onRender\n\n // Ignore last render after unmounting a tree to prevent empty output before exit\n this.#isUnmounted = false\n this.unmount.bind(this)\n\n const originalError = console.error\n console.error = (data: string | Error) => {\n const message = typeof data === 'string' ? data : data?.message\n\n if (message?.match(/Encountered two children with the same key/gi)) {\n return\n }\n if (message?.match(/React will try to recreat/gi)) {\n return\n }\n if (message?.match(/Each child in a list should have a unique/gi)) {\n return\n }\n if (message?.match(/The above error occurred in the <KubbErrorBoundary/gi)) {\n return\n }\n\n if (message?.match(/A React Element from an older version of React was render/gi)) {\n return\n }\n\n originalError(data)\n }\n\n // Report when an error was detected in a previous render\n // https://github.com/pmndrs/react-three-fiber/pull/2261\n const logRecoverableError =\n typeof reportError === 'function'\n ? // In modern browsers, reportError will dispatch an error event,\n // emulating an uncaught JavaScript error.\n reportError\n : // In older browsers and test environments, fallback to console.error.\n console.error\n\n const rootTag = ConcurrentRoot\n const hydrationCallbacks = null\n const isStrictMode = false\n const concurrentUpdatesByDefaultOverride = false\n const identifierPrefix = 'id'\n const onUncaughtError = logRecoverableError\n const onCaughtError = logRecoverableError\n const onRecoverableError = logRecoverableError\n const transitionCallbacks = null\n\n this.#container = Renderer.createContainer(\n this.#rootNode,\n rootTag,\n hydrationCallbacks,\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n transitionCallbacks,\n )\n\n // Unmount when process exits\n this.unsubscribeExit = onExit(\n (code) => {\n this.unmount(code)\n },\n { alwaysLast: false },\n ).bind(this)\n\n Renderer.injectIntoDevTools({\n bundleType: 1, // 0 for PROD, 1 for DEV\n version: '19.1.0', // should be React version and not Kubb's custom version\n rendererPackageName: 'kubb', // package name\n })\n }\n\n get fileManager() {\n return this.#options.fileManager\n }\n\n resolveExitPromise: () => void = () => {}\n rejectExitPromise: (reason?: Error) => void = () => {}\n unsubscribeExit: () => void = () => {}\n onRender: () => void = async () => {\n if (this.#isUnmounted) {\n return\n }\n\n // TODO remove to allow multiple renders\n this.fileManager.clear()\n\n processFiles(this.#rootNode, this.fileManager)\n\n if (!this.#options?.debug && !this.#options?.stdout) {\n return\n }\n\n const output = await this.#getOutput(this.#rootNode)\n\n if (this.#options?.debug) {\n console.log('Rendering: \\n')\n console.log(output)\n }\n\n if (this.#options?.stdout && process.env.NODE_ENV !== 'test') {\n this.#options.stdout.clearLine(0)\n this.#options.stdout.cursorTo(0)\n this.#options.stdout.write(output)\n }\n }\n onError(error: Error): void {\n if (process.env.NODE_ENV === 'test') {\n console.warn(error)\n }\n\n throw error\n }\n onExit(error?: Error): void {\n this.unmount(error)\n }\n\n async #getOutput(node: DOMElement): Promise<string> {\n const text = squashTextNodes(node)\n const files = this.fileManager.files\n\n return files.length\n ? [...files]\n .flatMap((file) => [...file.sources].map((item) => item.value))\n .filter(Boolean)\n .join('\\n\\n')\n : text\n }\n\n render(node: ReactNode): void {\n const element = (\n <Root onExit={this.onExit.bind(this)} onError={this.onError.bind(this)}>\n {node}\n </Root>\n )\n\n Renderer.updateContainerSync(element, this.#container, null, null)\n Renderer.flushSyncWork()\n }\n\n async renderToString(node: ReactNode): Promise<string> {\n const element = (\n <Root onExit={this.onExit.bind(this)} onError={this.onError.bind(this)}>\n {node}\n </Root>\n )\n\n Renderer.updateContainerSync(element, this.#container, null, null)\n Renderer.flushSyncWork()\n\n this.fileManager.clear()\n\n return this.#getOutput(this.#rootNode)\n }\n\n unmount(error?: Error | number | null): void {\n if (this.#isUnmounted) {\n return\n }\n\n if (this.#options?.debug) {\n console.log('Unmount', error)\n }\n\n this.onRender()\n this.unsubscribeExit()\n\n this.#isUnmounted = true\n\n Renderer.updateContainerSync(null, this.#container, null, null)\n\n if (error instanceof Error) {\n this.rejectExitPromise(error)\n\n return\n }\n\n this.resolveExitPromise()\n }\n\n async waitUntilExit(): Promise<void> {\n if (!this.exitPromise) {\n this.exitPromise = new Promise((resolve, reject) => {\n this.resolveExitPromise = resolve\n this.rejectExitPromise = reject\n })\n }\n\n return this.exitPromise\n }\n}\n","import { createPlugin } from '@kubb/fabric-core/plugins'\nimport { Runtime } from '../Runtime.tsx'\nimport { createElement, type ElementType } from 'react'\n\nexport type Options = {\n stdout?: NodeJS.WriteStream\n stdin?: NodeJS.ReadStream\n stderr?: NodeJS.WriteStream\n /**\n * Set this to true to always see the result of the render in the console(line per render)\n */\n debug?: boolean\n}\n\ntype ExtendOptions = {\n render(App: ElementType): Promise<void> | void\n renderToString(App: ElementType): Promise<string> | string\n waitUntilExit(): Promise<void>\n}\n\n// biome-ignore lint/suspicious/noTsIgnore: production ready\n// @ts-ignore\ndeclare module '@kubb/fabric-core' {\n interface Fabric {\n render(App: ElementType): Promise<void> | void\n renderToString(App: ElementType): Promise<string> | string\n waitUntilExit(): Promise<void>\n }\n}\n\ndeclare global {\n namespace Kubb {\n interface Fabric {\n render(App: ElementType): Promise<void> | void\n renderToString(App: ElementType): Promise<string> | string\n waitUntilExit(): Promise<void>\n }\n }\n}\n\nexport const reactPlugin = createPlugin<Options, ExtendOptions>({\n name: 'react',\n install() {},\n inject(app, options = {}) {\n const runtime = new Runtime({ fileManager: app.context.fileManager, ...options })\n\n return {\n async render(App) {\n runtime.render(createElement(App))\n await app.context.events.emit('start')\n },\n async renderToString(App) {\n await app.context.events.emit('start')\n return runtime.renderToString(createElement(App))\n },\n async waitUntilExit() {\n await runtime.waitUntilExit()\n\n await app.context.events.emit('end')\n },\n }\n },\n})\n"],"mappings":"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"}
|
package/dist/plugins.cjs
CHANGED
package/dist/plugins.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as reactPlugin } from "./reactPlugin-B4CbqrDr.cjs";
|
|
1
|
+
import { l as Plugin, p as Extname, u as UserPlugin } from "./Fabric-BMvLfKlB.cjs";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-BRjwo_IX.cjs";
|
|
4
3
|
|
|
5
4
|
//#region ../fabric-core/src/plugins/createPlugin.d.ts
|
|
6
5
|
declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
|
package/dist/plugins.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { n as reactPlugin } from "./reactPlugin-B0NqEe-x.js";
|
|
1
|
+
import { l as Plugin, p as Extname, u as UserPlugin } from "./Fabric-TETpTRcg.js";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-H_LXLEx_.js";
|
|
4
3
|
|
|
5
4
|
//#region ../fabric-core/src/plugins/createPlugin.d.ts
|
|
6
5
|
declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
|
package/dist/plugins.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as Plugin } from "./Fabric-BMvLfKlB.cjs";
|
|
2
2
|
import { ElementType } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/reactPlugin.d.ts
|
|
@@ -35,4 +35,4 @@ declare global {
|
|
|
35
35
|
declare const reactPlugin: Plugin<Options, ExtendOptions>;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { reactPlugin as n, Options as t };
|
|
38
|
-
//# sourceMappingURL=reactPlugin-
|
|
38
|
+
//# sourceMappingURL=reactPlugin-BRjwo_IX.d.cts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { l as Plugin } from "./Fabric-TETpTRcg.js";
|
|
2
2
|
import { ElementType } from "react";
|
|
3
3
|
|
|
4
4
|
//#region src/plugins/reactPlugin.d.ts
|
|
@@ -35,4 +35,4 @@ declare global {
|
|
|
35
35
|
declare const reactPlugin: Plugin<Options, ExtendOptions>;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { reactPlugin as n, Options as t };
|
|
38
|
-
//# sourceMappingURL=reactPlugin-
|
|
38
|
+
//# sourceMappingURL=reactPlugin-H_LXLEx_.d.ts.map
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as Export, h as Import, i as FabricOptions, m as File, t as Fabric, y as Source } from "./Fabric-TETpTRcg.js";
|
|
2
2
|
import React, { JSX, Key, ReactNode } from "react";
|
|
3
3
|
|
|
4
|
+
//#region ../fabric-core/src/defineFabric.d.ts
|
|
5
|
+
type RootRenderFunction<TOptions extends FabricOptions> = (fabric: Fabric<TOptions>) => void | Promise<void>;
|
|
6
|
+
type DefineFabric<TOptions> = (options?: TOptions) => Fabric;
|
|
7
|
+
declare function defineFabric<TOptions extends FabricOptions>(instance?: RootRenderFunction<TOptions>): DefineFabric<TOptions>;
|
|
8
|
+
//#endregion
|
|
4
9
|
//#region src/utils/getFunctionParams.d.ts
|
|
5
10
|
type Param = {
|
|
6
11
|
/**
|
|
@@ -100,5 +105,5 @@ type KubbImportProps = Import;
|
|
|
100
105
|
type KubbExportProps = Export;
|
|
101
106
|
type LineBreakProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLBRElement>, HTMLBRElement>;
|
|
102
107
|
//#endregion
|
|
103
|
-
export { Param as _, JSDoc as a, KubbExportProps as c, KubbNode as d, KubbSourceProps as f, FunctionParams as g, TextNode as h, ElementNames as i, KubbFileProps as l, LineBreakProps as m, DOMNode as n, Key as o, KubbTextProps as p, DOMNodeAttribute as r, KubbElement as s, DOMElement as t, KubbImportProps as u, Params as v, createFunctionParams as y };
|
|
104
|
-
//# sourceMappingURL=types-
|
|
108
|
+
export { Param as _, JSDoc as a, DefineFabric as b, KubbExportProps as c, KubbNode as d, KubbSourceProps as f, FunctionParams as g, TextNode as h, ElementNames as i, KubbFileProps as l, LineBreakProps as m, DOMNode as n, Key as o, KubbTextProps as p, DOMNodeAttribute as r, KubbElement as s, DOMElement as t, KubbImportProps as u, Params as v, defineFabric as x, createFunctionParams as y };
|
|
109
|
+
//# sourceMappingURL=types-6UYuSzYO.d.ts.map
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as Export, h as Import, i as FabricOptions, m as File, t as Fabric, y as Source } from "./Fabric-BMvLfKlB.cjs";
|
|
2
2
|
import React, { JSX, Key, ReactNode } from "react";
|
|
3
3
|
|
|
4
|
+
//#region ../fabric-core/src/defineFabric.d.ts
|
|
5
|
+
type RootRenderFunction<TOptions extends FabricOptions> = (fabric: Fabric<TOptions>) => void | Promise<void>;
|
|
6
|
+
type DefineFabric<TOptions> = (options?: TOptions) => Fabric;
|
|
7
|
+
declare function defineFabric<TOptions extends FabricOptions>(instance?: RootRenderFunction<TOptions>): DefineFabric<TOptions>;
|
|
8
|
+
//#endregion
|
|
4
9
|
//#region src/utils/getFunctionParams.d.ts
|
|
5
10
|
type Param = {
|
|
6
11
|
/**
|
|
@@ -100,5 +105,5 @@ type KubbImportProps = Import;
|
|
|
100
105
|
type KubbExportProps = Export;
|
|
101
106
|
type LineBreakProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLBRElement>, HTMLBRElement>;
|
|
102
107
|
//#endregion
|
|
103
|
-
export { Param as _, JSDoc as a, KubbExportProps as c, KubbNode as d, KubbSourceProps as f, FunctionParams as g, TextNode as h, ElementNames as i, KubbFileProps as l, LineBreakProps as m, DOMNode as n, Key as o, KubbTextProps as p, DOMNodeAttribute as r, KubbElement as s, DOMElement as t, KubbImportProps as u, Params as v, createFunctionParams as y };
|
|
104
|
-
//# sourceMappingURL=types-
|
|
108
|
+
export { Param as _, JSDoc as a, DefineFabric as b, KubbExportProps as c, KubbNode as d, KubbSourceProps as f, FunctionParams as g, TextNode as h, ElementNames as i, KubbFileProps as l, LineBreakProps as m, DOMNode as n, Key as o, KubbTextProps as p, DOMNodeAttribute as r, KubbElement as s, DOMElement as t, KubbImportProps as u, Params as v, defineFabric as x, createFunctionParams as y };
|
|
109
|
+
//# sourceMappingURL=types-CdE_cJBr.d.cts.map
|
package/dist/types.cjs
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
var __kubb_fabric_core_types = require("@kubb/fabric-core/types");
|
|
4
|
+
Object.keys(__kubb_fabric_core_types).forEach(function (k) {
|
|
5
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function () { return __kubb_fabric_core_types[k]; }
|
|
8
|
+
});
|
|
9
|
+
});
|
package/dist/types.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import { _ as Param, a as JSDoc, c as KubbExportProps, d as KubbNode, f as KubbSourceProps, h as TextNode, i as ElementNames, l as KubbFileProps, m as LineBreakProps, n as DOMNode, o as Key, p as KubbTextProps, r as DOMNodeAttribute, s as KubbElement, t as DOMElement, u as KubbImportProps, v as Params } from "./types-
|
|
3
|
-
export { DOMElement, DOMNode, DOMNodeAttribute, ElementNames, JSDoc, Key, KubbElement, KubbExportProps, KubbFileProps, KubbImportProps, KubbNode, KubbSourceProps, KubbTextProps, LineBreakProps, Param, Params, TextNode };
|
|
1
|
+
import { g as KubbFile_d_exports, n as FabricContext, r as FabricMode } from "./Fabric-BMvLfKlB.cjs";
|
|
2
|
+
import { _ as Param, a as JSDoc, b as DefineFabric, c as KubbExportProps, d as KubbNode, f as KubbSourceProps, h as TextNode, i as ElementNames, l as KubbFileProps, m as LineBreakProps, n as DOMNode, o as Key, p as KubbTextProps, r as DOMNodeAttribute, s as KubbElement, t as DOMElement, u as KubbImportProps, v as Params } from "./types-CdE_cJBr.cjs";
|
|
3
|
+
export { DOMElement, DOMNode, DOMNodeAttribute, DefineFabric, ElementNames, FabricContext, FabricMode, JSDoc, Key, KubbElement, KubbExportProps, KubbFile_d_exports as KubbFile, KubbFileProps, KubbImportProps, KubbNode, KubbSourceProps, KubbTextProps, LineBreakProps, Param, Params, TextNode };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import { _ as Param, a as JSDoc, c as KubbExportProps, d as KubbNode, f as KubbSourceProps, h as TextNode, i as ElementNames, l as KubbFileProps, m as LineBreakProps, n as DOMNode, o as Key, p as KubbTextProps, r as DOMNodeAttribute, s as KubbElement, t as DOMElement, u as KubbImportProps, v as Params } from "./types-
|
|
3
|
-
export { DOMElement, DOMNode, DOMNodeAttribute, ElementNames, JSDoc, Key, KubbElement, KubbExportProps, KubbFileProps, KubbImportProps, KubbNode, KubbSourceProps, KubbTextProps, LineBreakProps, Param, Params, TextNode };
|
|
1
|
+
import { g as KubbFile_d_exports, n as FabricContext, r as FabricMode } from "./Fabric-TETpTRcg.js";
|
|
2
|
+
import { _ as Param, a as JSDoc, b as DefineFabric, c as KubbExportProps, d as KubbNode, f as KubbSourceProps, h as TextNode, i as ElementNames, l as KubbFileProps, m as LineBreakProps, n as DOMNode, o as Key, p as KubbTextProps, r as DOMNodeAttribute, s as KubbElement, t as DOMElement, u as KubbImportProps, v as Params } from "./types-6UYuSzYO.js";
|
|
3
|
+
export { DOMElement, DOMNode, DOMNodeAttribute, DefineFabric, ElementNames, FabricContext, FabricMode, JSDoc, Key, KubbElement, KubbExportProps, KubbFile_d_exports as KubbFile, KubbFileProps, KubbImportProps, KubbNode, KubbSourceProps, KubbTextProps, LineBreakProps, Param, Params, TextNode };
|
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubb/react-fabric",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.9",
|
|
4
4
|
"description": "React integration for Kubb, providing JSX runtime support and React component generation capabilities for code generation plugins.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -96,6 +96,13 @@
|
|
|
96
96
|
"!/**/**.test.**",
|
|
97
97
|
"!/**/__tests__/**"
|
|
98
98
|
],
|
|
99
|
+
"size-limit": [
|
|
100
|
+
{
|
|
101
|
+
"path": "./dist/*.js",
|
|
102
|
+
"limit": "510 KiB",
|
|
103
|
+
"gzip": true
|
|
104
|
+
}
|
|
105
|
+
],
|
|
99
106
|
"dependencies": {
|
|
100
107
|
"dedent": "^1.7.0",
|
|
101
108
|
"execa": "^9.6.0",
|
|
@@ -106,14 +113,12 @@
|
|
|
106
113
|
"signal-exit": "^4.1.0",
|
|
107
114
|
"react": "^19.2.0",
|
|
108
115
|
"ws": "8.18.0",
|
|
109
|
-
"@kubb/fabric-core": "0.2.
|
|
116
|
+
"@kubb/fabric-core": "0.2.9"
|
|
110
117
|
},
|
|
111
118
|
"devDependencies": {
|
|
112
119
|
"@types/react-reconciler": "0.32.0",
|
|
113
120
|
"@types/ws": "^8.18.1",
|
|
114
|
-
"@types/react": "^19.2.2"
|
|
115
|
-
"tsdown": "^0.15.11",
|
|
116
|
-
"typescript": "^5.9.3"
|
|
121
|
+
"@types/react": "^19.2.2"
|
|
117
122
|
},
|
|
118
123
|
"engines": {
|
|
119
124
|
"node": ">=20"
|
|
@@ -123,7 +128,7 @@
|
|
|
123
128
|
"registry": "https://registry.npmjs.org/"
|
|
124
129
|
},
|
|
125
130
|
"scripts": {
|
|
126
|
-
"build": "tsdown",
|
|
131
|
+
"build": "tsdown && size-limit",
|
|
127
132
|
"start": "tsdown --watch ./src",
|
|
128
133
|
"clean": "npx rimraf ./dist",
|
|
129
134
|
"lint": "bun biome lint .",
|
package/src/Renderer.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import Reconciler, { type ReactContext } from 'react-reconciler'
|
|
2
|
-
import { DefaultEventPriority, NoEventPriority } from 'react-reconciler/constants'
|
|
2
|
+
import { DefaultEventPriority, NoEventPriority } from 'react-reconciler/constants.js'
|
|
3
3
|
|
|
4
4
|
import { appendChildNode, createNode, createTextNode, insertBeforeNode, removeChildNode, setAttribute, setTextNodeValue } from './dom.ts'
|
|
5
5
|
import type { KubbNode } from './types'
|
package/src/Runtime.tsx
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import process from 'node:process'
|
|
2
2
|
import type { ReactNode } from 'react'
|
|
3
|
-
import { ConcurrentRoot } from 'react-reconciler/constants'
|
|
3
|
+
import { ConcurrentRoot } from 'react-reconciler/constants.js'
|
|
4
4
|
import { onExit } from 'signal-exit'
|
|
5
5
|
import { Root } from './components/Root.tsx'
|
|
6
6
|
import { createNode } from './dom.ts'
|
package/src/types.ts
CHANGED
|
@@ -76,3 +76,5 @@ export type KubbExportProps = KubbFile.Export
|
|
|
76
76
|
export type LineBreakProps = React.DetailedHTMLProps<React.HTMLAttributes<HTMLBRElement>, HTMLBRElement>
|
|
77
77
|
|
|
78
78
|
export type { Params, Param } from './utils/getFunctionParams.ts'
|
|
79
|
+
|
|
80
|
+
export * from '@kubb/fabric-core/types'
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
//#region ../fabric-core/src/KubbFile.d.ts
|
|
2
|
-
type BasePath<T extends string = string> = `${T}/`;
|
|
3
|
-
type Import = {
|
|
4
|
-
/**
|
|
5
|
-
* Import name to be used
|
|
6
|
-
* @example ["useState"]
|
|
7
|
-
* @example "React"
|
|
8
|
-
*/
|
|
9
|
-
name: string | Array<string | {
|
|
10
|
-
propertyName: string;
|
|
11
|
-
name?: string;
|
|
12
|
-
}>;
|
|
13
|
-
/**
|
|
14
|
-
* Path for the import
|
|
15
|
-
* @example '@kubb/core'
|
|
16
|
-
*/
|
|
17
|
-
path: string;
|
|
18
|
-
/**
|
|
19
|
-
* Add `type` prefix to the import, this will result in: `import type { Type } from './path'`.
|
|
20
|
-
*/
|
|
21
|
-
isTypeOnly?: boolean;
|
|
22
|
-
isNameSpace?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* When root is set it will get the path with relative getRelativePath(root, path).
|
|
25
|
-
*/
|
|
26
|
-
root?: string;
|
|
27
|
-
};
|
|
28
|
-
type Source = {
|
|
29
|
-
name?: string;
|
|
30
|
-
value?: string;
|
|
31
|
-
isTypeOnly?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Has const or type 'export'
|
|
34
|
-
* @default false
|
|
35
|
-
*/
|
|
36
|
-
isExportable?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* When set, barrel generation will add this
|
|
39
|
-
* @default false
|
|
40
|
-
*/
|
|
41
|
-
isIndexable?: boolean;
|
|
42
|
-
};
|
|
43
|
-
type Export = {
|
|
44
|
-
/**
|
|
45
|
-
* Export name to be used.
|
|
46
|
-
* @example ["useState"]
|
|
47
|
-
* @example "React"
|
|
48
|
-
*/
|
|
49
|
-
name?: string | Array<string>;
|
|
50
|
-
/**
|
|
51
|
-
* Path for the import.
|
|
52
|
-
* @example '@kubb/core'
|
|
53
|
-
*/
|
|
54
|
-
path: string;
|
|
55
|
-
/**
|
|
56
|
-
* Add `type` prefix to the export, this will result in: `export type { Type } from './path'`.
|
|
57
|
-
*/
|
|
58
|
-
isTypeOnly?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Make it possible to override the name, this will result in: `export * as aliasName from './path'`.
|
|
61
|
-
*/
|
|
62
|
-
asAlias?: boolean;
|
|
63
|
-
};
|
|
64
|
-
type Extname = '.ts' | '.js' | '.tsx' | '.json' | `.${string}`;
|
|
65
|
-
/**
|
|
66
|
-
* Name to be used to dynamicly create the baseName(based on input.path)
|
|
67
|
-
* Based on UNIX basename
|
|
68
|
-
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
69
|
-
*/
|
|
70
|
-
type BaseName = `${string}.${string}`;
|
|
71
|
-
/**
|
|
72
|
-
* Path will be full qualified path to a specified file
|
|
73
|
-
*/
|
|
74
|
-
type Path = string;
|
|
75
|
-
type AdvancedPath<T extends BaseName = BaseName> = `${BasePath}${T}`;
|
|
76
|
-
type File<TMeta extends object = object> = {
|
|
77
|
-
/**
|
|
78
|
-
* Name to be used to create the path
|
|
79
|
-
* Based on UNIX basename, `${name}.extname`
|
|
80
|
-
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
81
|
-
*/
|
|
82
|
-
baseName: BaseName;
|
|
83
|
-
/**
|
|
84
|
-
* Path will be full qualified path to a specified file
|
|
85
|
-
*/
|
|
86
|
-
path: AdvancedPath<BaseName> | Path;
|
|
87
|
-
sources: Array<Source>;
|
|
88
|
-
imports?: Array<Import>;
|
|
89
|
-
exports?: Array<Export>;
|
|
90
|
-
/**
|
|
91
|
-
* Use extra meta, this is getting used to generate the barrel/index files.
|
|
92
|
-
*/
|
|
93
|
-
meta?: TMeta;
|
|
94
|
-
banner?: string;
|
|
95
|
-
footer?: string;
|
|
96
|
-
};
|
|
97
|
-
type ResolvedImport = Import;
|
|
98
|
-
type ResolvedExport = Export;
|
|
99
|
-
type ResolvedFile<TMeta extends object = object> = File<TMeta> & {
|
|
100
|
-
/**
|
|
101
|
-
* @default hash
|
|
102
|
-
*/
|
|
103
|
-
id: string;
|
|
104
|
-
/**
|
|
105
|
-
* Contains the first part of the baseName, generated based on baseName
|
|
106
|
-
* @link https://nodejs.org/api/path.html#pathformatpathobject
|
|
107
|
-
*/
|
|
108
|
-
name: string;
|
|
109
|
-
extname: Extname;
|
|
110
|
-
imports: Array<ResolvedImport>;
|
|
111
|
-
exports: Array<ResolvedExport>;
|
|
112
|
-
};
|
|
113
|
-
//#endregion
|
|
114
|
-
export { Import as a, Source as c, File as i, Export as n, Path as o, Extname as r, ResolvedFile as s, BaseName as t };
|
|
115
|
-
//# sourceMappingURL=KubbFile-D4gyyfL-.d.ts.map
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
//#region ../fabric-core/src/KubbFile.d.ts
|
|
2
|
-
type BasePath<T extends string = string> = `${T}/`;
|
|
3
|
-
type Import = {
|
|
4
|
-
/**
|
|
5
|
-
* Import name to be used
|
|
6
|
-
* @example ["useState"]
|
|
7
|
-
* @example "React"
|
|
8
|
-
*/
|
|
9
|
-
name: string | Array<string | {
|
|
10
|
-
propertyName: string;
|
|
11
|
-
name?: string;
|
|
12
|
-
}>;
|
|
13
|
-
/**
|
|
14
|
-
* Path for the import
|
|
15
|
-
* @example '@kubb/core'
|
|
16
|
-
*/
|
|
17
|
-
path: string;
|
|
18
|
-
/**
|
|
19
|
-
* Add `type` prefix to the import, this will result in: `import type { Type } from './path'`.
|
|
20
|
-
*/
|
|
21
|
-
isTypeOnly?: boolean;
|
|
22
|
-
isNameSpace?: boolean;
|
|
23
|
-
/**
|
|
24
|
-
* When root is set it will get the path with relative getRelativePath(root, path).
|
|
25
|
-
*/
|
|
26
|
-
root?: string;
|
|
27
|
-
};
|
|
28
|
-
type Source = {
|
|
29
|
-
name?: string;
|
|
30
|
-
value?: string;
|
|
31
|
-
isTypeOnly?: boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Has const or type 'export'
|
|
34
|
-
* @default false
|
|
35
|
-
*/
|
|
36
|
-
isExportable?: boolean;
|
|
37
|
-
/**
|
|
38
|
-
* When set, barrel generation will add this
|
|
39
|
-
* @default false
|
|
40
|
-
*/
|
|
41
|
-
isIndexable?: boolean;
|
|
42
|
-
};
|
|
43
|
-
type Export = {
|
|
44
|
-
/**
|
|
45
|
-
* Export name to be used.
|
|
46
|
-
* @example ["useState"]
|
|
47
|
-
* @example "React"
|
|
48
|
-
*/
|
|
49
|
-
name?: string | Array<string>;
|
|
50
|
-
/**
|
|
51
|
-
* Path for the import.
|
|
52
|
-
* @example '@kubb/core'
|
|
53
|
-
*/
|
|
54
|
-
path: string;
|
|
55
|
-
/**
|
|
56
|
-
* Add `type` prefix to the export, this will result in: `export type { Type } from './path'`.
|
|
57
|
-
*/
|
|
58
|
-
isTypeOnly?: boolean;
|
|
59
|
-
/**
|
|
60
|
-
* Make it possible to override the name, this will result in: `export * as aliasName from './path'`.
|
|
61
|
-
*/
|
|
62
|
-
asAlias?: boolean;
|
|
63
|
-
};
|
|
64
|
-
type Extname = '.ts' | '.js' | '.tsx' | '.json' | `.${string}`;
|
|
65
|
-
/**
|
|
66
|
-
* Name to be used to dynamicly create the baseName(based on input.path)
|
|
67
|
-
* Based on UNIX basename
|
|
68
|
-
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
69
|
-
*/
|
|
70
|
-
type BaseName = `${string}.${string}`;
|
|
71
|
-
/**
|
|
72
|
-
* Path will be full qualified path to a specified file
|
|
73
|
-
*/
|
|
74
|
-
type Path = string;
|
|
75
|
-
type AdvancedPath<T extends BaseName = BaseName> = `${BasePath}${T}`;
|
|
76
|
-
type File<TMeta extends object = object> = {
|
|
77
|
-
/**
|
|
78
|
-
* Name to be used to create the path
|
|
79
|
-
* Based on UNIX basename, `${name}.extname`
|
|
80
|
-
* @link https://nodejs.org/api/path.html#pathbasenamepath-suffix
|
|
81
|
-
*/
|
|
82
|
-
baseName: BaseName;
|
|
83
|
-
/**
|
|
84
|
-
* Path will be full qualified path to a specified file
|
|
85
|
-
*/
|
|
86
|
-
path: AdvancedPath<BaseName> | Path;
|
|
87
|
-
sources: Array<Source>;
|
|
88
|
-
imports?: Array<Import>;
|
|
89
|
-
exports?: Array<Export>;
|
|
90
|
-
/**
|
|
91
|
-
* Use extra meta, this is getting used to generate the barrel/index files.
|
|
92
|
-
*/
|
|
93
|
-
meta?: TMeta;
|
|
94
|
-
banner?: string;
|
|
95
|
-
footer?: string;
|
|
96
|
-
};
|
|
97
|
-
type ResolvedImport = Import;
|
|
98
|
-
type ResolvedExport = Export;
|
|
99
|
-
type ResolvedFile<TMeta extends object = object> = File<TMeta> & {
|
|
100
|
-
/**
|
|
101
|
-
* @default hash
|
|
102
|
-
*/
|
|
103
|
-
id: string;
|
|
104
|
-
/**
|
|
105
|
-
* Contains the first part of the baseName, generated based on baseName
|
|
106
|
-
* @link https://nodejs.org/api/path.html#pathformatpathobject
|
|
107
|
-
*/
|
|
108
|
-
name: string;
|
|
109
|
-
extname: Extname;
|
|
110
|
-
imports: Array<ResolvedImport>;
|
|
111
|
-
exports: Array<ResolvedExport>;
|
|
112
|
-
};
|
|
113
|
-
//#endregion
|
|
114
|
-
export { Import as a, Source as c, File as i, Export as n, Path as o, Extname as r, ResolvedFile as s, BaseName as t };
|
|
115
|
-
//# sourceMappingURL=KubbFile-FGXV713i.d.cts.map
|
package/dist/chunk-BEV-X5tz.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { createRequire } from "node:module";
|
|
2
|
-
|
|
3
|
-
//#region rolldown:runtime
|
|
4
|
-
var __create = Object.create;
|
|
5
|
-
var __defProp = Object.defineProperty;
|
|
6
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
12
|
-
key = keys[i];
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
-
get: ((k) => from[k]).bind(null, key),
|
|
15
|
-
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
return to;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
21
|
-
value: mod,
|
|
22
|
-
enumerable: true
|
|
23
|
-
}) : target, mod));
|
|
24
|
-
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
25
|
-
|
|
26
|
-
//#endregion
|
|
27
|
-
export { };
|