///
///
///
declare namespace NodeJS {
interface ProcessEnv {
readonly NODE_ENV: 'development' | 'production' | 'staging' | 'test';
readonly PUBLIC_URL: string;
readonly OAK_PLATFORM: 'web' | 'wechatMp' | 'server' | 'native';
readonly OAK_RENDER?: 'browser' | 'tauri' | 'electron';
readonly HOST_NAME: string;
readonly SUB_DIR_NAME: string; // 项目目录名
}
}
interface GlobalThis {
__OAK_FRONTEND_ICON_LIBRARIES__?: Array<{
name: string;
type?: string;
fontFamilyClass?: string;
classPrefix?: string;
style?: string | string[];
subset?: boolean | 'auto';
platforms?: string[];
}>;
}
declare module '*.avif' {
const src: string;
export default src;
}
declare module '*.bmp' {
const src: string;
export default src;
}
declare module '*.gif' {
const src: string;
export default src;
}
declare module '*.jpg' {
const src: string;
export default src;
}
declare module '*.jpeg' {
const src: string;
export default src;
}
declare module '*.png' {
const src: string;
export default src;
}
declare module '*.webp' {
const src: string;
export default src;
}
declare module '*.svg' {
import * as React from 'react';
export const ReactComponent: React.FunctionComponent & { title?: string }>;
const src: string;
export default src;
}
interface CSSModule { readonly [key: string]: string }
declare module '*.module.css' {
const classes: CSSModule;
export default classes;
}
declare module '*.module.scss' {
const classes: CSSModule;
export default classes;
}
declare module '*.module.sass' {
const classes: CSSModule;
export default classes;
}
declare module '*.module.less' {
const classes: CSSModule;
export default classes;
}
// for react-native
declare module '*.native.less' {
const styles: Record;
export default styles;
}
declare module '*.native.module.less' {
const styles: Record;
export default styles;
}
type CSSModuleClasses = { readonly [key: string]: string };
// for web
declare module '*.less' {
const classes: CSSModuleClasses;
export default classes;
}
declare module '*.css' {
const classes: CSSModuleClasses;
export default classes;
}
declare module '*.scss' {
const classes: CSSModuleClasses;
export default classes;
}
declare module '*.sass' {
const classes: CSSModuleClasses;
export default classes;
}
declare module 'virtual:oak-mp-route-map' {
export type OakWechatMpRouteMap = {
routes?: Record;
reverse?: Record;
tabBar?: string[];
};
const routeMap: OakWechatMpRouteMap;
export default routeMap;
export { routeMap };
}
declare module '@oak/frontend-global-components-runtime' {
import * as React from 'react';
export type OakFrontendGlobalComponentEntry = {
name: string;
devOnly?: boolean;
Component: React.ComponentType;
};
export function createOakFrontendGlobalComponentEntry(
entry: OakFrontendGlobalComponentEntry
): OakFrontendGlobalComponentEntry;
export function renderOakFrontendGlobalComponents(
entries: OakFrontendGlobalComponentEntry[],
mode?: string
): React.ReactNode[];
}
declare module '@oak/frontend-global-components' {
import type {
OakFrontendGlobalComponentEntry,
} from '@oak/frontend-global-components-runtime';
const frontendGlobalComponents: OakFrontendGlobalComponentEntry[];
export default frontendGlobalComponents;
export { frontendGlobalComponents };
}
/**
* 微信标签申明
*/
declare namespace JSX {
interface IntrinsicElements extends JSX.IntrinsicElements {
'wx-open-launch-weapp': React.DetailedHTMLProps<
React.HTMLAttributes,
HTMLElement,
{ appid: string }
>;
}
}