diff --git a/packages/create-inula/lib/BasicGenerator.js b/packages/create-inula/lib/BasicGenerator.js index 972b2044..6217021e 100644 --- a/packages/create-inula/lib/BasicGenerator.js +++ b/packages/create-inula/lib/BasicGenerator.js @@ -140,8 +140,7 @@ class BasicGenerator extends Generator { if (fs.lstatSync(fullpath).isDirectory()) { this.traverseDirBubble(fullpath, dirCallback, fileCallback); dirCallback(fullpath); - } - else{ + } else { fileCallback(fullpath); } } diff --git a/packages/create-inula/lib/generators/Simple-app/templates/vite/src/index.jsx b/packages/create-inula/lib/generators/Simple-app/templates/vite/src/index.jsx index 01630722..d9e45c88 100644 --- a/packages/create-inula/lib/generators/Simple-app/templates/vite/src/index.jsx +++ b/packages/create-inula/lib/generators/Simple-app/templates/vite/src/index.jsx @@ -34,7 +34,9 @@ function App() {

了解更多

要了解 Inula,查看{' '} - Inula 官网 + + Inula 官网 +

diff --git a/packages/create-inula/lib/generators/Simple-app/templates/webpack/src/App.jsx b/packages/create-inula/lib/generators/Simple-app/templates/webpack/src/App.jsx index 33654464..75e326c4 100644 --- a/packages/create-inula/lib/generators/Simple-app/templates/webpack/src/App.jsx +++ b/packages/create-inula/lib/generators/Simple-app/templates/webpack/src/App.jsx @@ -33,10 +33,12 @@ class App extends Inula.Component {

了解更多

-

- 要了解 Inula,查看{' '} - Inula 官网 -

+

+ 要了解 Inula,查看{' '} + + Inula 官网 + +

diff --git a/packages/create-inula/lib/generators/Simple-reactive-app/templates/vite/src/index.jsx b/packages/create-inula/lib/generators/Simple-reactive-app/templates/vite/src/index.jsx index 42179269..ff9bf0c3 100644 --- a/packages/create-inula/lib/generators/Simple-reactive-app/templates/vite/src/index.jsx +++ b/packages/create-inula/lib/generators/Simple-reactive-app/templates/vite/src/index.jsx @@ -26,7 +26,7 @@ function App() {
- +
@@ -34,7 +34,9 @@ function App() {

了解更多

要了解 Inula,查看{' '} - Inula 官网 + + Inula 官网 +

diff --git a/packages/create-inula/lib/generators/Simple-reactive-app/templates/webpack/src/App.jsx b/packages/create-inula/lib/generators/Simple-reactive-app/templates/webpack/src/App.jsx index 5a294011..a8b52c96 100644 --- a/packages/create-inula/lib/generators/Simple-reactive-app/templates/webpack/src/App.jsx +++ b/packages/create-inula/lib/generators/Simple-reactive-app/templates/webpack/src/App.jsx @@ -27,16 +27,18 @@ class App extends Inula.Component {
- +

了解更多

-

- 要了解 Inula,查看{' '} - Inula 官网 -

+

+ 要了解 Inula,查看{' '} + + Inula 官网 + +

diff --git a/packages/create-inula/lib/run.js b/packages/create-inula/lib/run.js index 268022ed..d0ad06cd 100644 --- a/packages/create-inula/lib/run.js +++ b/packages/create-inula/lib/run.js @@ -68,10 +68,10 @@ const run = async config => { { name: 'projectName', message: 'Project name', - type: 'input' + type: 'input', }, ]); - config.name = answers.projectName; + config.name = answers.projectName; } if (!type) { const answers = await inquirer.prompt([ diff --git a/packages/inula-cli/bin/start.js b/packages/inula-cli/bin/start.js index 32a914ed..84ade0ea 100644 --- a/packages/inula-cli/bin/start.js +++ b/packages/inula-cli/bin/start.js @@ -17,4 +17,4 @@ import run from '../lib/cli/cli.js'; -run(); \ No newline at end of file +run(); diff --git a/packages/inula-cli/src/builtInPlugins/command/dev/buildDev.ts b/packages/inula-cli/src/builtInPlugins/command/dev/buildDev.ts index 4dcf828e..9ffccf76 100644 --- a/packages/inula-cli/src/builtInPlugins/command/dev/buildDev.ts +++ b/packages/inula-cli/src/builtInPlugins/command/dev/buildDev.ts @@ -19,7 +19,6 @@ import { createServer } from 'vite'; import { API } from '../../../types/types'; import setupProxy from '../../../utils/setupProxy.js'; - export default (api: API) => { api.registerCommand({ name: 'dev', @@ -46,7 +45,7 @@ export default (api: API) => { if (api.userConfig.devBuildConfig.devProxy) { devServerOptions.onBeforeSetupMiddleware = (devServer: WebpackDevServer) => { setupProxy(devServer.app, api); - } + }; } api.applyHook({ @@ -58,7 +57,7 @@ export default (api: API) => { api.applyHook({ name: 'afterStartDevServer' }); }); } else { - api.logger.error('Can\'t find config'); + api.logger.error("Can't find config"); } break; case 'vite': @@ -71,7 +70,7 @@ export default (api: API) => { server.printUrls(); }); } else { - api.logger.error('Can\'t find config'); + api.logger.error("Can't find config"); } break; default: diff --git a/packages/inula-cli/src/cli/cli.ts b/packages/inula-cli/src/cli/cli.ts index 54598108..b33a4521 100644 --- a/packages/inula-cli/src/cli/cli.ts +++ b/packages/inula-cli/src/cli/cli.ts @@ -46,7 +46,7 @@ export default async function run() { initializeEnv(); if (command === 'version' || command === 'help') { - process.env.INNER_COMMAND = "true" + process.env.INNER_COMMAND = 'true'; } switch (command) { @@ -63,7 +63,7 @@ export default async function run() { let enableDebug: boolean = false; - if (process.env.DEBUG === "true") { + if (process.env.DEBUG === 'true') { enableDebug = true; } diff --git a/packages/inula-cli/src/core/Hub.ts b/packages/inula-cli/src/core/Hub.ts index 1035f9d8..0c7835f8 100644 --- a/packages/inula-cli/src/core/Hub.ts +++ b/packages/inula-cli/src/core/Hub.ts @@ -46,7 +46,7 @@ export default class Hub { userConfig: UserConfig = {}; packageJson: PackageJSON; stage: ServiceStage = ServiceStage.uninitialized; - buildConfig: {name:string, config: object}[] = []; + buildConfig: { name: string; config: object }[] = []; pluginManager: Plugin; buildConfigPath: BuildConfig[] = []; devBuildConfig: object = {}; @@ -95,7 +95,7 @@ export default class Hub { this.userConfig = await this.configManager.getUserConfig(); // 设置编译模式 - this.setCompileMode() + this.setCompileMode(); // 获取编译配置 await this.analyzeBuildConfig(); @@ -135,8 +135,8 @@ export default class Hub { : this.pluginManager.commands[command]; if (commands === undefined) { - this.logger.error(`Invalid command ${command}`) - return + this.logger.error(`Invalid command ${command}`); + return; } const { fn } = commands as ICommand; @@ -164,7 +164,7 @@ export default class Hub { let finalBc = {}; if (typeof bc === 'function') { - finalBc = bc(env) + finalBc = bc(env); this.devBuildConfig = finalBc; return; } @@ -175,55 +175,53 @@ export default class Hub { } } - - if (!this.userConfig.buildConfig) { switch (this.compileMode) { case 'webpack': - this.buildConfigPath.push({name:'default', path:'./webpack.config.js'}) + this.buildConfigPath.push({ name: 'default', path: './webpack.config.js' }); break; case 'vite': - this.buildConfigPath.push({name:'default', path:'./vite.config.js'}) + this.buildConfigPath.push({ name: 'default', path: './vite.config.js' }); break; default: this.logger.warn(`Unknown compile mode ${this.compileMode}`); break; } } else { - this.userConfig.buildConfig.forEach((userBuildConfig) => { + this.userConfig.buildConfig.forEach(userBuildConfig => { if (typeof userBuildConfig === 'object') { this.buildConfigPath.push(userBuildConfig); } - }) + }); } - this.buildConfigPath.forEach(async (config) => { - let {name, path} = config; + this.buildConfigPath.forEach(async config => { + let { name, path } = config; path = isAbsolute(path) ? path : join(process.cwd(), path); if (!existsSync(path)) { this.logger.debug(`Cant't find build config. Path is ${path}`); return; } this.logger.debug(`Find build config. Path is ${path}`); - let bc = await loadModule(path); + let bc = await loadModule(path); if (bc == undefined) { return; } let finalBc = {}; if (typeof bc === 'function') { - finalBc = bc(config.env) - this.buildConfig.push({name: name, config: finalBc}); + finalBc = bc(config.env); + this.buildConfig.push({ name: name, config: finalBc }); return; } - this.buildConfig.push({name: name, config: bc}); - }) + this.buildConfig.push({ name: name, config: bc }); + }); } getConfigName(name: string): string { name = name.replace('webpack.', ''); name = name.replace('.js', ''); name = name.replace('.ts', ''); - return name + return name; } } diff --git a/packages/inula-cli/src/plugin/Plugin.ts b/packages/inula-cli/src/plugin/Plugin.ts index a311cae6..cc34cdf1 100644 --- a/packages/inula-cli/src/plugin/Plugin.ts +++ b/packages/inula-cli/src/plugin/Plugin.ts @@ -135,15 +135,11 @@ export default class Plugin { return new Proxy(pluginAPI, { get: (target: PluginAPI, prop: string) => { if (['userConfig', 'devBuildConfig', 'buildConfig', 'compileMode', 'packageJson', 'cwd'].includes(prop)) { - return typeof this.hub[prop] === 'function' - ? this.hub[prop].bind(this.hub) - : this.hub[prop]; + return typeof this.hub[prop] === 'function' ? this.hub[prop].bind(this.hub) : this.hub[prop]; } if (['setStore', 'logger', 'commands'].includes(prop)) { - return typeof this[prop] === 'function' - ? this[prop].bind(this) - : this[prop]; + return typeof this[prop] === 'function' ? this[prop].bind(this) : this[prop]; } return target[prop]; diff --git a/packages/inula-cli/src/plugin/PluginAPI.ts b/packages/inula-cli/src/plugin/PluginAPI.ts index 7dd3bebc..80104853 100644 --- a/packages/inula-cli/src/plugin/PluginAPI.ts +++ b/packages/inula-cli/src/plugin/PluginAPI.ts @@ -59,7 +59,7 @@ export default class PluginAPI { this.manager.registerFunction.push(fn); } - async applyHook(name: string, args?: any ) { + async applyHook(name: string, args?: any) { const hooks: IHook[] = this.manager.hooks[name] || []; let config: any = undefined; for (const hook of hooks) { diff --git a/packages/inula-cli/src/types/types.ts b/packages/inula-cli/src/types/types.ts index 23bde194..c1d17e6a 100644 --- a/packages/inula-cli/src/types/types.ts +++ b/packages/inula-cli/src/types/types.ts @@ -19,11 +19,8 @@ import { Logger } from '../utils/logger.js'; import type * as http from 'http'; import type * as express from 'express'; - -interface Request extends express.Request { -} -interface Response extends express.Response { -} +interface Request extends express.Request {} +interface Response extends express.Response {} export interface IDep { [name: string]: string; @@ -98,7 +95,7 @@ export interface API { }; registerMethod: { (method: Function): void; - } + }; applyHook: { (opts: applyHookConfig): void; }; @@ -143,7 +140,7 @@ export interface DevBuildConfig { export interface DevProxy { target: string; - matcher: ((pathname: string, req: Request) => boolean); + matcher: (pathname: string, req: Request) => boolean; onProxyRes: (proxyRes: http.IncomingMessage, req: Request, res: Response) => void; } diff --git a/packages/inula-cli/src/utils/build.ts b/packages/inula-cli/src/utils/build.ts index 0944c1d9..3c7afc38 100644 --- a/packages/inula-cli/src/utils/build.ts +++ b/packages/inula-cli/src/utils/build.ts @@ -52,7 +52,7 @@ const buildConfig = async (fileName: string, format: 'esm' | 'cjs' = 'esm'): Pro return { loader: args.path.endsWith('.ts') ? 'ts' : 'js', - contents: contents + contents: contents, }; }); }, diff --git a/packages/inula-cli/src/utils/loadModule.ts b/packages/inula-cli/src/utils/loadModule.ts index 3e3a2f7c..2f3ebc1b 100644 --- a/packages/inula-cli/src/utils/loadModule.ts +++ b/packages/inula-cli/src/utils/loadModule.ts @@ -27,7 +27,6 @@ export async function loadModule(filePath: string): Promise { const isTsFile: boolean = filePath.endsWith('ts'); const isJsFile: boolean = filePath.endsWith('js'); - let content: T | undefined; // js文件,可以直接通过import引用 diff --git a/packages/inula-cli/src/utils/logger.ts b/packages/inula-cli/src/utils/logger.ts index ae0a4729..d11a994f 100644 --- a/packages/inula-cli/src/utils/logger.ts +++ b/packages/inula-cli/src/utils/logger.ts @@ -15,8 +15,8 @@ export enum LogLevel { DEBUG = 0, - INFO = 1, - WARN = 2, + INFO = 1, + WARN = 2, ERROR = 3, } diff --git a/packages/inula-cli/src/utils/mockServer.ts b/packages/inula-cli/src/utils/mockServer.ts index 64a655ec..bac59eb6 100644 --- a/packages/inula-cli/src/utils/mockServer.ts +++ b/packages/inula-cli/src/utils/mockServer.ts @@ -15,7 +15,7 @@ import chokidar from 'chokidar'; import bodyParser from 'body-parser'; -import {globSync} from 'glob'; +import { globSync } from 'glob'; import { join } from 'path'; import { createRequire } from 'module'; @@ -93,8 +93,8 @@ function generateRoutes(app: any) { respond instanceof Function ? respond : (_req: any, res: { send: (arg0: any) => void }) => { - res.send(respond); - } + res.send(respond); + } ); } catch (error) { console.error(error); diff --git a/packages/inula-cli/src/utils/setupProxy.ts b/packages/inula-cli/src/utils/setupProxy.ts index c565d84c..06f43c88 100644 --- a/packages/inula-cli/src/utils/setupProxy.ts +++ b/packages/inula-cli/src/utils/setupProxy.ts @@ -17,12 +17,14 @@ import { createProxyMiddleware } from 'http-proxy-middleware'; import { API } from '../types/types'; export default (app: any, api: API) => { - const { devProxy } = api.userConfig.devBuildConfig; - app.use(createProxyMiddleware(devProxy.matcher, { - target: devProxy.target, - secure: false, - changeOrigin: true, - ws: false, - onProxyRes: devProxy.onProxyRes - })); -} \ No newline at end of file + const { devProxy } = api.userConfig.devBuildConfig; + app.use( + createProxyMiddleware(devProxy.matcher, { + target: devProxy.target, + secure: false, + changeOrigin: true, + ws: false, + onProxyRes: devProxy.onProxyRes, + }) + ); +}; diff --git a/packages/inula-cli/src/utils/util.ts b/packages/inula-cli/src/utils/util.ts index 6ad4942e..e19d663c 100644 --- a/packages/inula-cli/src/utils/util.ts +++ b/packages/inula-cli/src/utils/util.ts @@ -17,7 +17,7 @@ import { dirname } from 'path'; import { readFileSync, writeFileSync } from 'fs'; import resolve from 'resolve'; // @ts-ignore -import crequire from 'crequire' +import crequire from 'crequire'; import { createRequire } from 'module'; const require = createRequire(import.meta.url); diff --git a/packages/inula-dev-tools/babel.config.js b/packages/inula-dev-tools/babel.config.js index 10a19b67..6930cabf 100644 --- a/packages/inula-dev-tools/babel.config.js +++ b/packages/inula-dev-tools/babel.config.js @@ -17,9 +17,7 @@ module.exports = api => { const isTest = api.env('test'); console.log('isTest', isTest); - const plugins = [ - ['@babel/plugin-proposal-class-properties', { loose: false }], - ]; + const plugins = [['@babel/plugin-proposal-class-properties', { loose: false }]]; if (process.env.NODE_ENV !== 'production') { plugins.push(['@babel/plugin-transform-react-jsx-source']); @@ -30,11 +28,13 @@ module.exports = api => { '@babel/preset-env', '@babel/preset-typescript', [ - '@babel/preset-react', { - runtime: 'classic', - 'pragma': 'Inula.createElement', - 'pragmaFrag': 'Inula.Fragment', - }] + '@babel/preset-react', + { + runtime: 'classic', + pragma: 'Inula.createElement', + pragmaFrag: 'Inula.Fragment', + }, + ], ], plugins, }; diff --git a/packages/inula-dev-tools/externals.d.ts b/packages/inula-dev-tools/externals.d.ts index 72bdaf9d..8a4ee6d2 100644 --- a/packages/inula-dev-tools/externals.d.ts +++ b/packages/inula-dev-tools/externals.d.ts @@ -14,6 +14,6 @@ */ declare module '*.less' { - const resource: {[key: string]: string}; + const resource: { [key: string]: string }; export = resource; } diff --git a/packages/inula-dev-tools/src/background/index.ts b/packages/inula-dev-tools/src/background/index.ts index 0efe312b..32a5ac8b 100644 --- a/packages/inula-dev-tools/src/background/index.ts +++ b/packages/inula-dev-tools/src/background/index.ts @@ -13,9 +13,9 @@ * See the Mulan PSL v2 for more details. */ -import { checkMessage, packagePayload, changeSource } from "../utils/transferUtils"; -import { RequestAllVNodeTreeInfos, InitDevToolPageConnection, DevToolBackground } from "../utils/constants"; -import { DevToolPanel, DevToolContentScript } from "../utils/constants"; +import { checkMessage, packagePayload, changeSource } from '../utils/transferUtils'; +import { RequestAllVNodeTreeInfos, InitDevToolPageConnection, DevToolBackground } from '../utils/constants'; +import { DevToolPanel, DevToolContentScript } from '../utils/constants'; // 多个页面 tab 页共享一个 background,需要建立连接池,给每个 tab 建立连接 export const connections = {}; diff --git a/packages/inula-dev-tools/src/background/inulaXHandler.ts b/packages/inula-dev-tools/src/background/inulaXHandler.ts index 4c7e9c2b..6e4392ee 100644 --- a/packages/inula-dev-tools/src/background/inulaXHandler.ts +++ b/packages/inula-dev-tools/src/background/inulaXHandler.ts @@ -47,7 +47,7 @@ function requestObservedComponents(tabId) { packagePayload( { type: 'inulax request observed components', - data: {} + data: {}, }, 'dev tool background' ) @@ -65,7 +65,7 @@ function executeAction(tabId, storeId, action, params) { action, storeId, params, - } + }, }, 'dev tool background' ) @@ -82,7 +82,7 @@ function queueAction(tabId, storeId, action, params) { action, storeId, params, - } + }, }, 'sev tool background' ) @@ -167,12 +167,13 @@ chrome.runtime.onMessage.addListener(function (message, sender) { type: 'INULA_DEV_TOOLS', payload: { type: 'inulax stores', - stores: storesPerTab[tabId]?.map(store => { - // 连接被监测的组件 - requestObservedComponents(tabId); - const observedComponents = getObservedComponents(store, tabId); - return { ...store, observedComponents }; - }) || [], + stores: + storesPerTab[tabId]?.map(store => { + // 连接被监测的组件 + requestObservedComponents(tabId); + const observedComponents = getObservedComponents(store, tabId); + return { ...store, observedComponents }; + }) || [], newStore: message.payload.data.store.id, }, from: DevToolBackground, @@ -184,11 +185,12 @@ chrome.runtime.onMessage.addListener(function (message, sender) { type: 'INULA_DEV_TOOLS', payload: { type: 'inulax stores', - stores: storesPerTab[sender.tab.id]?.map(store => { - // 连接被监测的组件 - const observedComponents = getObservedComponents(store, sender.tab?.id); - return { ...store, observedComponents }; - }) || [], + stores: + storesPerTab[sender.tab.id]?.map(store => { + // 连接被监测的组件 + const observedComponents = getObservedComponents(store, sender.tab?.id); + return { ...store, observedComponents }; + }) || [], updated: message.payload.data.store.id, }, from: DevToolBackground, @@ -200,30 +202,17 @@ chrome.runtime.onMessage.addListener(function (message, sender) { if (message.from === DevToolPanel) { // panel -> inulaXHandler if (message.payload.type === 'inulax run action') { - executeAction( - message.payload.tabId, - message.payload.storeId, - message.payload.action, - message.payload.args - ); + executeAction(message.payload.tabId, message.payload.storeId, message.payload.action, message.payload.args); return; } if (message.payload.type === 'inulax change state') { - chrome.tabs.sendMessage( - message.payload.tabId, - packagePayload(message.payload, 'dev tool background') - ); + chrome.tabs.sendMessage(message.payload.tabId, packagePayload(message.payload, 'dev tool background')); return; } if (message.payload.type === 'inulax queue action') { - queueAction( - message.payload.tabId, - message.payload.storeId, - message.payload.action, - message.payload.args - ); + queueAction(message.payload.tabId, message.payload.storeId, message.payload.action, message.payload.args); return; } @@ -240,7 +229,7 @@ chrome.runtime.onMessage.addListener(function (message, sender) { return; } - if (message.payload.type === 'inula setPersistent'){ + if (message.payload.type === 'inula setPersistent') { const { tabId, persistent } = message.payload; eventPersistencePerTab[tabId] = persistent; return; @@ -278,14 +267,12 @@ chrome.runtime.onMessage.addListener(function (message, sender) { type: 'INULA_DEV_TOOLS', payload: { type: 'inulax stores', - stores: storesPerTab[message.payload.tabId]?.map(store => { - requestObservedComponents(message.payload.tabId); - const observedComponents = getObservedComponents( - store.id, - message.payload.tabId - ); - return { ...store, observedComponents }; - }) || [], + stores: + storesPerTab[message.payload.tabId]?.map(store => { + requestObservedComponents(message.payload.tabId); + const observedComponents = getObservedComponents(store.id, message.payload.tabId); + return { ...store, observedComponents }; + }) || [], }, from: DevToolBackground, }); diff --git a/packages/inula-dev-tools/src/components/ComponentInfo.tsx b/packages/inula-dev-tools/src/components/ComponentInfo.tsx index 0f2b658e..f598f6b5 100644 --- a/packages/inula-dev-tools/src/components/ComponentInfo.tsx +++ b/packages/inula-dev-tools/src/components/ComponentInfo.tsx @@ -47,7 +47,7 @@ const ComponentAttr = memo(function ComponentAttr({ attrs, id, dropdownRef, - }: { +}: { attrsName: string; attrsType: string; attrs: IAttr[]; @@ -421,7 +421,12 @@ function ComponentInfo({ name, attrs, parents, id, source, onClickParent }: ICom Copy value to console
  • storeVariable((dropdownRef.current as any).attrInfo.attrsName, (dropdownRef.current as any).attrInfo.path)} + onClick={() => + storeVariable( + (dropdownRef.current as any).attrInfo.attrsName, + (dropdownRef.current as any).attrInfo.path + ) + } > Store as global variable
  • diff --git a/packages/inula-dev-tools/src/components/Search.tsx b/packages/inula-dev-tools/src/components/Search.tsx index ea1b48c8..30bcec77 100644 --- a/packages/inula-dev-tools/src/components/Search.tsx +++ b/packages/inula-dev-tools/src/components/Search.tsx @@ -38,7 +38,7 @@ export default function Search(props: SearchProps) { onchange={handleChange} className={styles.search} value={value} - placeholder='Search Component' + placeholder="Search Component" /> ); } diff --git a/packages/inula-dev-tools/src/components/SizeObserver.tsx b/packages/inula-dev-tools/src/components/SizeObserver.tsx index 32d92058..0f737c73 100644 --- a/packages/inula-dev-tools/src/components/SizeObserver.tsx +++ b/packages/inula-dev-tools/src/components/SizeObserver.tsx @@ -20,7 +20,7 @@ export function SizeObserver(props) { const { children, ...rest } = props; const containerRef = useRef(); const [size, setSize] = useState<{ width: number; height: number }>(); - const notifyChild = (element) => { + const notifyChild = element => { setSize({ width: element.offsetWidth, height: element.offsetHeight, diff --git a/packages/inula-dev-tools/src/components/VList/ItemMap.ts b/packages/inula-dev-tools/src/components/VList/ItemMap.ts index e4c43bc3..c8c5f2b6 100644 --- a/packages/inula-dev-tools/src/components/VList/ItemMap.ts +++ b/packages/inula-dev-tools/src/components/VList/ItemMap.ts @@ -18,7 +18,6 @@ * 确保继续渲染项在新渲染数组中的位置和旧渲染数组中的位置不发生改变 */ export default class ItemMap { - // 不要用 indexOf 进行位置计算,它会遍历数组 private lastRenderItemToIndexMap: Map; @@ -26,7 +25,7 @@ export default class ItemMap { this.lastRenderItemToIndexMap = new Map(); } - public calculateReSortedItems(nextItems: T[]): (T|undefined)[] { + public calculateReSortedItems(nextItems: T[]): (T | undefined)[] { if (this.lastRenderItemToIndexMap.size === 0) { nextItems.forEach((item, index) => { this.lastRenderItemToIndexMap.set(item, index); diff --git a/packages/inula-dev-tools/src/components/VList/VList.tsx b/packages/inula-dev-tools/src/components/VList/VList.tsx index 9efbbf89..cdc21d18 100644 --- a/packages/inula-dev-tools/src/components/VList/VList.tsx +++ b/packages/inula-dev-tools/src/components/VList/VList.tsx @@ -36,13 +36,13 @@ interface IProps { export type RenderInfoType = { visibleItems: T[]; -} +}; function parseTranslate(data: T[], itemHeight: number) { const map = new Map(); data.forEach((item, index) => { map.set(item, index * itemHeight); - }) + }); return map; } @@ -121,7 +121,7 @@ export function VList(props: IProps) { className={styles.item} style={{ transform: `translateY(${itemToTranslateYMap.get(item)}px)` }} > - {children(item,indentationLength)} + {children(item, indentationLength)} ); }); diff --git a/packages/inula-dev-tools/src/components/VTree.tsx b/packages/inula-dev-tools/src/components/VTree.tsx index 77918715..bdef53e2 100644 --- a/packages/inula-dev-tools/src/components/VTree.tsx +++ b/packages/inula-dev-tools/src/components/VTree.tsx @@ -152,7 +152,7 @@ function Item(props: IItem) { return (
    @@ -182,15 +182,7 @@ function VTree(props: { selectItem: IData; onSelectItem: (item: IData) => void; }) { - const { - data, - maxDeep, - highlightValue, - scrollToItem, - onRendered, - onCollapseNode, - onSelectItem - } = props; + const { data, maxDeep, highlightValue, scrollToItem, onRendered, onCollapseNode, onSelectItem } = props; const [collapseNode, setCollapseNode] = useState(props.collapsedNodes || []); const [selectItem, setSelectItem] = useState(props.selectItem); const [childItems, setChildItems] = useState>([]); @@ -251,12 +243,9 @@ function VTree(props: { [onSelectItem] ); - const handleMouseEnterItem = useCallback( - item => { - postMessageToBackground(Highlight, item); - }, - null - ); + const handleMouseEnterItem = useCallback(item => { + postMessageToBackground(Highlight, item); + }, null); const handleMouseLeaveItem = () => { postMessageToBackground(RemoveHighlight); diff --git a/packages/inula-dev-tools/src/highlight/index.ts b/packages/inula-dev-tools/src/highlight/index.ts index 78ae260b..65de1095 100644 --- a/packages/inula-dev-tools/src/highlight/index.ts +++ b/packages/inula-dev-tools/src/highlight/index.ts @@ -20,7 +20,7 @@ const overlayStyles = { background: 'rgba(120, 170, 210, 0.7)', padding: 'rgba(77, 200, 0, 0.3)', margin: 'rgba(255, 155, 0, 0.3)', - border: 'rgba(255, 200, 50, 0.3)' + border: 'rgba(255, 200, 50, 0.3)', }; type Rect = { @@ -58,7 +58,7 @@ function getOwnerIframe(node: Element): Element | null { function getElementStyle(domElement: Element) { const style = window.getComputedStyle(domElement); - return{ + return { marginLeft: parseInt(style.marginLeft, 10), marginRight: parseInt(style.marginRight, 10), marginTop: parseInt(style.marginTop, 10), @@ -70,7 +70,7 @@ function getElementStyle(domElement: Element) { paddingLeft: parseInt(style.paddingLeft, 10), paddingRight: parseInt(style.paddingRight, 10), paddingTop: parseInt(style.paddingTop, 10), - paddingBottom: parseInt(style.paddingBottom, 10) + paddingBottom: parseInt(style.paddingBottom, 10), }; } @@ -86,7 +86,7 @@ function mergeRectOffsets(rects: Array): Rect { width: previousRect.width + rect.width, height: previousRect.height + rect.height, bottom: previousRect.bottom + rect.bottom, - right: previousRect.right + rect.right + right: previousRect.right + rect.right, }; }); } @@ -99,18 +99,15 @@ function getBoundingClientRectWithBorderOffset(node: Element) { top: dimensions.borderTop, left: dimensions.borderLeft, bottom: dimensions.borderBottom, - right:dimensions.borderRight, + right: dimensions.borderRight, // 高度和宽度不会被使用 width: 0, - height: 0 - } + height: 0, + }, ]); } -function getNestedBoundingClientRect( - node: HTMLElement, - boundaryWindow -): Rect { +function getNestedBoundingClientRect(node: HTMLElement, boundaryWindow): Rect { const ownerIframe = getOwnerIframe(node); if (ownerIframe && ownerIframe !== boundaryWindow) { const rects = [node.getBoundingClientRect()] as Rect[]; @@ -125,7 +122,7 @@ function getNestedBoundingClientRect( break; } - if (currentIframe &&getOwnerWindow(currentIframe) === boundaryWindow) { + if (currentIframe && getOwnerWindow(currentIframe) === boundaryWindow) { onlyOneMore = true; } } @@ -156,7 +153,7 @@ class OverlayRect { assign(this.node.style, { borderColor: overlayStyles.margin, pointerEvents: 'none', - position: 'fixed' + position: 'fixed', }); this.node.style.zIndex = '10000000'; @@ -179,13 +176,25 @@ class OverlayRect { setBoxStyle(eleStyle, 'padding', this.padding); assign(this.content.style, { - height: boxRect.height - eleStyle.borderTop - eleStyle.borderBottom - eleStyle.paddingTop - eleStyle.paddingBottom + 'px', - width: boxRect.width - eleStyle.borderLeft - eleStyle.borderRight - eleStyle.paddingLeft - eleStyle.paddingRight + 'px' + height: + boxRect.height - + eleStyle.borderTop - + eleStyle.borderBottom - + eleStyle.paddingTop - + eleStyle.paddingBottom + + 'px', + width: + boxRect.width - + eleStyle.borderLeft - + eleStyle.borderRight - + eleStyle.paddingLeft - + eleStyle.paddingRight + + 'px', }); assign(this.node.style, { top: boxRect.top - eleStyle.marginTop + 'px', - left: boxRect.left - eleStyle.marginLeft + 'px' + left: boxRect.left - eleStyle.marginLeft + 'px', }); } } @@ -235,7 +244,7 @@ class ElementOverlay { top: Number.POSITIVE_INFINITY, right: Number.NEGATIVE_INFINITY, bottom: Number.NEGATIVE_INFINITY, - left: Number.POSITIVE_INFINITY + left: Number.POSITIVE_INFINITY, }; elements.forEach((element, index) => { diff --git a/packages/inula-dev-tools/src/injector/index.ts b/packages/inula-dev-tools/src/injector/index.ts index 3cf3cf2d..ce93c6ad 100644 --- a/packages/inula-dev-tools/src/injector/index.ts +++ b/packages/inula-dev-tools/src/injector/index.ts @@ -44,7 +44,7 @@ import { ClassComponent, IncompleteClassComponent, ForwardRef, - MemoComponent + MemoComponent, } from '../../../inula/src/renderer/vnode/VNodeTags'; import { pickElement } from './pickElement'; @@ -101,11 +101,7 @@ function parseCompAttrs(id: number) { function calculateNextValue(editValue, value, attrPath) { let nextState; const editValueType = typeof editValue; - if ( - editValueType === 'string' || - editValueType === 'undefined' || - editValueType === 'boolean' - ) { + if (editValueType === 'string' || editValueType === 'undefined' || editValueType === 'boolean') { nextState = value; } else if (editValueType === 'number') { const numValue = Number(value); @@ -125,10 +121,7 @@ function calculateNextValue(editValue, value, attrPath) { nextState = newValue; } } else { - console.error( - 'The dev tools tried to edit a non-editable value, this is a bug, please report.', - editValue - ); + console.error('The dev tools tried to edit a non-editable value, this is a bug, please report.', editValue); } return nextState; } @@ -153,10 +146,7 @@ function modifyVNodeAttrs(data) { const nextState = calculateNextValue(editValue, value, path.slice(1)); helper.updateHooks(vNode, path[0], nextState); } else { - console.error( - 'The dev tools tried to edit a non-editable hook, this is a bug, please report.', - hooks - ); + console.error('The dev tools tried to edit a non-editable hook, this is a bug, please report.', hooks); } } else if (type === ModifyState) { const oldState = vNode.state || {}; @@ -190,11 +180,7 @@ function logComponentData(id: number) { * @param {Array} path 路径 * @param {string} attrsName 值的类型(props 或者 hooks) */ -const getValueByPath = ( - vNode: VNode, - path: Array, - attrsName: string -) => { +const getValueByPath = (vNode: VNode, path: Array, attrsName: string) => { if (attrsName === 'Props') { return path.reduce((previousValue, currentValue) => { return previousValue[currentValue]; @@ -218,12 +204,7 @@ const getValueByPath = ( * @param {Array} path 值的路径 * @param {string} attrsName 值的类型 */ -function logDataWithPath( - id: number, - itemName: string, - path: Array, - attrsName: string -) { +function logDataWithPath(id: number, itemName: string, path: Array, attrsName: string) { const vNode = queryVNode(id); if (vNode === null) { console.warn(`Could not find vNode with id "${id}"`); @@ -246,11 +227,7 @@ function logDataWithPath( * @param {Array} path 值的路径 * @param {string} attrsName 值的类型 */ -function storeDataWithPath( - id: number, - path: Array, - attrsName: string -) { +function storeDataWithPath(id: number, path: Array, attrsName: string) { const vNode = queryVNode(id); if (vNode === null) { console.warn(`Could not find vNode with id "${id}"`); @@ -284,9 +261,7 @@ export function getElement(travelVNodeTree, treeRoot: VNode) { } } }, - (node: VNode) => - node.realNode != null && - (Object.keys(node.realNode).length > 0 || node.realNode.size > 0) + (node: VNode) => node.realNode != null && (Object.keys(node.realNode).length > 0 || node.realNode.size > 0) ); return result; } diff --git a/packages/inula-dev-tools/src/main/index.ts b/packages/inula-dev-tools/src/main/index.ts index 2de25903..3e20a409 100644 --- a/packages/inula-dev-tools/src/main/index.ts +++ b/packages/inula-dev-tools/src/main/index.ts @@ -56,46 +56,33 @@ const inspectVNode = () => { let currentPanel = null; -chrome.devtools.inspectedWindow.eval( - 'window.__INULA_DEV_HOOK__', - function (isInula, error) { - if (!isInula || panelCreated) { - return; - } - - panelCreated = true; - chrome.devtools.panels.create( - 'Inula', - '', - 'panel.html', - (extensionPanel) => { - extensionPanel.onShown.addListener((panel) => { - if (currentPanel === panel) { - return; - } - currentPanel = panel; - const container = panel.document.getElementById('root'); - const element = createElement(Panel, { viewSource, inspectVNode }); - render(element, container); - }); - } - ); - - chrome.devtools.panels.create( - 'InulaX', - '', - 'panelX.html', - (extensionPanel) => { - extensionPanel.onShown.addListener((panel) => { - if (currentPanel === panel) { - return; - } - currentPanel = panel; - const container = panel.document.getElementById('root'); - const element = createElement(PanelX, {}); - render(element, container); - }); - } - ); +chrome.devtools.inspectedWindow.eval('window.__INULA_DEV_HOOK__', function (isInula, error) { + if (!isInula || panelCreated) { + return; } -); + + panelCreated = true; + chrome.devtools.panels.create('Inula', '', 'panel.html', extensionPanel => { + extensionPanel.onShown.addListener(panel => { + if (currentPanel === panel) { + return; + } + currentPanel = panel; + const container = panel.document.getElementById('root'); + const element = createElement(Panel, { viewSource, inspectVNode }); + render(element, container); + }); + }); + + chrome.devtools.panels.create('InulaX', '', 'panelX.html', extensionPanel => { + extensionPanel.onShown.addListener(panel => { + if (currentPanel === panel) { + return; + } + currentPanel = panel; + const container = panel.document.getElementById('root'); + const element = createElement(PanelX, {}); + render(element, container); + }); + }); +}); diff --git a/packages/inula-dev-tools/src/panel/Panel.tsx b/packages/inula-dev-tools/src/panel/Panel.tsx index 66a34896..d3bdb187 100644 --- a/packages/inula-dev-tools/src/panel/Panel.tsx +++ b/packages/inula-dev-tools/src/panel/Panel.tsx @@ -13,15 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { - useState, - useEffect, - useRef, - memo, - useMemo, - useCallback, - useReducer, -} from 'openinula'; +import { useState, useEffect, useRef, memo, useMemo, useCallback, useReducer } from 'openinula'; import VTree, { IData } from '../components/VTree'; import Search from '../components/Search'; import ComponentInfo from '../components/ComponentInfo'; @@ -134,26 +126,20 @@ interface IIdToNodeMap { * @param {null | HTMLElement} resizeElement 要改变宽度的页面元素 * @param {number} percentage 宽度占比 */ -const setResizePCTForElement = ( - resizeElement: null | HTMLElement, - percentage: number -): void => { +const setResizePCTForElement = (resizeElement: null | HTMLElement, percentage: number): void => { if (resizeElement !== null) { - resizeElement.style.setProperty( - '--horizontal-percentage', - `${percentage}` - ); + resizeElement.style.setProperty('--horizontal-percentage', `${percentage}`); } }; function resizeReducer(state: ResizeState, action: ResizeAction): ResizeState { switch (action.type) { - case "START_RESIZE": + case 'START_RESIZE': return { ...state, isResizing: action.payload, }; - case "SET_HORIZONTAL_PERCENTAGE": + case 'SET_HORIZONTAL_PERCENTAGE': return { ...state, horizontalPercentage: action.payload, @@ -183,11 +169,7 @@ function Panel({ viewSource, inspectVNode }) { const [isPicking, setPicking] = useState(false); const [source, setSource] = useState(null); const idToTreeNodeMapref = useRef({}); - const [state, dispatch] = useReducer( - resizeReducer, - null, - initResizeState - ); + const [state, dispatch] = useReducer(resizeReducer, null, initResizeState); const pageRef = useRef(null); const treeRef = useRef(null); @@ -214,16 +196,12 @@ function Panel({ viewSource, inspectVNode }) { // 对象数据只是记录了引用,内容可能在后续被修改,打印字符串可以获取当前真正内容,不被后续修改影响 logger.info(JSON.stringify(payload)); if (payload) { - const {type, data} = payload; + const { type, data } = payload; if (type === AllVNodeTreeInfos) { const idToTreeNodeMap = idToTreeNodeMapref.current; const nextIdToTreeNodeMap: IIdToNodeMap = {}; const allTreeData = data.reduce((pre, current) => { - const parsedTreeData = parseVNodeData( - current, - idToTreeNodeMap, - nextIdToTreeNodeMap - ); + const parsedTreeData = parseVNodeData(current, idToTreeNodeMap, nextIdToTreeNodeMap); return pre.concat(parsedTreeData); }, []); idToTreeNodeMapref.current = nextIdToTreeNodeMap; @@ -284,10 +262,7 @@ function Panel({ viewSource, inspectVNode }) { setShowItems(info.visibleItems); }; - const parents = useMemo( - () => getParents(selectComp, parsedVNodeData), - [selectComp, parsedVNodeData] - ); + const parents = useMemo(() => getParents(selectComp, parsedVNodeData), [selectComp, parsedVNodeData]); const viewSourceFunction = useMemo( () => ({ @@ -338,7 +313,7 @@ function Panel({ viewSource, inspectVNode }) { const mouseAbscissa = event.clientX - left; const pageSizeMin = MINIMUM_SIZE; - const pageSizeMax = width-MINIMUM_SIZE; + const pageSizeMax = width - MINIMUM_SIZE; const isMouseInPage = mouseAbscissa > pageSizeMin && mouseAbscissa < pageSizeMax; @@ -394,16 +369,10 @@ function Panel({ viewSource, inspectVNode }) { {`${matchItems.indexOf(currentItem) + 1}/${matchItems.length}`}
    - - ); })} @@ -374,20 +366,12 @@ export default function EventLog({ setNextStore, setEventFilter, eventFilter }) type: data.type, store: { actions: Object.fromEntries( - Object.entries(message.data.store.$config.actions).map( - ([id, action]) => { - return [ - id, - (action as string).replace(/\{.*}/gms, '{...}').replace('function ', ''), - ]; - } - ) + Object.entries(message.data.store.$config.actions).map(([id, action]) => { + return [id, (action as string).replace(/\{.*}/gms, '{...}').replace('function ', '')]; + }) ), computed: Object.fromEntries( - Object.keys(message.data.store.$c).map(key => [ - key, - message.data.store.expanded[key], - ]) + Object.keys(message.data.store.$c).map(key => [key, message.data.store.expanded[key]]) ), state: message.data.store.$s, id: message.data.store.id, diff --git a/packages/inula-dev-tools/src/panelX/Modal.tsx b/packages/inula-dev-tools/src/panelX/Modal.tsx index 267d5493..43340b82 100644 --- a/packages/inula-dev-tools/src/panelX/Modal.tsx +++ b/packages/inula-dev-tools/src/panelX/Modal.tsx @@ -73,7 +73,7 @@ export function Modal({ { + onKeyPress={({ key }) => { if (key === 'Enter') { tryGatherData(); } diff --git a/packages/inula-dev-tools/src/panelX/PanelX.tsx b/packages/inula-dev-tools/src/panelX/PanelX.tsx index b3038c86..9b964799 100644 --- a/packages/inula-dev-tools/src/panelX/PanelX.tsx +++ b/packages/inula-dev-tools/src/panelX/PanelX.tsx @@ -32,12 +32,7 @@ export default function PanelX() { { id: 'stores', title: 'Stores', - getComponent: () => ( - - ), + getComponent: () => , }, { id: 'events', @@ -60,10 +55,7 @@ export default function PanelX() {
    {tabs.map(tab => tab.id === active ? ( - ) : ( diff --git a/packages/inula-dev-tools/src/panelX/Table.tsx b/packages/inula-dev-tools/src/panelX/Table.tsx index 81ab7248..52127817 100644 --- a/packages/inula-dev-tools/src/panelX/Table.tsx +++ b/packages/inula-dev-tools/src/panelX/Table.tsx @@ -14,7 +14,7 @@ */ import { useState } from 'openinula'; -import {Tree} from './Tree'; +import { Tree } from './Tree'; import styles from './PanelX.less'; type displayKeysType = [string, string][]; @@ -84,14 +84,10 @@ export function Table({ {data.map(row => (
    { setManualOverride(true); - setKeyToDisplay( - keyToDisplay === row[dataKey] ? null : row[dataKey] - ); + setKeyToDisplay(keyToDisplay === row[dataKey] ? null : row[dataKey]); }} >
    {row?.[attr] || ''}
    @@ -119,11 +115,7 @@ export function Table({
    {displayKeys.map(([key, title]) => (
    {title}
    - ))} + ))}
    {data.map(item => (
    void | null; forcedLabel?: string | number | null; @@ -71,11 +71,7 @@ export function Tree({ }} > {new Array(Math.max(indent, 0)).fill( )} - {forcedExpand || isVNode ? null : expanded ? ( - - ) : ( - - )} + {forcedExpand || isVNode ? null : expanded ? : } {index === 0 || index ? ( <> {displayValue(index, search)}: @@ -84,28 +80,28 @@ export function Tree({ '' )} {forcedLabel - ? forcedLabel - : expanded - ? isVNode - ? null - : Array.isArray(data) - ? `Array(${data.length})` - : isMap - ? `Map(${data.entries.length})` - : isSet - ? `Set(${data.values.length})` - : '{ ... }' - : isWeakMap - ? 'WeakMap()' - : isWeakSet - ? 'WeakSet()' - : isMap - ? `Map(${data.entries.length})` - : isSet - ? `Set(${data.values.length})` - : Array.isArray(data) - ? `Array(${data.length})` - : '{ ... }'} + ? forcedLabel + : expanded + ? isVNode + ? null + : Array.isArray(data) + ? `Array(${data.length})` + : isMap + ? `Map(${data.entries.length})` + : isSet + ? `Set(${data.values.length})` + : '{ ... }' + : isWeakMap + ? 'WeakMap()' + : isWeakSet + ? 'WeakSet()' + : isMap + ? `Map(${data.entries.length})` + : isSet + ? `Set(${data.values.length})` + : Array.isArray(data) + ? `Array(${data.length})` + : '{ ... }'} {expanded || isVNode ? ( isArray ? ( @@ -122,8 +118,8 @@ export function Tree({ onEdit={ onEdit ? (path, val) => { - onEdit(path.concat([index]), val); - } + onEdit(path.concat([index]), val); + } : null } /> @@ -138,7 +134,7 @@ export function Tree({ {data.entries.map(([key, value]) => { return ( { - onEdit(path.concat([key]), val); - } + onEdit(path.concat([key]), val); + } : null } /> diff --git a/packages/inula-dev-tools/src/panelX/utils.tsx b/packages/inula-dev-tools/src/panelX/utils.tsx index 1f0d807f..3f3d4f31 100644 --- a/packages/inula-dev-tools/src/panelX/utils.tsx +++ b/packages/inula-dev-tools/src/panelX/utils.tsx @@ -25,7 +25,7 @@ export function highlight(source, search) { const parts = source.split(search); const result = []; - for (let i= 0; i < parts.length * 2 - 1; i++) { + for (let i = 0; i < parts.length * 2 - 1; i++) { if (i % 2) { result.push({search}); } else { @@ -38,11 +38,7 @@ export function highlight(source, search) { export function displayValue(val: any, search = '') { if (typeof val === 'boolean') { - return ( - - {highlight(val ? 'true' : 'false', search)} - - ); + return {highlight(val ? 'true' : 'false', search)}; } if (val === '') { @@ -62,10 +58,7 @@ export function displayValue(val: any, search = '') { return ( ƒ - {highlight( - val.match(/^function\s?\([\w,]*\)/g)[0].replace(/^function\s?/, ''), - search - )} + {highlight(val.match(/^function\s?\([\w,]*\)/g)[0].replace(/^function\s?/, ''), search)} ); } @@ -75,7 +68,10 @@ export function displayValue(val: any, search = '') { return {highlight('' + val, search)}; } if (typeof val === 'function') { - const args = val.toString().match(/^function\s?\([\w,]*\)/g)[0].replace(/^function\s?/, ''); + const args = val + .toString() + .match(/^function\s?\([\w,]*\)/g)[0] + .replace(/^function\s?/, ''); return ( ƒ @@ -108,9 +104,7 @@ export function fullTextSearch(value, search) { return value.values.some(val => fullTextSearch(val, search)); } if (value?._type === 'Map') { - return value.entries.some( - (key, val) => fullTextSearch(key, search) || fullTextSearch(val, search) - ); + return value.entries.some((key, val) => fullTextSearch(key, search) || fullTextSearch(val, search)); } return Object.values(value).some(val => fullTextSearch(val, search)); } @@ -165,8 +159,7 @@ export function stringify(data) { if (Array.isArray(value)) { return ( - {key}:{' '} - {`Array(${value.length})`} + {key}: {`Array(${value.length})`} ); } @@ -188,16 +181,14 @@ export function stringify(data) { if ((value as any)?._type === 'Set') { return ( - {key}:{' '} - {`Set(${(value as Set).size})`} + {key}: {`Set(${(value as Set).size})`} ); } if ((value as any)?._type === 'Map') { return ( - {key}:{' '} - {`Map(${(value as Map).size})`} + {key}: {`Map(${(value as Map).size})`} ); } diff --git a/packages/inula-dev-tools/src/parser/parseAttr.ts b/packages/inula-dev-tools/src/parser/parseAttr.ts index 59b47073..dcffe9c4 100644 --- a/packages/inula-dev-tools/src/parser/parseAttr.ts +++ b/packages/inula-dev-tools/src/parser/parseAttr.ts @@ -50,14 +50,14 @@ export type IAttr = { hIndex?: number; // 用于记录 hook 的 hIndex 值 } & ( | { - type: ShowAsStringType; - value: string; -} + type: ShowAsStringType; + value: string; + } | { - type: 'boolean'; - value: boolean; -} - ); + type: 'boolean'; + value: boolean; + } +); type ShowType = ShowAsStringType | 'boolean'; @@ -79,10 +79,7 @@ const getObjectKeys = (attr: Record): Array { // @ts-ignore key 可以为 symbol 类型 @@ -99,10 +96,7 @@ const getObjectKeys = (attr: Record): Array secondKey.toString()) { return 1; } else if (secondKey.toString() > firstKey.toString()) { @@ -137,11 +131,7 @@ const parseSubTitle = (attr: T) => { } else if (AttrType === 'function') { const funcName = attr['name']; return `ƒ ${funcName}() {}`; - } else if ( - AttrType === 'boolean' || - AttrType === 'number' || - AttrType === 'undefined' - ) { + } else if (AttrType === 'boolean' || AttrType === 'number' || AttrType === 'undefined') { return `${attr}`; } else if (AttrType === 'object') { if (attr === null) { @@ -179,24 +169,13 @@ const parseSubTitle = (attr: T) => { } }; -const parseSubAttr = ( - attr: any, - parentIndentation: number, - attrName: string, - result: IAttr[], - hIndex?: number -) => { +const parseSubAttr = (attr: any, parentIndentation: number, attrName: string, result: IAttr[], hIndex?: number) => { const AttrType = typeof attr; let value: any; let showType: any; let addSubState; - if ( - AttrType === 'boolean' || - AttrType === 'number' || - AttrType === 'undefined' || - AttrType === 'string' - ) { + if (AttrType === 'boolean' || AttrType === 'number' || AttrType === 'undefined' || AttrType === 'string') { value = attr; showType = AttrType; } else if (AttrType === 'function') { @@ -308,11 +287,7 @@ export function parseAttr(rootAttr: any) { return result; } -export function parseHooks( - hooks: Hook[] | null, - depContexts: Array> | null, - getHookInfo -) { +export function parseHooks(hooks: Hook[] | null, depContexts: Array> | null, getHookInfo) { const result: IAttr[] = []; const indentation = 0; if (depContexts !== null && depContexts?.length > 0) { @@ -343,7 +318,7 @@ export function parseVNodeAttrs(vNode: VNode, getHookInfo) { src, }; } else if (propsAndHooksTag.includes(tag)) { - const { props, hooks, depContexts, src } = vNode; + const { props, hooks, depContexts, src } = vNode; const parsedProps = parseAttr(props); const parsedHooks = parseHooks(hooks, depContexts, getHookInfo); return { diff --git a/packages/inula-dev-tools/src/parser/parseVNode.ts b/packages/inula-dev-tools/src/parser/parseVNode.ts index 0b01799f..fcf8b422 100644 --- a/packages/inula-dev-tools/src/parser/parseVNode.ts +++ b/packages/inula-dev-tools/src/parser/parseVNode.ts @@ -21,7 +21,7 @@ import { ForwardRef, FunctionComponent, MemoComponent, - SuspenseComponent + SuspenseComponent, } from '../../../inula/src/renderer/vnode/VNodeTags'; export type NameObj = { @@ -61,13 +61,7 @@ const componentType = [ MemoComponent, ]; -const badgeNameArr: Array = [ - 'withRouter(', - 'SideEffect(', - 'Connect(', - 'injectIntl(', - 'Pure(', -]; +const badgeNameArr: Array = ['withRouter(', 'SideEffect(', 'Connect(', 'injectIntl(', 'Pure(']; export function isUserComponent(tag: string) { return componentType.includes(tag); diff --git a/packages/inula-dev-tools/src/svgs/Arrow.tsx b/packages/inula-dev-tools/src/svgs/Arrow.tsx index 0e6dd813..4ac8469e 100644 --- a/packages/inula-dev-tools/src/svgs/Arrow.tsx +++ b/packages/inula-dev-tools/src/svgs/Arrow.tsx @@ -14,7 +14,7 @@ */ interface IArrow { - direction: 'up' | 'down' + direction: 'up' | 'down'; } export default function Arrow({ direction: director }: IArrow) { @@ -26,8 +26,8 @@ export default function Arrow({ direction: director }: IArrow) { } return ( - - + + ); } diff --git a/packages/inula-dev-tools/src/svgs/Close.tsx b/packages/inula-dev-tools/src/svgs/Close.tsx index 4d8cfd81..3ecbd235 100644 --- a/packages/inula-dev-tools/src/svgs/Close.tsx +++ b/packages/inula-dev-tools/src/svgs/Close.tsx @@ -15,8 +15,8 @@ export default function Close() { return ( - - + + ); } diff --git a/packages/inula-dev-tools/src/svgs/Debug.tsx b/packages/inula-dev-tools/src/svgs/Debug.tsx index f50f8ddb..0dc1d922 100644 --- a/packages/inula-dev-tools/src/svgs/Debug.tsx +++ b/packages/inula-dev-tools/src/svgs/Debug.tsx @@ -15,13 +15,15 @@ export default function Debug() { return ( - - - + 8h-4v-2h4v2zm0-4h-4v-2h4v2z" + fill="currentColor" + /> ); } diff --git a/packages/inula-dev-tools/src/svgs/Discover.tsx b/packages/inula-dev-tools/src/svgs/Discover.tsx index defd1702..83782e70 100644 --- a/packages/inula-dev-tools/src/svgs/Discover.tsx +++ b/packages/inula-dev-tools/src/svgs/Discover.tsx @@ -15,12 +15,15 @@ export default function Discover() { return ( - - - + 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" + fill="#343231" + p-id="4151" + /> ); } diff --git a/packages/inula-dev-tools/src/svgs/Eye.tsx b/packages/inula-dev-tools/src/svgs/Eye.tsx index c3fc2582..744f1998 100644 --- a/packages/inula-dev-tools/src/svgs/Eye.tsx +++ b/packages/inula-dev-tools/src/svgs/Eye.tsx @@ -15,12 +15,14 @@ export default function Eye() { return ( - - - + 3-1.34 3-3-1.34-3-3-3z" + fill="currentColor" + /> ); } diff --git a/packages/inula-dev-tools/src/svgs/Location.tsx b/packages/inula-dev-tools/src/svgs/Location.tsx index 40e6c713..2902f0ea 100644 --- a/packages/inula-dev-tools/src/svgs/Location.tsx +++ b/packages/inula-dev-tools/src/svgs/Location.tsx @@ -15,10 +15,12 @@ export default function Location() { return ( - - - + + + ); } diff --git a/packages/inula-dev-tools/src/svgs/Operation.tsx b/packages/inula-dev-tools/src/svgs/Operation.tsx index 13831192..d3e9ee3b 100644 --- a/packages/inula-dev-tools/src/svgs/Operation.tsx +++ b/packages/inula-dev-tools/src/svgs/Operation.tsx @@ -15,8 +15,20 @@ export default function Operation() { return ( - - + + ); } diff --git a/packages/inula-dev-tools/src/svgs/Select.tsx b/packages/inula-dev-tools/src/svgs/Select.tsx index 86c6c1ea..e8056eae 100644 --- a/packages/inula-dev-tools/src/svgs/Select.tsx +++ b/packages/inula-dev-tools/src/svgs/Select.tsx @@ -15,23 +15,23 @@ export default function Select() { return ( - - - + + + - + diff --git a/packages/inula-dev-tools/src/svgs/Triangle.tsx b/packages/inula-dev-tools/src/svgs/Triangle.tsx index 49ed3afd..c78e3c73 100644 --- a/packages/inula-dev-tools/src/svgs/Triangle.tsx +++ b/packages/inula-dev-tools/src/svgs/Triangle.tsx @@ -14,7 +14,7 @@ */ interface IArrow { - director: 'right' | 'down' + director: 'right' | 'down'; } export default function Triangle({ director }: IArrow) { @@ -25,8 +25,8 @@ export default function Triangle({ director }: IArrow) { d = 'm0 2h16 l-8 12 z'; } return ( - - + + ); } diff --git a/packages/inula-dev-tools/src/utils/Checkbox.tsx b/packages/inula-dev-tools/src/utils/Checkbox.tsx index e28782fa..d2ad5160 100644 --- a/packages/inula-dev-tools/src/utils/Checkbox.tsx +++ b/packages/inula-dev-tools/src/utils/Checkbox.tsx @@ -16,26 +16,26 @@ export function Checkbox({ value }) { return (
    diff --git a/packages/inula-dev-tools/src/utils/PickElement.tsx b/packages/inula-dev-tools/src/utils/PickElement.tsx index 80ed91d5..872c6bbe 100644 --- a/packages/inula-dev-tools/src/utils/PickElement.tsx +++ b/packages/inula-dev-tools/src/utils/PickElement.tsx @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { createContext } from "openinula"; +import { createContext } from 'openinula'; const PickElementContext = createContext(null); PickElementContext.displayName = 'PickElementContext'; diff --git a/packages/inula-dev-tools/src/utils/ViewSource.tsx b/packages/inula-dev-tools/src/utils/ViewSource.tsx index 0b07584f..83676621 100644 --- a/packages/inula-dev-tools/src/utils/ViewSource.tsx +++ b/packages/inula-dev-tools/src/utils/ViewSource.tsx @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import {createContext} from 'openinula'; +import { createContext } from 'openinula'; const ViewSourceContext = createContext(null); ViewSourceContext.displayName = 'ViewSourceContext'; diff --git a/packages/inula-dev-tools/src/utils/injectUtils.ts b/packages/inula-dev-tools/src/utils/injectUtils.ts index e5614388..637ef503 100644 --- a/packages/inula-dev-tools/src/utils/injectUtils.ts +++ b/packages/inula-dev-tools/src/utils/injectUtils.ts @@ -31,11 +31,7 @@ export function injectSrc(src) { script.remove(); }; - ifNullThrows( - document.head - || document.getElementsByName('head')[0] - || document.documentElement - ).appendChild(script); + ifNullThrows(document.head || document.getElementsByName('head')[0] || document.documentElement).appendChild(script); } export function injectCode(code) { diff --git a/packages/inula-dev-tools/src/utils/logUtil.ts b/packages/inula-dev-tools/src/utils/logUtil.ts index 00c1370c..ad6c79cf 100644 --- a/packages/inula-dev-tools/src/utils/logUtil.ts +++ b/packages/inula-dev-tools/src/utils/logUtil.ts @@ -18,10 +18,10 @@ * 同时也无法在运行时打断点,需要适当的日志辅助开发和定位问题 */ interface LoggerType { - error: typeof console.error, - info: typeof console.info, - log: typeof console.log, - warn: typeof console.warn + error: typeof console.error; + info: typeof console.info; + log: typeof console.log; + warn: typeof console.warn; } export function createLogger(id: string): LoggerType { diff --git a/packages/inula-dev-tools/src/utils/transferUtils.ts b/packages/inula-dev-tools/src/utils/transferUtils.ts index ddf03739..dc8b26d3 100644 --- a/packages/inula-dev-tools/src/utils/transferUtils.ts +++ b/packages/inula-dev-tools/src/utils/transferUtils.ts @@ -34,7 +34,7 @@ export function packagePayload(payload: PayloadType, from: string, inulaX?: bool return { type: devTools, payload, - from + from, }; } diff --git a/packages/inula-dev-tools/webpack.config.js b/packages/inula-dev-tools/webpack.config.js index 0e23a1b0..c3bb5876 100644 --- a/packages/inula-dev-tools/webpack.config.js +++ b/packages/inula-dev-tools/webpack.config.js @@ -26,28 +26,12 @@ function handleBuildDir() { if (!isBuildExist) { fs.mkdirSync(staticDir); } + fs.copyFileSync(path.join(__dirname, 'src', 'panel', 'panel.html'), path.join(staticDir, 'panel.html')); + fs.copyFileSync(path.join(__dirname, 'src', 'panelX', 'panel.html'), path.join(staticDir, 'panelX.html')); + fs.copyFileSync(path.join(__dirname, 'src', 'main', 'main.html'), path.join(staticDir, 'main.html')); + fs.copyFileSync(path.join(__dirname, 'src', 'manifest.json'), path.join(staticDir, 'manifest.json')); fs.copyFileSync( - path.join(__dirname, 'src', 'panel', 'panel.html'), - path.join(staticDir, 'panel.html') - ); - fs.copyFileSync( - path.join(__dirname, 'src', 'panelX', 'panel.html'), - path.join(staticDir, 'panelX.html') - ); - fs.copyFileSync( - path.join(__dirname, 'src', 'main', 'main.html'), - path.join(staticDir, 'main.html') - ); - fs.copyFileSync( - path.join(__dirname, 'src', 'manifest.json'), - path.join(staticDir, 'manifest.json') - ); - fs.copyFileSync( - path.join( - __dirname, - '../inula/build/umd', - 'inula.development.js' - ), + path.join(__dirname, '../inula/build/umd', 'inula.development.js'), path.join(staticDir, 'inula.development.js') ); } @@ -65,7 +49,7 @@ const config = { }, output: { path: path.resolve(__dirname, './build'), - filename: '[name].js' + filename: '[name].js', }, mode: 'development', devtool: 'inline-source-map', diff --git a/packages/inula-dev-tools/webpack.dev.js b/packages/inula-dev-tools/webpack.dev.js index 99cc835a..e388f35b 100644 --- a/packages/inula-dev-tools/webpack.dev.js +++ b/packages/inula-dev-tools/webpack.dev.js @@ -24,7 +24,7 @@ module.exports = { }, output: { path: path.resolve(__dirname, './dist'), - filename: '[name].js' + filename: '[name].js', }, mode: 'development', devtool: 'source-map', @@ -73,5 +73,5 @@ module.exports = { open: 'panel.html', port: 9000, magicHtml: true, - } + }, }; diff --git a/packages/inula-intl/example/App.tsx b/packages/inula-intl/example/App.tsx index ba6166c7..8c460c57 100644 --- a/packages/inula-intl/example/App.tsx +++ b/packages/inula-intl/example/App.tsx @@ -14,43 +14,42 @@ */ import Inula, { useState } from 'openinula'; -import { IntlProvider } from "../index"; -import zh from "./locale/zh"; -import en from "./locale/en"; -import Example1 from "./components/Example1"; -import Example2 from "./components/Example2"; -import Example3 from "./components/Example3"; -import Example4 from "./components/Example4"; -import Example5 from "./components/Example5"; -import Example6 from "./components/Example6"; +import { IntlProvider } from '../index'; +import zh from './locale/zh'; +import en from './locale/en'; +import Example1 from './components/Example1'; +import Example2 from './components/Example2'; +import Example3 from './components/Example3'; +import Example4 from './components/Example4'; +import Example5 from './components/Example5'; +import Example6 from './components/Example6'; const App = () => { const [locale, setLocale] = useState('zh'); const handleChange = () => { locale === 'zh' ? setLocale('en') : setLocale('zh'); }; - const message = locale === 'zh' ? zh : en - + const message = locale === 'zh' ? zh : en; return (
    Inula-Intl API Test Demo
    -
    - - - +
    + + +
    -
    - - - +
    + + +
    -
    +
    ); -} +}; -export default App +export default App; diff --git a/packages/inula-intl/example/components/Example1.tsx b/packages/inula-intl/example/components/Example1.tsx index 2830351f..0befb70e 100644 --- a/packages/inula-intl/example/components/Example1.tsx +++ b/packages/inula-intl/example/components/Example1.tsx @@ -13,8 +13,8 @@ * See the Mulan PSL v2 for more details. */ -import Inula from "openinula"; -import { useIntl } from "../../index"; +import Inula from 'openinula'; +import { useIntl } from '../../index'; const Example1 = () => { const { i18n } = useIntl(); diff --git a/packages/inula-intl/example/components/Example2.tsx b/packages/inula-intl/example/components/Example2.tsx index 2eb948dd..74f73423 100644 --- a/packages/inula-intl/example/components/Example2.tsx +++ b/packages/inula-intl/example/components/Example2.tsx @@ -12,16 +12,15 @@ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. * See the Mulan PSL v2 for more details. */ -import Inula from "openinula"; -import { FormattedMessage } from "../../index"; - -const Example2= () => { +import Inula from 'openinula'; +import { FormattedMessage } from '../../index'; +const Example2 = () => { return (

    FormattedMessage方式测试Demo

    -          
    +        
           
    ); diff --git a/packages/inula-intl/example/components/Example3.tsx b/packages/inula-intl/example/components/Example3.tsx index 15aacddd..27fdd904 100644 --- a/packages/inula-intl/example/components/Example3.tsx +++ b/packages/inula-intl/example/components/Example3.tsx @@ -14,23 +14,26 @@ */ import Inula from 'openinula'; -import { FormattedMessage } from "../../index"; +import { FormattedMessage } from '../../index'; -const Example3 = (props) => { +const Example3 = props => { const { locale, setLocale } = props; return (

    FormattedMessage方式测试Demo

    -          
    -        
    -
    +
    +
    ); -} +}; export default Example3; diff --git a/packages/inula-intl/example/components/Example4.tsx b/packages/inula-intl/example/components/Example4.tsx index a07e3e64..ec717934 100644 --- a/packages/inula-intl/example/components/Example4.tsx +++ b/packages/inula-intl/example/components/Example4.tsx @@ -13,10 +13,10 @@ * See the Mulan PSL v2 for more details. */ -import Inula from "openinula"; -import { createIntl } from "../../index"; +import Inula from 'openinula'; +import { createIntl } from '../../index'; -const Example4 = (props) => { +const Example4 = props => { // 受渲染时机影响,createIntl方式需控制时序,否则慢一拍 const intl = createIntl({ ...props }); const msg = intl.formatMessage({ id: 'text3' }); diff --git a/packages/inula-intl/example/components/Example6.tsx b/packages/inula-intl/example/components/Example6.tsx index 50e74fd8..98a86729 100644 --- a/packages/inula-intl/example/components/Example6.tsx +++ b/packages/inula-intl/example/components/Example6.tsx @@ -13,25 +13,21 @@ * See the Mulan PSL v2 for more details. */ -import Inula from "openinula"; -import { createIntl, createIntlCache, RawIntlProvider } from "../../index"; -import Example6Child from "./Example6Child"; +import Inula from 'openinula'; +import { createIntl, createIntlCache, RawIntlProvider } from '../../index'; +import Example6Child from './Example6Child'; const Example6 = (props: any) => { - const { locale, messages } = props; const cache = createIntlCache(); - let i18n = createIntl( - { locale: locale, messages: messages }, - cache - ); + let i18n = createIntl({ locale: locale, messages: messages }, cache); return ( - + ); -} +}; export default Example6; diff --git a/packages/inula-intl/example/components/Example6Child.tsx b/packages/inula-intl/example/components/Example6Child.tsx index 9cee1c42..94e78714 100644 --- a/packages/inula-intl/example/components/Example6Child.tsx +++ b/packages/inula-intl/example/components/Example6Child.tsx @@ -13,11 +13,10 @@ * See the Mulan PSL v2 for more details. */ -import { useIntl } from "../../index"; +import { useIntl } from '../../index'; const Example6Child = (props: any) => { - - const {formatMessage} = useIntl(); + const { formatMessage } = useIntl(); return (
    @@ -25,6 +24,6 @@ const Example6Child = (props: any) => {
    {formatMessage({ id: 'text4' })}
    ); -} +}; export default Example6Child; diff --git a/packages/inula-intl/example/index.tsx b/packages/inula-intl/example/index.tsx index 0678d203..f0ab1550 100644 --- a/packages/inula-intl/example/index.tsx +++ b/packages/inula-intl/example/index.tsx @@ -13,12 +13,9 @@ * See the Mulan PSL v2 for more details. */ import * as Inula from 'openinula'; -import App from './App' +import App from './App'; function render() { - Inula.render( - , - document.querySelector('#root') as any - ) + Inula.render(, document.querySelector('#root') as any); } render(); diff --git a/packages/inula-intl/example/locale/en.ts b/packages/inula-intl/example/locale/en.ts index 1c1fb697..21462b48 100644 --- a/packages/inula-intl/example/locale/en.ts +++ b/packages/inula-intl/example/locale/en.ts @@ -19,4 +19,4 @@ export default { text2: 'Welcome to the Inula-Intl component!', text3: 'Welcome to the Inula-Intl component!', text4: 'Welcome to the Inula-Intl component!', -} +}; diff --git a/packages/inula-intl/jest.config.js b/packages/inula-intl/jest.config.js index 582e6b9f..84592edf 100644 --- a/packages/inula-intl/jest.config.js +++ b/packages/inula-intl/jest.config.js @@ -14,26 +14,24 @@ */ module.exports = { - coverageDirectory: 'coverage', - resetModules: true, - preset: 'ts-jest/presets/js-with-ts', - rootDir: process.cwd(), - testMatch: [ - '/tests/**/*.test.[jt]s?(x)' - ], - moduleFileExtensions: ['ts', 'js', 'jsx', 'tsx'], - moduleDirectories: ['node_modules', 'src'], - moduleNameMapper: { - '^@/(.*)$': '/tests/$1', - }, - transform: { - "^.+\\.(ts|js|jsx|tsx)$": "babel-jest" - }, - globals: { - "ts-jest": { - "tsconfig": "tsconfig.json" - } + coverageDirectory: 'coverage', + resetModules: true, + preset: 'ts-jest/presets/js-with-ts', + rootDir: process.cwd(), + testMatch: ['/tests/**/*.test.[jt]s?(x)'], + moduleFileExtensions: ['ts', 'js', 'jsx', 'tsx'], + moduleDirectories: ['node_modules', 'src'], + moduleNameMapper: { + '^@/(.*)$': '/tests/$1', + }, + transform: { + '^.+\\.(ts|js|jsx|tsx)$': 'babel-jest', + }, + globals: { + 'ts-jest': { + tsconfig: 'tsconfig.json', }, + }, - testEnvironment: 'jsdom', + testEnvironment: 'jsdom', }; diff --git a/packages/inula-intl/rollup.config.js b/packages/inula-intl/rollup.config.js index 185c0bc8..294424db 100644 --- a/packages/inula-intl/rollup.config.js +++ b/packages/inula-intl/rollup.config.js @@ -20,7 +20,6 @@ import nodeResolve from '@rollup/plugin-node-resolve'; import typescript from '@rollup/plugin-typescript'; import { terser } from 'rollup-plugin-terser'; - const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -31,35 +30,29 @@ const output = path.join(__dirname, '/build'); const extensions = ['.js', '.ts', '.tsx']; export default { - input: entry, - output: [ - { - file: path.resolve(output, 'intl.umd.js'), - name: 'InulaI18n', - format: 'umd', - }, - ], - plugins: [ - nodeResolve({ - extensions, - modulesOnly: true, - }), - babel({ - exclude: 'node_modules/**', - configFile: path.join(__dirname, '/babel.config.js'), - extensions, - }), - typescript( - { - tsconfig: 'tsconfig.json', - include: ['./**/*.ts', './**/*.tsx'], - } - ), - terser(), - ], - external:[ - 'openinula', - 'react', - 'react-dom' - ] + input: entry, + output: [ + { + file: path.resolve(output, 'intl.umd.js'), + name: 'InulaI18n', + format: 'umd', + }, + ], + plugins: [ + nodeResolve({ + extensions, + modulesOnly: true, + }), + babel({ + exclude: 'node_modules/**', + configFile: path.join(__dirname, '/babel.config.js'), + extensions, + }), + typescript({ + tsconfig: 'tsconfig.json', + include: ['./**/*.ts', './**/*.tsx'], + }), + terser(), + ], + external: ['openinula', 'react', 'react-dom'], }; diff --git a/packages/inula-intl/src/constants/index.ts b/packages/inula-intl/src/constants/index.ts index ff6353cb..c33b5127 100644 --- a/packages/inula-intl/src/constants/index.ts +++ b/packages/inula-intl/src/constants/index.ts @@ -64,7 +64,7 @@ export const REACT_FORWARD_REF_STATICS = { propTypes: true, // type: type, }; -export const FORWARD_REF_STATICS = {...INULA_FORWARD_REF_STATICS, ...REACT_FORWARD_REF_STATICS}; +export const FORWARD_REF_STATICS = { ...INULA_FORWARD_REF_STATICS, ...REACT_FORWARD_REF_STATICS }; // Inula Memo 组件的静态属性需要被保留 export const INULA_MEMO_STATICS = { @@ -76,4 +76,3 @@ export const INULA_MEMO_STATICS = { // 默认复数规则 export const DEFAULT_PLURAL_KEYS = ['zero', 'one', 'two', 'few', 'many', 'other']; - diff --git a/packages/inula-intl/src/core/I18n.ts b/packages/inula-intl/src/core/I18n.ts index 8b05b719..f2b94480 100644 --- a/packages/inula-intl/src/core/I18n.ts +++ b/packages/inula-intl/src/core/I18n.ts @@ -14,12 +14,12 @@ */ import EventDispatcher from '../utils/eventListener'; -import DateTimeFormatter from "../format/fomatters/DateTimeFormatter"; -import NumberFormatter from "../format/fomatters/NumberFormatter"; +import DateTimeFormatter from '../format/fomatters/DateTimeFormatter'; +import NumberFormatter from '../format/fomatters/NumberFormatter'; import { getFormatMessage } from '../format/getFormatMessage'; -import {I18nCache, I18nProps, MessageDescriptor, MessageOptions} from '../types/interfaces'; +import { I18nCache, I18nProps, MessageDescriptor, MessageOptions } from '../types/interfaces'; import { Locale, Locales, Messages, AllLocaleConfig, AllMessages, LocaleConfig, Error, Events } from '../types/types'; -import creatI18nCache from "../format/cache/cache"; +import creatI18nCache from '../format/cache/cache'; export class I18n extends EventDispatcher { public locale: Locale; @@ -101,7 +101,7 @@ export class I18n extends EventDispatcher { } else { // 加载多对locale-message信息 localeOrMessages && - Object.keys(localeOrMessages!).forEach(locale => this.setMessage(locale, localeOrMessages![locale])); + Object.keys(localeOrMessages!).forEach(locale => this.setMessage(locale, localeOrMessages![locale])); } this.emit('change'); } @@ -118,9 +118,9 @@ export class I18n extends EventDispatcher { formatMessage( id: MessageDescriptor | string, values: Object | undefined = {}, - { message, context, formatOptions}: MessageOptions = {}, + { message, context, formatOptions }: MessageOptions = {} ) { - return getFormatMessage(this, id, values, { message, context, formatOptions}); + return getFormatMessage(this, id, values, { message, context, formatOptions }); } formatDate(value: string | Date, formatOptions?: Intl.DateTimeFormatOptions): string { diff --git a/packages/inula-intl/src/core/components/FormattedMessage.tsx b/packages/inula-intl/src/core/components/FormattedMessage.tsx index 1ec0a0ef..f2a03e0a 100644 --- a/packages/inula-intl/src/core/components/FormattedMessage.tsx +++ b/packages/inula-intl/src/core/components/FormattedMessage.tsx @@ -23,7 +23,17 @@ import useI18n from '../hook/useI18n'; */ function FormattedMessage(props: FormattedMessageProps) { const { i18n } = useI18n(); - const { id, values, messages, formatOptions, context, tagName: TagName = Fragment, children, comment, useMemorize }: any = props; + const { + id, + values, + messages, + formatOptions, + context, + tagName: TagName = Fragment, + children, + comment, + useMemorize, + }: any = props; const formatMessageOptions = { comment, @@ -41,14 +51,10 @@ function FormattedMessage(props: FormattedMessageProps) { } if (TagName) { - return ( - {Children.toArray(formattedMessage)} - ); + return {Children.toArray(formattedMessage)}; } - return ( - <>{formattedMessage} - ); + return <>{formattedMessage}; } export default FormattedMessage; diff --git a/packages/inula-intl/src/core/components/InjectI18n.tsx b/packages/inula-intl/src/core/components/InjectI18n.tsx index 5c2979da..82589098 100644 --- a/packages/inula-intl/src/core/components/InjectI18n.tsx +++ b/packages/inula-intl/src/core/components/InjectI18n.tsx @@ -12,14 +12,14 @@ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. * See the Mulan PSL v2 for more details. */ -import Inula , { createContext, forwardRef } from 'openinula'; +import Inula, { createContext, forwardRef } from 'openinula'; import { isVariantI18n } from '../../utils/utils'; import copyStaticProps from '../../utils/copyStaticProps'; import { InjectOptions } from '../../types/interfaces'; -import I18n from "../I18n"; +import I18n from '../I18n'; // 创建国际化组件对象上下文 -export const I18nContext : any = createContext(null as any); +export const I18nContext: any = createContext(null as any); const { Consumer, Provider } = I18nContext; export const InjectProvider = Provider; @@ -54,9 +54,7 @@ function injectI18n(Component, options?: InjectOptions): any { // 通过copyStatics方法,复制组件中的静态属性 return copyStaticProps( - isUsingForwardRef ? - forwardRef((props, ref) => ) : - WrappedI18n, + isUsingForwardRef ? forwardRef((props, ref) => ) : WrappedI18n, Component ); } diff --git a/packages/inula-intl/src/format/Translation.ts b/packages/inula-intl/src/format/Translation.ts index 84b35baf..bbf8d8a0 100644 --- a/packages/inula-intl/src/format/Translation.ts +++ b/packages/inula-intl/src/format/Translation.ts @@ -15,8 +15,8 @@ import { CompiledMessage, Locale, LocaleConfig, Locales } from '../types/types'; import generateFormatters from './generateFormatters'; -import {FormatOptions, I18nCache} from '../types/interfaces'; -import {createIntlCache} from "../../index"; +import { FormatOptions, I18nCache } from '../types/interfaces'; +import { createIntlCache } from '../../index'; /** * 获取翻译结果 @@ -46,7 +46,7 @@ class Translation { locales: Locales, values: object, formatOptions: FormatOptions, - localeConfig: LocaleConfig, + localeConfig: LocaleConfig ) => { const textFormatter = (name: string, type: string, format: any) => { const formatters = generateFormatters(locale, locales, localeConfig, formatOptions, this.cache); @@ -66,13 +66,7 @@ class Translation { return textFormatter; }; - let textFormatter = createTextFormatter( - this.locale, - this.locales, - values, - formatOptions, - this.localeConfig, - ); + let textFormatter = createTextFormatter(this.locale, this.locales, values, formatOptions, this.localeConfig); // 通过递归方法formatCore进行格式化处理 const result = this.formatMessage(this.compiledMessage, textFormatter); return result; // 返回要格式化的结果 @@ -83,28 +77,29 @@ class Translation { return compiledMessage; } - return compiledMessage.map(token => { - if (typeof token === 'string') { - return token; - } + return compiledMessage + .map(token => { + if (typeof token === 'string') { + return token; + } - const [name, type, format] = token; + const [name, type, format] = token; + let replaceValueFormat = format; - let replaceValueFormat = format; - - // 如果 format 是对象,函数将递归地对它的每个值调用 formatMessage 后保存,否则直接保存 - if (format && typeof format !== 'string') { - replaceValueFormat = Object.keys(replaceValueFormat).reduce((text, key) => { - text[key] = this.formatMessage(format[key], textFormatter); - return text; - }, {}); - } - //调用 getContent 函数来获取给定 name、type 和 interpolateFormat 的值 - const value = textFormatter(name, type, replaceValueFormat); - return value ?? `{${name}}`; - }).join(''); - }; + // 如果 format 是对象,函数将递归地对它的每个值调用 formatMessage 后保存,否则直接保存 + if (format && typeof format !== 'string') { + replaceValueFormat = Object.keys(replaceValueFormat).reduce((text, key) => { + text[key] = this.formatMessage(format[key], textFormatter); + return text; + }, {}); + } + //调用 getContent 函数来获取给定 name、type 和 interpolateFormat 的值 + const value = textFormatter(name, type, replaceValueFormat); + return value ?? `{${name}}`; + }) + .join(''); + } } export default Translation; diff --git a/packages/inula-intl/src/format/fomatters/DateTimeFormatter.ts b/packages/inula-intl/src/format/fomatters/DateTimeFormatter.ts index cfb6e0ec..9f65072c 100644 --- a/packages/inula-intl/src/format/fomatters/DateTimeFormatter.ts +++ b/packages/inula-intl/src/format/fomatters/DateTimeFormatter.ts @@ -16,7 +16,7 @@ import creatI18nCache from '../cache/cache'; import utils from '../../utils/utils'; import { DatePool, Locales } from '../../types/types'; -import {I18nCache} from "../../types/interfaces"; +import { I18nCache } from '../../types/interfaces'; /** * 时间格式化 diff --git a/packages/inula-intl/src/format/fomatters/NumberFormatter.ts b/packages/inula-intl/src/format/fomatters/NumberFormatter.ts index 5d9a0dba..48f7f03c 100644 --- a/packages/inula-intl/src/format/fomatters/NumberFormatter.ts +++ b/packages/inula-intl/src/format/fomatters/NumberFormatter.ts @@ -16,7 +16,7 @@ import creatI18nCache from '../cache/cache'; import { Locales } from '../../types/types'; import utils from '../../utils/utils'; -import {I18nCache} from "../../types/interfaces"; +import { I18nCache } from '../../types/interfaces'; /** * 数字格式化 diff --git a/packages/inula-intl/src/format/fomatters/PluralFormatter.ts b/packages/inula-intl/src/format/fomatters/PluralFormatter.ts index e16a1091..c0db6c9e 100644 --- a/packages/inula-intl/src/format/fomatters/PluralFormatter.ts +++ b/packages/inula-intl/src/format/fomatters/PluralFormatter.ts @@ -16,8 +16,8 @@ import utils from '../../utils/utils'; import NumberFormatter from './NumberFormatter'; import { Locale, Locales } from '../../types/types'; -import {I18nCache} from "../../types/interfaces"; -import {createIntlCache} from "../../../index"; +import { I18nCache } from '../../types/interfaces'; +import { createIntlCache } from '../../../index'; /** * 复数格式化 diff --git a/packages/inula-intl/src/format/fomatters/SelectFormatter.ts b/packages/inula-intl/src/format/fomatters/SelectFormatter.ts index a467913c..1ff3e5b6 100644 --- a/packages/inula-intl/src/format/fomatters/SelectFormatter.ts +++ b/packages/inula-intl/src/format/fomatters/SelectFormatter.ts @@ -15,7 +15,7 @@ import utils from '../../utils/utils'; import { Locale } from '../../types/types'; -import {I18nCache} from "../../types/interfaces"; +import { I18nCache } from '../../types/interfaces'; /** * 规则选择器 diff --git a/packages/inula-intl/src/format/generateFormatters.ts b/packages/inula-intl/src/format/generateFormatters.ts index 0141adf0..567b9f9b 100644 --- a/packages/inula-intl/src/format/generateFormatters.ts +++ b/packages/inula-intl/src/format/generateFormatters.ts @@ -18,8 +18,8 @@ import NumberFormatter from './fomatters/NumberFormatter'; import { DatePool, Locale, Locales, SelectPool } from '../types/types'; import PluralFormatter from './fomatters/PluralFormatter'; import SelectFormatter from './fomatters/SelectFormatter'; -import {FormatOptions, I18nCache, IntlMessageFormat} from '../types/interfaces'; -import cache from "./cache/cache"; +import { FormatOptions, I18nCache, IntlMessageFormat } from '../types/interfaces'; +import cache from './cache/cache'; /** * 默认格式化接口 @@ -86,10 +86,7 @@ const generateFormatters = ( * @param useMemorize */ dateTimeFormat: (value: DatePool, formatOption) => { - return new DateTimeFormatter(locales, getStyleOption(formatOption), cache).dateTimeFormat( - value, - formatOption - ); + return new DateTimeFormatter(locales, getStyleOption(formatOption), cache).dateTimeFormat(value, formatOption); }, // 用于处理未定义的值,接受一个值并直接返回它。 diff --git a/packages/inula-intl/src/format/getFormatMessage.ts b/packages/inula-intl/src/format/getFormatMessage.ts index 303f5011..10daf741 100644 --- a/packages/inula-intl/src/format/getFormatMessage.ts +++ b/packages/inula-intl/src/format/getFormatMessage.ts @@ -18,7 +18,7 @@ import Translation from './Translation'; import I18n from '../core/I18n'; import { MessageDescriptor, MessageOptions } from '../types/interfaces'; import { CompiledMessage } from '../types/types'; -import creatI18nCache from "./cache/cache"; +import creatI18nCache from './cache/cache'; export function getFormatMessage( i18n: I18n, diff --git a/packages/inula-intl/src/types/interfaces.ts b/packages/inula-intl/src/types/interfaces.ts index 38957e21..9aba8fe1 100644 --- a/packages/inula-intl/src/types/interfaces.ts +++ b/packages/inula-intl/src/types/interfaces.ts @@ -13,16 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { - AllLocaleConfig, - AllMessages, - Locale, - Locales, - Error, - DatePool, - SelectPool, - RawToken, -} from './types'; +import { AllLocaleConfig, AllMessages, Locale, Locales, Error, DatePool, SelectPool, RawToken } from './types'; import I18n from '../core/I18n'; import Lexer from '../parser/Lexer'; @@ -94,24 +85,24 @@ export interface configProps { export interface IntlMessageFormat extends configProps, MessageOptions { plural: ( - value: number, - { - offset, - ...rules - }: { - [x: string]: any; - offset?: number | undefined; - } + value: number, + { + offset, + ...rules + }: { + [x: string]: any; + offset?: number | undefined; + } ) => (ctx: any) => any[]; selectordinal: ( - value: number, - { - offset, - ...rules - }: { - [x: string]: any; - offset?: number | undefined; - } + value: number, + { + offset, + ...rules + }: { + [x: string]: any; + offset?: number | undefined; + } ) => (ctx: any) => any[]; select: (value: SelectPool, formatRules: any) => any; numberFormat: (value: number, formatOption: any) => string; @@ -200,7 +191,6 @@ export interface Select { } export interface InjectedIntl { - // 日期格式化 formatDate(value: DatePool, options?: Intl.DateTimeFormatOptions): string; diff --git a/packages/inula-intl/src/utils/copyStaticProps.ts b/packages/inula-intl/src/utils/copyStaticProps.ts index 2c28e849..31e4a1e8 100644 --- a/packages/inula-intl/src/utils/copyStaticProps.ts +++ b/packages/inula-intl/src/utils/copyStaticProps.ts @@ -13,12 +13,7 @@ * See the Mulan PSL v2 for more details. */ import { isMemo, ForwardRef } from 'openinula'; -import { - INULA_FORWARD_REF_STATICS, - INULA_MEMO_STATICS, - INULA_STATICS, - NATIVE_STATICS, -} from '../constants'; +import { INULA_FORWARD_REF_STATICS, INULA_MEMO_STATICS, INULA_STATICS, NATIVE_STATICS } from '../constants'; const staticsMap = new Map(); staticsMap.set(ForwardRef, INULA_FORWARD_REF_STATICS); @@ -29,7 +24,7 @@ function getStatics(component) { return INULA_MEMO_STATICS; } - if (staticsMap.has(component['vtype'])) { + if (staticsMap.has(component['vtype'])) { return staticsMap.get(component['vtype']) || INULA_STATICS; } } @@ -83,6 +78,6 @@ function copyStaticProps(targetComponent: T, sourceComponent: U): T { }); return targetComponent; -}; +} export default copyStaticProps; diff --git a/packages/inula-intl/src/utils/eventListener.ts b/packages/inula-intl/src/utils/eventListener.ts index ef290e79..aee1467d 100644 --- a/packages/inula-intl/src/utils/eventListener.ts +++ b/packages/inula-intl/src/utils/eventListener.ts @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { EventCallback } from "../types/types"; +import { EventCallback } from '../types/types'; /** * 定义一个时间触发器类,使用泛型实现动态时间的监听 diff --git a/packages/inula-intl/src/utils/getTokenAST.ts b/packages/inula-intl/src/utils/getTokenAST.ts index 67a8f0ff..733ac1a7 100644 --- a/packages/inula-intl/src/utils/getTokenAST.ts +++ b/packages/inula-intl/src/utils/getTokenAST.ts @@ -25,11 +25,14 @@ enum TokenType { const processToken = token => { if (typeof token === 'string') { return token; - } else if (TokenType[token.type] === 'OCTOTHORPE') { // token为符号 + } else if (TokenType[token.type] === 'OCTOTHORPE') { + // token为符号 return '#'; - } else if (TokenType[token.type] === 'ARGUMENT') { // token为变量 + } else if (TokenType[token.type] === 'ARGUMENT') { + // token为变量 return [token.arg]; - } else if (TokenType[token.type] === 'FUNCTION') { // token为函数方法 + } else if (TokenType[token.type] === 'FUNCTION') { + // token为函数方法 const _param = token.param && token.param.tokens[0]; const param = typeof _param === 'string' ? _param.trim() : _param; return [token.arg, token.key, param].filter(Boolean); diff --git a/packages/inula-intl/src/utils/utils.ts b/packages/inula-intl/src/utils/utils.ts index d58dbd54..a3c22cb8 100644 --- a/packages/inula-intl/src/utils/utils.ts +++ b/packages/inula-intl/src/utils/utils.ts @@ -12,12 +12,10 @@ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. * See the Mulan PSL v2 for more details. */ -import { CompiledMessage } from "../types/types"; -import parse from "../parser/parser"; -import getTokenAST from "./getTokenAST"; -import I18n from "../core/I18n"; - - +import { CompiledMessage } from '../types/types'; +import parse from '../parser/parser'; +import getTokenAST from './getTokenAST'; +import I18n from '../core/I18n'; export function isVariantI18n(i18n?: I18n) { if (!i18n) { @@ -43,6 +41,6 @@ const utils = { isVariantI18n, generateKey, compile, -} +}; export default utils; diff --git a/packages/inula-intl/tests/core/components/FormattedMessage.test.tsx b/packages/inula-intl/tests/core/components/FormattedMessage.test.tsx index 9e63aafc..5d1bd54d 100644 --- a/packages/inula-intl/tests/core/components/FormattedMessage.test.tsx +++ b/packages/inula-intl/tests/core/components/FormattedMessage.test.tsx @@ -17,7 +17,7 @@ import I18nProvider from '../../../src/core/components/I18nProvider'; import { FormattedMessage } from '../../../index'; import { render } from '@testing-library/react'; import '@testing-library/jest-dom'; -import {createI18nInstance} from "../../../src/core/I18n"; +import { createI18nInstance } from '../../../src/core/I18n'; const dummyContext = React.createContext(''); const { Provider: DummyProvider, Consumer: DummyConsumer } = dummyContext; diff --git a/packages/inula-intl/tests/core/components/I18nProvider.test.tsx b/packages/inula-intl/tests/core/components/I18nProvider.test.tsx index 9430620e..76f4776d 100644 --- a/packages/inula-intl/tests/core/components/I18nProvider.test.tsx +++ b/packages/inula-intl/tests/core/components/I18nProvider.test.tsx @@ -17,7 +17,7 @@ import * as React from 'react'; import { act, render } from '@testing-library/react'; import '@testing-library/jest-dom/extend-expect'; import { IntlProvider } from '../../../index'; -import {createI18nInstance} from "../../../src/core/I18n"; +import { createI18nInstance } from '../../../src/core/I18n'; describe('I18nProvider', () => { afterEach(() => { @@ -61,11 +61,7 @@ describe('I18nProvider', () => { i18n.on = jest.fn(() => jest.fn()); expect(i18n.on).not.toBeCalled(); render( - +

    ); @@ -78,9 +74,9 @@ describe('I18nProvider', () => { i18n.on = jest.fn(() => jest.fn()); expect(i18n.on).not.toBeCalled(); render( - -

    - + +

    + ); setTimeout(() => { expect(i18n.on).toBeCalledWith('change', expect.anything()); diff --git a/packages/inula-intl/tests/core/components/InjectI18n.test.tsx b/packages/inula-intl/tests/core/components/InjectI18n.test.tsx index 6ba1f71f..de03fb00 100644 --- a/packages/inula-intl/tests/core/components/InjectI18n.test.tsx +++ b/packages/inula-intl/tests/core/components/InjectI18n.test.tsx @@ -53,6 +53,8 @@ describe('InjectIntl', () => { }; const { getByTestId } = mountWithProvider(); - expect(getByTestId('test')).toHaveTextContent('{"_events":{},"locale":"en","locales":["en"],"allMessages":{},"_localeData":{}}'); + expect(getByTestId('test')).toHaveTextContent( + '{"_events":{},"locale":"en","locales":["en"],"allMessages":{},"_localeData":{}}' + ); }); }); diff --git a/packages/inula-intl/tests/core/creatI18n.test.ts b/packages/inula-intl/tests/core/creatI18n.test.ts index 558bf7f2..2de6dbef 100644 --- a/packages/inula-intl/tests/core/creatI18n.test.ts +++ b/packages/inula-intl/tests/core/creatI18n.test.ts @@ -41,6 +41,3 @@ describe('createI18n', () => { expect(onWarn).not.toHaveBeenCalled(); }); }); - - - diff --git a/packages/inula-intl/tests/format/Translation.test.ts b/packages/inula-intl/tests/format/Translation.test.ts index 20ea3182..f2db4530 100644 --- a/packages/inula-intl/tests/format/Translation.test.ts +++ b/packages/inula-intl/tests/format/Translation.test.ts @@ -14,7 +14,7 @@ */ import Translation from '../../src/format/Translation'; -import {createIntlCache} from "../../index"; +import { createIntlCache } from '../../index'; describe('Translation', () => { let translation; diff --git a/packages/inula-intl/tests/format/formatters/DateTimeFormatter.test.ts b/packages/inula-intl/tests/format/formatters/DateTimeFormatter.test.ts index 856c4a4e..7396c273 100644 --- a/packages/inula-intl/tests/format/formatters/DateTimeFormatter.test.ts +++ b/packages/inula-intl/tests/format/formatters/DateTimeFormatter.test.ts @@ -14,7 +14,7 @@ */ import { DateTimeFormatter } from '../../../index'; -import creatI18nCache from "../../../src/format/cache/cache"; +import creatI18nCache from '../../../src/format/cache/cache'; describe('DateTimeFormatter', () => { const date = new Date('2023-04-03T12:34:56Z'); @@ -92,7 +92,7 @@ describe('DateTimeFormatter', () => { }); it('should format using memorized formatter when useMemorize is true', () => { - const formatter = new DateTimeFormatter('en-US',{"year":'numeric'}, creatI18nCache()); + const formatter = new DateTimeFormatter('en-US', { year: 'numeric' }, creatI18nCache()); const date = new Date(2023, 0, 1); const formatted1 = formatter.dateTimeFormat(date); const formatted2 = formatter.dateTimeFormat(date); diff --git a/packages/inula-intl/tests/format/formatters/NumberFormatter.test.ts b/packages/inula-intl/tests/format/formatters/NumberFormatter.test.ts index d42fa61c..f6c825ac 100644 --- a/packages/inula-intl/tests/format/formatters/NumberFormatter.test.ts +++ b/packages/inula-intl/tests/format/formatters/NumberFormatter.test.ts @@ -14,7 +14,7 @@ */ import { NumberFormatter } from '../../../index'; -import creatI18nCache from "../../../src/format/cache/cache"; +import creatI18nCache from '../../../src/format/cache/cache'; describe('NumberFormatter', () => { it('number formatter is memoized', async () => { @@ -58,7 +58,6 @@ describe('NumberFormatter', () => { const format1 = new NumberFormatter('en-US', { style: 'currency', currency: 'USD' }); const format2 = new NumberFormatter('fr-FR', { style: 'currency', currency: 'EUR' }); expect(format1.numberFormat(1000)).toBe('$1,000.00'); - }); it('should format a positive number correctly', () => { const formatter = new NumberFormatter('en-US'); diff --git a/packages/inula-intl/tests/utils/eventListener.test.ts b/packages/inula-intl/tests/utils/eventListener.test.ts index 693290cb..c72af6cf 100644 --- a/packages/inula-intl/tests/utils/eventListener.test.ts +++ b/packages/inula-intl/tests/utils/eventListener.test.ts @@ -1,4 +1,3 @@ - /* * Copyright (c) 2023 Huawei Technologies Co.,Ltd. * diff --git a/packages/inula-intl/webpack.config.js b/packages/inula-intl/webpack.config.js index 5664d503..36c05a33 100644 --- a/packages/inula-intl/webpack.config.js +++ b/packages/inula-intl/webpack.config.js @@ -31,15 +31,17 @@ module.exports = { use: { loader: 'babel-loader', options: { - presets: ['@babel/preset-env', + presets: [ + '@babel/preset-env', [ - '@babel/preset-react', - { - 'runtime': 'automatic', // 新增 - 'importSource': 'openinula' // 新增 - } + '@babel/preset-react', + { + runtime: 'automatic', // 新增 + importSource: 'openinula', // 新增 + }, + ], + '@babel/preset-typescript', ], - '@babel/preset-typescript'], }, }, }, diff --git a/packages/inula-request/babel.config.js b/packages/inula-request/babel.config.js index 8fbcfa69..4ecfbb4f 100644 --- a/packages/inula-request/babel.config.js +++ b/packages/inula-request/babel.config.js @@ -19,15 +19,13 @@ module.exports = { '@babel/preset-env', { targets: { - 'browsers' : ['> 1%', 'last 2 versions', 'not ie <= 8'], - 'node': 'current' + browsers: ['> 1%', 'last 2 versions', 'not ie <= 8'], + node: 'current', }, useBuiltIns: 'usage', corejs: 3, - } + }, ], - [ - '@babel/preset-typescript', - ] - ] + ['@babel/preset-typescript'], + ], }; diff --git a/packages/inula-request/examples/useIR/App .jsx b/packages/inula-request/examples/useIR/App .jsx index 1ac4f71f..d6b1c175 100644 --- a/packages/inula-request/examples/useIR/App .jsx +++ b/packages/inula-request/examples/useIR/App .jsx @@ -17,27 +17,27 @@ import Inula, { useState } from 'openinula'; import { useIR } from '../../index'; const App = () => { - const [message, setMessage] = useState('等待发送请求...'); const [isSent, setSend] = useState(false); const options = { pollingInterval: 3000, enablePollingOptimization: true, - limitation: {minInterval: 500, maxInterval: 4000} + limitation: { minInterval: 500, maxInterval: 4000 }, }; - const {data} = useIR('http://localhost:3001/', null, options); + const { data } = useIR('http://localhost:3001/', null, options); const handleClick = () => { setSend(true); - } + }; return ( <>

    useHR Test
    -

    {options ? `实时数据流已激活\n更新间隔:${options?.pollingInterval} ms` - : '实时数据流未激活'}

    +

    + {options ? `实时数据流已激活\n更新间隔:${options?.pollingInterval} ms` : '实时数据流未激活'} +

    {isSent ? data : message}
    @@ -46,6 +46,6 @@ const App = () => {
    ); -} +}; export default App; diff --git a/packages/inula-request/examples/useIR/index.jsx b/packages/inula-request/examples/useIR/index.jsx index 27a54f52..def8970a 100644 --- a/packages/inula-request/examples/useIR/index.jsx +++ b/packages/inula-request/examples/useIR/index.jsx @@ -14,11 +14,11 @@ */ import Inula from 'openinula'; -import App from "./App "; +import App from './App '; Inula.render( - + , document.querySelector('#root') -) +); diff --git a/packages/inula-request/rollup.config.js b/packages/inula-request/rollup.config.js index 439ea2ab..766b84da 100644 --- a/packages/inula-request/rollup.config.js +++ b/packages/inula-request/rollup.config.js @@ -38,10 +38,8 @@ export default { terser(), babel({ babelHelpers: 'bundled', - presets: ['@babel/preset-env'] - }) - ], - external:[ - 'openinula' + presets: ['@babel/preset-env'], + }), ], + external: ['openinula'], }; diff --git a/packages/inula-request/src/core/InulaRequest.ts b/packages/inula-request/src/core/InulaRequest.ts index fc38a7e8..3c277b74 100644 --- a/packages/inula-request/src/core/InulaRequest.ts +++ b/packages/inula-request/src/core/InulaRequest.ts @@ -23,13 +23,7 @@ import handleAsyncInterceptor from '../interceptor/handleAsyncInterceptor'; import handleSyncInterceptor from '../interceptor/handleSyncInterceptor'; import defaultConfig from '../config/defaultConfig'; import { Method } from '../types/types'; -import { - IrRequestConfig, - IrResponse, - IrInterface, - IrInstance, - Interceptors, -} from '../types/interfaces'; +import { IrRequestConfig, IrResponse, IrInterface, IrInstance, Interceptors } from '../types/interfaces'; class InulaRequest implements IrInterface { defaultConfig: IrRequestConfig; @@ -80,12 +74,7 @@ class InulaRequest implements IrInterface { } // 全都是同步拦截器处理 - return handleSyncInterceptor( - this.processRequest, - mergedConfig, - requestInterceptorChain, - responseInterceptorChain - ); + return handleSyncInterceptor(this.processRequest, mergedConfig, requestInterceptorChain, responseInterceptorChain); } private preprocessing(requestParam: string | Record, config?: IrRequestConfig) { diff --git a/packages/inula-request/src/core/IrHeaders.ts b/packages/inula-request/src/core/IrHeaders.ts index fdd70587..ecd0f26f 100644 --- a/packages/inula-request/src/core/IrHeaders.ts +++ b/packages/inula-request/src/core/IrHeaders.ts @@ -45,7 +45,7 @@ class IrHeaders { if (!key || this[key] === undefined) { this[key || _header] = utils.getNormalizedValue(_value); } - }; + } private _setHeaders(headers: Record | IrHeaders | string) { return utils.forEach(headers, (_value: string | string[], _header: string) => { diff --git a/packages/inula-request/src/core/useIR/IRClient.ts b/packages/inula-request/src/core/useIR/IRClient.ts index 2e427e6d..b0114041 100644 --- a/packages/inula-request/src/core/useIR/IRClient.ts +++ b/packages/inula-request/src/core/useIR/IRClient.ts @@ -15,7 +15,7 @@ import inulaRequest from '../../inulaRequest'; import { CacheItem, IrRequestConfig, Limitation, QueryOptions } from '../../types/interfaces'; -import utils from "../../utils/commonUtils/utils"; +import utils from '../../utils/commonUtils/utils'; // 兼容 IE 上没有 CustomEvent 对象 function createCustomEvent(eventName: string, options?: Record) { @@ -31,13 +31,7 @@ class IRClient { public requestEvent = utils.isIE() ? createCustomEvent('request') : new CustomEvent('request'); public async query(url: string, config?: IrRequestConfig, options: QueryOptions = {}): Promise { - const { - pollingInterval, - enablePollingOptimization, - limitation, - capacity = 100, - windowSize = 5, - } = options; + const { pollingInterval, enablePollingOptimization, limitation, capacity = 100, windowSize = 5 } = options; let cacheItem = this.cache.get(url); if (cacheItem && pollingInterval && Date.now() - cacheItem.lastUpdated < pollingInterval) { diff --git a/packages/inula-request/src/core/useIR/useIR.ts b/packages/inula-request/src/core/useIR/useIR.ts index f9547b5f..97879ba5 100644 --- a/packages/inula-request/src/core/useIR/useIR.ts +++ b/packages/inula-request/src/core/useIR/useIR.ts @@ -20,7 +20,11 @@ import { IrRequestConfig, QueryOptions } from '../../types/interfaces'; // 全局初始化一个 IRClient 实例 const irClient = new IRClient(); -const useIR = (url: string, config?: IrRequestConfig, options?: QueryOptions): { data?: T; error?: any } => { +const useIR = ( + url: string, + config?: IrRequestConfig, + options?: QueryOptions +): { data?: T; error?: any } => { const [data, setData] = Inula.useState(null as unknown as T); const [error, setError] = Inula.useState(null); diff --git a/packages/inula-request/src/dataTransformers/transformRequest.ts b/packages/inula-request/src/dataTransformers/transformRequest.ts index fe2d37d7..b6d54ad9 100644 --- a/packages/inula-request/src/dataTransformers/transformRequest.ts +++ b/packages/inula-request/src/dataTransformers/transformRequest.ts @@ -35,7 +35,6 @@ const strategies: Record = { return data.toString(); }, MultipartFormData: (data, headers, isFileList: boolean) => { - return getFormData(isFileList ? { 'files[]': data } : data); }, JSONData: (data, headers) => { diff --git a/packages/inula-request/src/request/fetchRequest.ts b/packages/inula-request/src/request/fetchRequest.ts index b2f598ee..18b9ce75 100644 --- a/packages/inula-request/src/request/fetchRequest.ts +++ b/packages/inula-request/src/request/fetchRequest.ts @@ -96,7 +96,6 @@ export const fetchRequest = (config: IrRequestConfig): Promise => { } else { fetch(url, options as RequestInit) .then(response => { - // 将 Headers 对象转换为普通 JavaScript 对象,可以使用 [] 访问具体响应头 const headersObj = {}; response.headers.forEach((value, name) => { @@ -112,7 +111,7 @@ export const fetchRequest = (config: IrRequestConfig): Promise => { headers: headersObj, config, request: null, - responseURL: response.url + responseURL: response.url, }; const responseBody = onDownloadProgress @@ -163,7 +162,13 @@ export const fetchRequest = (config: IrRequestConfig): Promise => { if (responseData.config.validateStatus!(responseData.status)) { resolve(responseData); } else { - const error = new IrError(responseData.statusText, '', responseData.config, responseData.request, responseData); + const error = new IrError( + responseData.statusText, + '', + responseData.config, + responseData.request, + responseData + ); reject(error); } }) @@ -173,7 +178,13 @@ export const fetchRequest = (config: IrRequestConfig): Promise => { const irError = new CancelError('request canceled', config); reject(irError); } else { - const irError = new IrError(error.message, 'ERR_FETCH_FAILED', responseData.config, responseData.request, responseData); + const irError = new IrError( + error.message, + 'ERR_FETCH_FAILED', + responseData.config, + responseData.request, + responseData + ); reject(irError); } }); diff --git a/packages/inula-request/src/request/ieCompatibility/CustomResponse.ts b/packages/inula-request/src/request/ieCompatibility/CustomResponse.ts index a900df06..2e99bfc0 100644 --- a/packages/inula-request/src/request/ieCompatibility/CustomResponse.ts +++ b/packages/inula-request/src/request/ieCompatibility/CustomResponse.ts @@ -47,4 +47,4 @@ class CustomResponse { } } -export default CustomResponse; \ No newline at end of file +export default CustomResponse; diff --git a/packages/inula-request/src/request/ieFetchRequest.ts b/packages/inula-request/src/request/ieFetchRequest.ts index 3a1594f6..c360e65b 100644 --- a/packages/inula-request/src/request/ieFetchRequest.ts +++ b/packages/inula-request/src/request/ieFetchRequest.ts @@ -88,7 +88,6 @@ export const ieFetchRequest = (config: IrRequestConfig): Promise => fetch(url, options as RequestInit) .then(response => { - config.method = config.method!.toLowerCase() as Method; const responseData: IrResponse = { @@ -98,7 +97,7 @@ export const ieFetchRequest = (config: IrRequestConfig): Promise => headers: response.headers, config, request: null, - responseURL: response.url + responseURL: response.url, }; // 根据 responseType 选择相应的解析方法 diff --git a/packages/inula-request/src/request/processUploadProgress.ts b/packages/inula-request/src/request/processUploadProgress.ts index 4e1586a4..d74333f8 100644 --- a/packages/inula-request/src/request/processUploadProgress.ts +++ b/packages/inula-request/src/request/processUploadProgress.ts @@ -24,7 +24,7 @@ function processUploadProgress( resolve: (value: PromiseLike> | IrResponse) => void, method: string, url: string | undefined, - config: IrRequestConfig, + config: IrRequestConfig ) { if (onUploadProgress) { let totalBytesToUpload = 0; // 上传的总字节数 @@ -75,7 +75,7 @@ function processUploadProgress( statusText: xhr.statusText, headers: xhr.getAllResponseHeaders(), config: config, - request: xhr + request: xhr, }; if (config.validateStatus!(xhr.status)) { @@ -101,8 +101,8 @@ function processUploadProgress( for (const header in config.headers) { if ( - !['Content-Length', 'Accept-Encoding', 'User-Agent'].includes(header) // 过滤不安全的请求头设置 - && Object.prototype.hasOwnProperty.call(config.headers, header) // 不遍历请求头原型上的方法 + !['Content-Length', 'Accept-Encoding', 'User-Agent'].includes(header) && // 过滤不安全的请求头设置 + Object.prototype.hasOwnProperty.call(config.headers, header) // 不遍历请求头原型上的方法 ) { xhr.setRequestHeader(header, config.headers[header]); } diff --git a/packages/inula-request/src/types/interfaces.ts b/packages/inula-request/src/types/interfaces.ts index ce4d2dc6..93a964dc 100644 --- a/packages/inula-request/src/types/interfaces.ts +++ b/packages/inula-request/src/types/interfaces.ts @@ -305,8 +305,8 @@ export interface QueryOptions { } export interface Limitation { - minInterval: number, - maxInterval: number, + minInterval: number; + maxInterval: number; } // useIR 缓存 diff --git a/packages/inula-request/src/utils/commonUtils/utils.ts b/packages/inula-request/src/utils/commonUtils/utils.ts index 0096c66a..4155164a 100644 --- a/packages/inula-request/src/utils/commonUtils/utils.ts +++ b/packages/inula-request/src/utils/commonUtils/utils.ts @@ -125,9 +125,7 @@ function forEach( func.call(null, value, index, array); }); } else { - const keys = includeAll - ? getAllPropertyNames(input as Record) - : Object.keys(input as Record); + const keys = includeAll ? getAllPropertyNames(input as Record) : Object.keys(input as Record); keys.forEach(key => { func.call(null, (input as Record)[key], key, input!); }); @@ -172,14 +170,18 @@ function extendObject( ) { const { includeAll = false } = options || {}; - forEach(source, (val: any, key: any) => { - if (thisArg && checkFunction(val)) { - target[key as number] = bind(val, thisArg); - } else { - target[key as number] = val; - } - // @ts-ignore - }, { includeAll: includeAll }); + forEach( + source, + (val: any, key: any) => { + if (thisArg && checkFunction(val)) { + target[key as number] = bind(val, thisArg); + } else { + target[key as number] = val; + } + // @ts-ignore + }, + { includeAll: includeAll } + ); return target; } @@ -408,11 +410,7 @@ function spread(callback: Callback): (arr: any[]) => T { } function getNormalizedValue(value: string | any[] | boolean | null | number): string | any[] | boolean | null { - if ( - value === false - || value === null - || value === undefined - ) { + if (value === false || value === null || value === undefined) { return value; } diff --git a/packages/inula-request/src/utils/configUtils/deepMerge.ts b/packages/inula-request/src/utils/configUtils/deepMerge.ts index 3c4ed956..2657a8ae 100644 --- a/packages/inula-request/src/utils/configUtils/deepMerge.ts +++ b/packages/inula-request/src/utils/configUtils/deepMerge.ts @@ -46,4 +46,4 @@ function deepMerge(...objects: Record[]): Record { return result; } -export default deepMerge; \ No newline at end of file +export default deepMerge; diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/bind.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/bind.test.ts index 39080a70..d590a61a 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/bind.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/bind.test.ts @@ -17,8 +17,7 @@ import utils from '../../../../src/utils/commonUtils/utils'; describe('bind function', () => { it('should return a new function', () => { - const fn = () => { - }; + const fn = () => {}; const boundFn = utils.bind(fn, {}); expect(boundFn).toBeInstanceOf(Function); expect(boundFn).not.toBe(fn); @@ -27,7 +26,7 @@ describe('bind function', () => { it('should call original function with correct this value', () => { const thisArg = { name: 'Alice' }; const fn = function (this: any) { - return this["name"]; + return this['name']; }; const boundFn = utils.bind(fn, thisArg); const result = boundFn(); diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/extendObject.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/extendObject.test.ts index a4c97ffa..cd0f9cf3 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/extendObject.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/extendObject.test.ts @@ -30,7 +30,7 @@ describe('extendObject function', () => { sayHi() { return `Hi, ${this.name}!`; }, - name: 'John' + name: 'John', }; const thisArg = { name: 'Sarah' }; const result = utils.extendObject(target, source, thisArg); @@ -39,8 +39,8 @@ describe('extendObject function', () => { it('should include all properties of the source object if "includeAll" option is set to true', () => { const target = { a: 1 }; - const source = { 'b': 2 }; + const source = { b: 2 }; const result = utils.extendObject(target, source, undefined, { includeAll: true }); - expect(result).not.toEqual({ a: 1, 'b': 2 }); + expect(result).not.toEqual({ a: 1, b: 2 }); }); }); diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/forEachEntry.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/forEachEntry.test.ts index 70d63166..a2aba552 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/forEachEntry.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/forEachEntry.test.ts @@ -27,7 +27,11 @@ describe('forEachEntry function', () => { }); it('should call the callback function for each entry in a Map object', () => { - const obj = new Map([['a', 1], ['b', 2], ['c', 3]]); + const obj = new Map([ + ['a', 1], + ['b', 2], + ['c', 3], + ]); utils.forEachEntry(obj, callback); expect(callback).toHaveBeenCalledTimes(3); expect(callback).toHaveBeenCalledWith('a', 1); @@ -36,11 +40,14 @@ describe('forEachEntry function', () => { }); it('should not call the callback function for non-enumerable properties', () => { - const obj = Object.create({}, { - a: { value: 1, enumerable: true }, - b: { value: 2, enumerable: false }, - c: { value: 3, enumerable: true } - }); + const obj = Object.create( + {}, + { + a: { value: 1, enumerable: true }, + b: { value: 2, enumerable: false }, + c: { value: 3, enumerable: true }, + } + ); utils.forEachEntry(obj, callback); expect(callback).toHaveBeenCalledTimes(2); expect(callback).toHaveBeenCalledWith('a', 1); diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/getObjectByArray.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/getObjectByArray.test.ts index eda0934b..4663ebd1 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/getObjectByArray.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/getObjectByArray.test.ts @@ -21,7 +21,7 @@ describe('getObjectByArray function', () => { const expected = { '0': 'a', '1': 'b', - '2': 'c' + '2': 'c', }; const result = utils.getObjectByArray(arr); expect(result).toEqual(expected); @@ -39,7 +39,7 @@ describe('getObjectByArray function', () => { const expected = { '0': 1, '1': true, - '2': { key: 'value' } + '2': { key: 'value' }, }; const result = utils.getObjectByArray(arr); expect(result).toEqual(expected); diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/objectToQueryString.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/objectToQueryString.test.ts index db98f676..28e692c7 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/objectToQueryString.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/objectToQueryString.test.ts @@ -52,8 +52,7 @@ describe('objectToQueryString function', () => { key4: [1, 2, 3], key5: { a: 'b' }, }; - const expectedResult = - 'key1=string&key2=42&key3=true&key4[]=1&key4[]=2&key4[]=3&key5=%5Bobject%20Object%5D'; + const expectedResult = 'key1=string&key2=42&key3=true&key4[]=1&key4[]=2&key4[]=3&key5=%5Bobject%20Object%5D'; const result = utils.objectToQueryString(input); expect(result).toBe(expectedResult); }); diff --git a/packages/inula-request/tests/unitTest/utils/commonUtils/toBooleanObject.test.ts b/packages/inula-request/tests/unitTest/utils/commonUtils/toBooleanObject.test.ts index 7286ccb6..251f64bb 100644 --- a/packages/inula-request/tests/unitTest/utils/commonUtils/toBooleanObject.test.ts +++ b/packages/inula-request/tests/unitTest/utils/commonUtils/toBooleanObject.test.ts @@ -19,18 +19,18 @@ describe('toBooleanObject function', () => { it('should return an object with boolean properties', () => { const result = utils.toBooleanObject('foo,bar,baz', ','); expect(result).toEqual({ - 'foo': true, - 'bar': true, - 'baz': true, + foo: true, + bar: true, + baz: true, }); }); it('should handle an array of strings as input', () => { const result = utils.toBooleanObject(['foo', 'bar', 'baz']); expect(result).toEqual({ - 'foo': true, - 'bar': true, - 'baz': true, + foo: true, + bar: true, + baz: true, }); }); @@ -42,19 +42,18 @@ describe('toBooleanObject function', () => { it('should handle custom delimiter', () => { const result = utils.toBooleanObject('foo|bar|baz', '|'); expect(result).toEqual({ - 'foo': true, - 'bar': true, - 'baz': true, + foo: true, + bar: true, + baz: true, }); }); it('should handle spaces in input', () => { const result = utils.toBooleanObject('foo, bar, baz', ','); expect(result).toEqual({ - 'foo': true, - 'bar': true, - 'baz': true, + foo: true, + bar: true, + baz: true, }); }); }); - diff --git a/packages/inula-request/tests/unitTest/utils/configUtils/getMergedConfig.test.ts b/packages/inula-request/tests/unitTest/utils/configUtils/getMergedConfig.test.ts index bcb0347c..983486e3 100644 --- a/packages/inula-request/tests/unitTest/utils/configUtils/getMergedConfig.test.ts +++ b/packages/inula-request/tests/unitTest/utils/configUtils/getMergedConfig.test.ts @@ -26,7 +26,7 @@ describe('getMergedConfig function', () => { const config2 = { method: 'POST', data: { name: 'John', age: 25 }, - headers: { 'Authorization': 'Bearer token' }, + headers: { Authorization: 'Bearer token' }, responseType: 'json', }; @@ -36,7 +36,7 @@ describe('getMergedConfig function', () => { baseURL: 'https://example.com/api', method: 'POST', data: { name: 'John', age: 25 }, - headers: { 'Content-Type': 'application/json', 'Authorization': 'Bearer token' }, + headers: { 'Content-Type': 'application/json', Authorization: 'Bearer token' }, timeout: 5000, responseType: 'json', }); diff --git a/packages/inula-request/tests/unitTest/utils/dataUtils/getJSONByFormData.test.ts b/packages/inula-request/tests/unitTest/utils/dataUtils/getJSONByFormData.test.ts index 07342cfb..b7b154b8 100644 --- a/packages/inula-request/tests/unitTest/utils/dataUtils/getJSONByFormData.test.ts +++ b/packages/inula-request/tests/unitTest/utils/dataUtils/getJSONByFormData.test.ts @@ -43,4 +43,4 @@ describe('getJSONByFormData function', () => { expect(result).toEqual({}); }); -}); \ No newline at end of file +}); diff --git a/packages/inula-request/tests/unitTest/utils/headerUtils/convertRawHeaders.test.ts b/packages/inula-request/tests/unitTest/utils/headerUtils/convertRawHeaders.test.ts index f89db04a..96c7cd14 100644 --- a/packages/inula-request/tests/unitTest/utils/headerUtils/convertRawHeaders.test.ts +++ b/packages/inula-request/tests/unitTest/utils/headerUtils/convertRawHeaders.test.ts @@ -20,7 +20,7 @@ describe('convertRawHeaders', () => { const rawHeaders = 'Content-Type: application/json\nAuthorization: Bearer token'; const expectedHeaders = { 'content-type': 'application/json', - 'authorization': 'Bearer token', + authorization: 'Bearer token', }; const result = convertRawHeaders(rawHeaders); expect(result).toEqual(expectedHeaders); @@ -46,7 +46,7 @@ describe('convertRawHeaders', () => { const rawHeaders = ' Content-Type: application/json\nAuthorization: Bearer token '; const expectedHeaders = { 'content-type': 'application/json', - 'authorization': 'Bearer token', + authorization: 'Bearer token', }; const result = convertRawHeaders(rawHeaders); expect(result).toEqual(expectedHeaders); diff --git a/packages/inula-request/tests/unitTest/utils/headerUtils/deleteHeader.test.ts b/packages/inula-request/tests/unitTest/utils/headerUtils/deleteHeader.test.ts index 423d3c1e..9f3a393a 100644 --- a/packages/inula-request/tests/unitTest/utils/headerUtils/deleteHeader.test.ts +++ b/packages/inula-request/tests/unitTest/utils/headerUtils/deleteHeader.test.ts @@ -17,34 +17,34 @@ import deleteHeader from '../../../../src/utils/headerUtils/deleteHeader'; describe('deleteHeader function', () => { it('should delete existing header property from the object', () => { - const obj = { 'content-type': 'application/json', 'authorization': 'Bearer token' }; + const obj = { 'content-type': 'application/json', authorization: 'Bearer token' }; const headerToDelete = 'content-type'; const result = deleteHeader.call(obj, headerToDelete); expect(result).toBe(true); - expect(obj).toEqual({ 'authorization': 'Bearer token' }); + expect(obj).toEqual({ authorization: 'Bearer token' }); }); it('should return false if header property does not exist', () => { - const obj = { 'content-type': 'application/json', 'authorization': 'Bearer token' }; + const obj = { 'content-type': 'application/json', authorization: 'Bearer token' }; const headerToDelete = 'x-custom-header'; const result = deleteHeader.call(obj, headerToDelete); expect(result).toBe(false); - expect(obj).toEqual({ 'content-type': 'application/json', 'authorization': 'Bearer token' }); + expect(obj).toEqual({ 'content-type': 'application/json', authorization: 'Bearer token' }); }); it('should return false if header parameter is empty', () => { - const obj = { 'content-type': 'application/json', 'authorization': 'Bearer token' }; + const obj = { 'content-type': 'application/json', authorization: 'Bearer token' }; const headerToDelete = ''; const result = deleteHeader.call(obj, headerToDelete); expect(result).toBe(false); - expect(obj).toEqual({ 'content-type': 'application/json', 'authorization': 'Bearer token' }); + expect(obj).toEqual({ 'content-type': 'application/json', authorization: 'Bearer token' }); }); it('should delete header property with different case sensitivity', () => { - const obj = { 'Content-Type': 'application/json', 'Authorization': 'Bearer token' }; + const obj = { 'Content-Type': 'application/json', Authorization: 'Bearer token' }; const headerToDelete = 'content-type'; const result = deleteHeader.call(obj, headerToDelete); expect(result).toBe(true); - expect(obj).toEqual({ 'Authorization': 'Bearer token' }); + expect(obj).toEqual({ Authorization: 'Bearer token' }); }); }); diff --git a/packages/inula-request/tests/unitTest/utils/headerUtils/parseKeyValuePairs.test.ts b/packages/inula-request/tests/unitTest/utils/headerUtils/parseKeyValuePairs.test.ts index b5864381..b437a3ce 100644 --- a/packages/inula-request/tests/unitTest/utils/headerUtils/parseKeyValuePairs.test.ts +++ b/packages/inula-request/tests/unitTest/utils/headerUtils/parseKeyValuePairs.test.ts @@ -19,9 +19,9 @@ describe('parseKeyValuePairs function', () => { it('should parse key-value pairs separated by commas', () => { const input = 'key1=value1, key2=value2, key3=value3'; const expectedOutput = { - 'key1': 'value1', - 'key2': 'value2', - 'key3': 'value3', + key1: 'value1', + key2: 'value2', + key3: 'value3', }; const result = parseKeyValuePairs(input); expect(result).toEqual(expectedOutput); @@ -30,9 +30,9 @@ describe('parseKeyValuePairs function', () => { it('should parse key-value pairs separated by semicolons', () => { const input = 'key1=value1; key2=value2; key3=value3'; const expectedOutput = { - 'key1': 'value1', - 'key2': 'value2', - 'key3': 'value3', + key1: 'value1', + key2: 'value2', + key3: 'value3', }; const result = parseKeyValuePairs(input); expect(result).toEqual(expectedOutput); @@ -41,9 +41,9 @@ describe('parseKeyValuePairs function', () => { it('should parse key-value pairs with no spaces', () => { const input = 'key1=value1,key2=value2,key3=value3'; const expectedOutput = { - 'key1': 'value1', - 'key2': 'value2', - 'key3': 'value3', + key1: 'value1', + key2: 'value2', + key3: 'value3', }; const result = parseKeyValuePairs(input); expect(result).toEqual(expectedOutput); @@ -52,9 +52,9 @@ describe('parseKeyValuePairs function', () => { it('should parse key-value pairs with leading/trailing spaces', () => { const input = ' key1 = value1 , key2 = value2 , key3 = value3 '; const expectedOutput = { - 'key1': 'value1', - 'key2': 'value2', - 'key3': 'value3', + key1: 'value1', + key2: 'value2', + key3: 'value3', }; const result = parseKeyValuePairs(input); expect(result).toEqual(expectedOutput); @@ -63,9 +63,9 @@ describe('parseKeyValuePairs function', () => { it('should parse key-value pairs with spaces', () => { const input = 'key1=value1, key2=value with spaces, key3=value3'; const expectedOutput = { - 'key1': 'value1', - 'key2': 'value with spaces', - 'key3': 'value3', + key1: 'value1', + key2: 'value with spaces', + key3: 'value3', }; const result = parseKeyValuePairs(input); expect(result).toEqual(expectedOutput); diff --git a/packages/inula-request/tests/unitTest/utils/headerUtils/processValueByParser.test.ts b/packages/inula-request/tests/unitTest/utils/headerUtils/processValueByParser.test.ts index e539fcc2..2fdd40ff 100644 --- a/packages/inula-request/tests/unitTest/utils/headerUtils/processValueByParser.test.ts +++ b/packages/inula-request/tests/unitTest/utils/headerUtils/processValueByParser.test.ts @@ -28,9 +28,9 @@ describe('processValueByParser function', () => { const value = 'key1=value1; key2=value2; key3=value3'; const result = processValueByParser(key, value, true); const expectedOutput = { - 'key1': 'value1', - 'key2': 'value2', - 'key3': 'value3', + key1: 'value1', + key2: 'value2', + key3: 'value3', }; expect(result).toEqual(expectedOutput); }); diff --git a/packages/inula-request/webpack.useIR.config.js b/packages/inula-request/webpack.useIR.config.js index f3528d36..cf5f6d74 100644 --- a/packages/inula-request/webpack.useIR.config.js +++ b/packages/inula-request/webpack.useIR.config.js @@ -15,13 +15,13 @@ const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); -const {resolve} = require('path'); +const { resolve } = require('path'); module.exports = { entry: './examples/useIR/index.jsx', // 入口文件 output: { path: path.resolve(__dirname, 'dist'), // 输出目录 - filename: 'bundle.js' // 输出文件名 + filename: 'bundle.js', // 输出文件名 }, module: { rules: [ @@ -35,16 +35,16 @@ module.exports = { [ '@babel/preset-react', { - 'runtime': 'automatic', - 'importSource': 'openinula' - } + runtime: 'automatic', + importSource: 'openinula', + }, ], - '@babel/preset-typescript' + '@babel/preset-typescript', ], }, }, - } - ] + }, + ], }, plugins: [ new HtmlWebpackPlugin({ @@ -60,5 +60,5 @@ module.exports = { port: '8888', open: true, hot: true, - } + }, }; diff --git a/packages/inula-router/jest.config.js b/packages/inula-router/jest.config.js index fa5224a6..e558b7e1 100644 --- a/packages/inula-router/jest.config.js +++ b/packages/inula-router/jest.config.js @@ -19,5 +19,5 @@ export default { globals: { __DEV__: true, }, - testEnvironment: 'jsdom' + testEnvironment: 'jsdom', }; diff --git a/packages/inula-router/src/connect-router/actions.ts b/packages/inula-router/src/connect-router/actions.ts index fb6da0fa..b910c73e 100644 --- a/packages/inula-router/src/connect-router/actions.ts +++ b/packages/inula-router/src/connect-router/actions.ts @@ -15,30 +15,31 @@ import { Action, Path } from '../history/types'; -type Location = Partial +type Location = Partial; // 定义位置变化和history方法调用的Action type export enum ActionName { LOCATION_CHANGE = '$inula-router/LOCATION_CHANGE', - CALL_HISTORY_METHOD = '$inula-router/CALL_HISTORY_METHOD' + CALL_HISTORY_METHOD = '$inula-router/CALL_HISTORY_METHOD', } // 定义Action的两种数据类型 -export type ActionMessage = { - type: ActionName.LOCATION_CHANGE - payload: { - location: Location, - action: Action - isFirstRendering: boolean - } -} | { - type: ActionName.CALL_HISTORY_METHOD - payload: { - method: string, - args: any - } -} - +export type ActionMessage = + | { + type: ActionName.LOCATION_CHANGE; + payload: { + location: Location; + action: Action; + isFirstRendering: boolean; + }; + } + | { + type: ActionName.CALL_HISTORY_METHOD; + payload: { + method: string; + args: any; + }; + }; export const onLocationChanged = (location: Location, action: Action, isFirstRendering = false): ActionMessage => { return { @@ -51,7 +52,7 @@ export const onLocationChanged = (location: Location, action: Action, isFirstRen }; }; -const updateLocation = (method: string): (...args: any) => ActionMessage => { +const updateLocation = (method: string): ((...args: any) => ActionMessage) => { return (...args: any) => ({ type: ActionName.CALL_HISTORY_METHOD, payload: { @@ -63,4 +64,4 @@ const updateLocation = (method: string): (...args: any) => ActionMessage => { export const push = updateLocation('push'); export const replace = updateLocation('replace'); -export const go = updateLocation('go'); \ No newline at end of file +export const go = updateLocation('go'); diff --git a/packages/inula-router/src/connect-router/connectedRouter.tsx b/packages/inula-router/src/connect-router/connectedRouter.tsx index 8ce5a383..d90cafd0 100644 --- a/packages/inula-router/src/connect-router/connectedRouter.tsx +++ b/packages/inula-router/src/connect-router/connectedRouter.tsx @@ -74,10 +74,10 @@ function ConnectedRouterWithoutMemo(props: ConnectedRouter) { search: searchInStore, hash: hashInStore, }, - stateInStore, + stateInStore ); } - }), + }) ); const handleLocationChange = (args: Navigation, isFirstRendering: boolean = false) => { diff --git a/packages/inula-router/src/connect-router/dispatch.ts b/packages/inula-router/src/connect-router/dispatch.ts index 971ef2f0..2661ccc4 100644 --- a/packages/inula-router/src/connect-router/dispatch.ts +++ b/packages/inula-router/src/connect-router/dispatch.ts @@ -18,13 +18,15 @@ import { History } from '../history/types'; // 定义connect-router对应的redux dispatch函数 export function routerMiddleware(history: History) { - return function(_: any) { - return function(next: any) { - return function(action: ActionMessage) { + return function (_: any) { + return function (next: any) { + return function (action: ActionMessage) { if (action.type !== ActionName.CALL_HISTORY_METHOD) { return next(action); } - const { payload: { method, args } } = action; + const { + payload: { method, args }, + } = action; if (method in history) { (history as any)[method](...args); } diff --git a/packages/inula-router/src/connect-router/index.ts b/packages/inula-router/src/connect-router/index.ts index d89208d5..6ab06971 100644 --- a/packages/inula-router/src/connect-router/index.ts +++ b/packages/inula-router/src/connect-router/index.ts @@ -18,4 +18,4 @@ import { createConnectRouter } from './reducer'; export { getConnectedRouter } from './connectedRouter'; export const connectRouter = createConnectRouter(); export { routerMiddleware } from './dispatch'; -export { push, go, replace } from './actions'; \ No newline at end of file +export { push, go, replace } from './actions'; diff --git a/packages/inula-router/src/connect-router/reduxUtils.ts b/packages/inula-router/src/connect-router/reduxUtils.ts index d09f42ee..b8e164cf 100644 --- a/packages/inula-router/src/connect-router/reduxUtils.ts +++ b/packages/inula-router/src/connect-router/reduxUtils.ts @@ -60,4 +60,4 @@ const stateReader = (storeType: string) => { }; }; -export default stateReader \ No newline at end of file +export default stateReader; diff --git a/packages/inula-router/src/history/baseHistory.ts b/packages/inula-router/src/history/baseHistory.ts index 0bbb388f..87451567 100644 --- a/packages/inula-router/src/history/baseHistory.ts +++ b/packages/inula-router/src/history/baseHistory.ts @@ -20,7 +20,7 @@ import transitionManager from './transitionManager'; export function getBaseHistory( transitionManager: transitionManager, setListener: (delta: number) => void, - browserHistory: History, + browserHistory: History ) { function go(step: number) { browserHistory.go(step); diff --git a/packages/inula-router/src/history/browerHistory.ts b/packages/inula-router/src/history/browerHistory.ts index f0b3a7f8..7a8a2285 100644 --- a/packages/inula-router/src/history/browerHistory.ts +++ b/packages/inula-router/src/history/browerHistory.ts @@ -45,7 +45,7 @@ export function createBrowserHistory(options: BrowserHisto const { go, goBack, goForward, listen, block, getUpdateStateFunc } = getBaseHistory( transitionManager, setListener, - browserHistory, + browserHistory ); const history: History = { diff --git a/packages/inula-router/src/history/hashHistory.ts b/packages/inula-router/src/history/hashHistory.ts index f1cf421d..6deb725e 100644 --- a/packages/inula-router/src/history/hashHistory.ts +++ b/packages/inula-router/src/history/hashHistory.ts @@ -84,7 +84,7 @@ export function createHashHistory(option: HashHistoryOptio const { go, goBack, goForward, listen, block, getUpdateStateFunc } = getBaseHistory( transitionManager, setListener, - browserHistory, + browserHistory ); const history: History = { diff --git a/packages/inula-router/src/history/types.ts b/packages/inula-router/src/history/types.ts index fb3248da..641beeca 100644 --- a/packages/inula-router/src/history/types.ts +++ b/packages/inula-router/src/history/types.ts @@ -102,6 +102,6 @@ export interface TManager { location: Location, action: Action, userConfirmationFunc: ConfirmationFunc, - callBack: CallBackFunc, + callBack: CallBackFunc ): void; } diff --git a/packages/inula-router/src/history/waring.ts b/packages/inula-router/src/history/waring.ts index df3cbd5f..15784cec 100644 --- a/packages/inula-router/src/history/waring.ts +++ b/packages/inula-router/src/history/waring.ts @@ -21,4 +21,4 @@ function warning(condition: any, message: string) { } } -export default warning; \ No newline at end of file +export default warning; diff --git a/packages/inula-router/src/router/BrowserRouter.tsx b/packages/inula-router/src/router/BrowserRouter.tsx index d818c897..d7c77ac4 100644 --- a/packages/inula-router/src/router/BrowserRouter.tsx +++ b/packages/inula-router/src/router/BrowserRouter.tsx @@ -44,4 +44,4 @@ function BrowserRouter

    >(props: P) { return {props.children}; } -export default BrowserRouter; \ No newline at end of file +export default BrowserRouter; diff --git a/packages/inula-router/src/router/HashRouter.tsx b/packages/inula-router/src/router/HashRouter.tsx index ff488f3e..3682302e 100644 --- a/packages/inula-router/src/router/HashRouter.tsx +++ b/packages/inula-router/src/router/HashRouter.tsx @@ -37,4 +37,4 @@ function HashRouter

    >(props: P) { return {props.children}; } -export default HashRouter; \ No newline at end of file +export default HashRouter; diff --git a/packages/inula-router/src/router/Link.tsx b/packages/inula-router/src/router/Link.tsx index 68333cf6..746130dd 100644 --- a/packages/inula-router/src/router/Link.tsx +++ b/packages/inula-router/src/router/Link.tsx @@ -36,7 +36,6 @@ const checkTarget = (target?: any) => { return !target || target === '_self'; }; - function Link

    (props: P) { const { to, replace, component, onClick, target, ...other } = props; @@ -81,4 +80,4 @@ function Link

    (props: P) { return Inula.createElement(tag, linkProps); } -export default Link; \ No newline at end of file +export default Link; diff --git a/packages/inula-router/src/router/NavLink.tsx b/packages/inula-router/src/router/NavLink.tsx index 9a836e71..a4a9abcb 100644 --- a/packages/inula-router/src/router/NavLink.tsx +++ b/packages/inula-router/src/router/NavLink.tsx @@ -43,11 +43,13 @@ function NavLink

    (props: P) { const { pathname } = typeof toLocation === 'string' ? parsePath(toLocation) : toLocation; - const match = pathname ? matchPath(context.location.pathname, pathname, { - exact: exact, - strictMode: strict, - caseSensitive: sensitive, - }) : null; + const match = pathname + ? matchPath(context.location.pathname, pathname, { + exact: exact, + strictMode: strict, + caseSensitive: sensitive, + }) + : null; const isLinkActive = !!(isActive ? isActive(match, context.location) : match); diff --git a/packages/inula-router/src/router/Router.tsx b/packages/inula-router/src/router/Router.tsx index 1dcdf7e6..699af40c 100644 --- a/packages/inula-router/src/router/Router.tsx +++ b/packages/inula-router/src/router/Router.tsx @@ -72,7 +72,7 @@ function Router

    (props: P) { location: location, match: { isExact: location.pathname === '/', params: {}, path: '/', score: [], url: '/' }, }), - [location], + [location] ); return ; diff --git a/packages/inula-router/src/router/__tests__/router.test.tsx b/packages/inula-router/src/router/__tests__/router.test.tsx index b12edea7..eefaf5e9 100644 --- a/packages/inula-router/src/router/__tests__/router.test.tsx +++ b/packages/inula-router/src/router/__tests__/router.test.tsx @@ -21,13 +21,12 @@ import userEvent from '@testing-library/user-event'; import '@testing-library/jest-dom'; describe('Inula-router Test', () => { - it('Render app and Jump use ', async () => { const history = createBrowserHistory(); render( - , + ); const user = userEvent.setup(); expect(locationHook.pathname).toEqual('/'); @@ -47,7 +46,7 @@ describe('Inula-router Test', () => { render( - , + ); act(() => { @@ -72,7 +71,6 @@ describe('Inula-router Test', () => { }); expect(locationHook.pathname).toEqual('/test'); expect(screen.getByText(/No match/i)).toBeInTheDocument(); - }); it('Test Redirect', async () => { @@ -80,7 +78,7 @@ describe('Inula-router Test', () => { render( - , + ); act(() => { @@ -101,7 +99,7 @@ describe('Inula-router Test', () => { render( - , + ); act(() => { @@ -110,7 +108,6 @@ describe('Inula-router Test', () => { expect(locationHook.pathname).toEqual('/profile/123'); expect(screen.getByText(/Param is 123/i)).toBeInTheDocument(); - }); it('Test WithRouter', async () => { @@ -118,7 +115,7 @@ describe('Inula-router Test', () => { render( - , + ); act(() => { @@ -129,7 +126,6 @@ describe('Inula-router Test', () => { // 测试WithRouter是否正确注入Props expect(screen.getByText('withRoute Test, pathname--/testr')).toBeInTheDocument(); - }); it('Test Prompt', async () => { @@ -137,7 +133,7 @@ describe('Inula-router Test', () => { render( - , + ); const user = userEvent.setup(); @@ -154,7 +150,7 @@ describe('Inula-router Test', () => { render( - , + ); // 初次渲染重定向至User Index expect(screen.queryByText(/you are home/i)).toBeNull(); @@ -167,7 +163,7 @@ describe('Inula-router Test', () => { render( - , + ); // 初次渲染重定向至User Index expect(screen.queryByText(/you are home/i)).toBeNull(); diff --git a/packages/inula-router/src/router/__tests__/test_app.tsx b/packages/inula-router/src/router/__tests__/test_app.tsx index 0378faf8..5a362c65 100644 --- a/packages/inula-router/src/router/__tests__/test_app.tsx +++ b/packages/inula-router/src/router/__tests__/test_app.tsx @@ -53,24 +53,24 @@ export const Test_Demo = () => { return (

    - Home + Home - About + About - User + User - + - + - + - + - + - +
    No match
    } />
    @@ -82,11 +82,11 @@ export const Test_Demo = () => { export const Test_Demo2 = () => { return (
    - Home + Home - About + About - User + User { /> - + - + - +
    ); @@ -112,9 +112,9 @@ export const Test_Demo3 = () => { return (
    - - - + + +
    ); @@ -125,9 +125,9 @@ export const Test_Demo4 = () => { return (
    - - - + + +
    ); diff --git a/packages/inula-router/src/router/context.tsx b/packages/inula-router/src/router/context.tsx index 76c69c56..8b8ca034 100644 --- a/packages/inula-router/src/router/context.tsx +++ b/packages/inula-router/src/router/context.tsx @@ -31,4 +31,4 @@ export type RouterContextValue = { const RouterContext = createNamedContext('Router', {} as any); -export default RouterContext; \ No newline at end of file +export default RouterContext; diff --git a/packages/inula-router/src/router/index2.ts b/packages/inula-router/src/router/index2.ts index ea0025be..71703915 100644 --- a/packages/inula-router/src/router/index2.ts +++ b/packages/inula-router/src/router/index2.ts @@ -57,4 +57,4 @@ export type { RouteComponentProps, RouteChildrenProps, RouteProps } from './Rout export { connectRouter, routerMiddleware, push, go, replace } from '../connect-router'; export const ConnectedRouter = getConnectedRouter('Redux'); -export const ConnectedHRouter = getConnectedRouter('InulaXCompat'); \ No newline at end of file +export const ConnectedHRouter = getConnectedRouter('InulaXCompat'); diff --git a/packages/inula-router/src/router/matcher/__tests__/utils.test.ts b/packages/inula-router/src/router/matcher/__tests__/utils.test.ts index accc2771..962bb1f2 100644 --- a/packages/inula-router/src/router/matcher/__tests__/utils.test.ts +++ b/packages/inula-router/src/router/matcher/__tests__/utils.test.ts @@ -22,12 +22,12 @@ describe('test for utils', () => { expect(generated).toBe('/www.a.com/b/c'); }); - it('parse score compare1', function() { + it('parse score compare1', function () { const res = [[5], [10], [10, 5]].sort((a, b) => scoreCompare(a, b)); expect(res).toStrictEqual([[10, 5], [10], [5]]); }); - it('parse score compare2', function() { + it('parse score compare2', function () { const res = [[10], [10], [10, 5]].sort((a, b) => scoreCompare(a, b)); expect(res).toStrictEqual([[10, 5], [10], [10]]); }); diff --git a/packages/inula-router/src/router/matcher/parser.ts b/packages/inula-router/src/router/matcher/parser.ts index ea75e4e5..969228d7 100644 --- a/packages/inula-router/src/router/matcher/parser.ts +++ b/packages/inula-router/src/router/matcher/parser.ts @@ -116,11 +116,11 @@ export function createPathParser

    (pathname: string, option: ParserOp if (nextToken) { switch (nextToken.type) { case TokenType.LBracket: - // 跳过当前Token和左括号 - tokenIdx += 2; - while (tokens[tokenIdx].type !== TokenType.RBracket) { - paramRegexp += tokens[tokenIdx].value; - tokenIdx++; + // 跳过当前Token和左括号 + tokenIdx += 2; + while (tokens[tokenIdx].type !== TokenType.RBracket) { + paramRegexp += tokens[tokenIdx].value; + tokenIdx++; } paramRegexp = `(${paramRegexp})`; break; @@ -183,7 +183,7 @@ export function createPathParser

    (pathname: string, option: ParserOp parseScore.splice( scores.indexOf(MatchScore.placeholder), 1, - ...new Array(value.length).fill(MatchScore.wildcard), + ...new Array(value.length).fill(MatchScore.wildcard) ); } else { params[key] = param ? param : undefined; @@ -245,7 +245,7 @@ export function createPathParser

    (pathname: string, option: ParserOp export function matchPath

    ( pathname: string, pattern: string | string[], - option?: ParserOption, + option?: ParserOption ): Matched

    | null { const patterns = Array.isArray(pattern) ? [...pattern] : [pattern]; const matchedResults: Matched

    [] = []; @@ -262,4 +262,4 @@ export function matchPath

    ( export function generatePath

    (path: string, params: Params

    ) { const parser = createPathParser(path); return parser.compile(params); -} \ No newline at end of file +} diff --git a/packages/inula-router/src/router/matcher/types.ts b/packages/inula-router/src/router/matcher/types.ts index 9d64eda7..badd0a44 100644 --- a/packages/inula-router/src/router/matcher/types.ts +++ b/packages/inula-router/src/router/matcher/types.ts @@ -54,8 +54,8 @@ type ClearTailing = U extends `${infer L}/` ? ClearTailing type ParseParam = Param extends `:${infer R}` ? { - [K in R]: string; - } + [K in R]: string; + } : {}; type MergeParams, OtherParam extends Record> = { diff --git a/packages/inula-router/src/router/withRouter.tsx b/packages/inula-router/src/router/withRouter.tsx index 04c588c8..c07b50bb 100644 --- a/packages/inula-router/src/router/withRouter.tsx +++ b/packages/inula-router/src/router/withRouter.tsx @@ -18,7 +18,6 @@ import { useContext, ComponentType } from 'openinula'; import RouterContext from './context'; function withRouter(Component: C) { - function ComponentWithRouterProp(props: any) { const { wrappedComponentRef, ...rest } = props; const { history, location, match } = useContext(RouterContext); @@ -30,4 +29,4 @@ function withRouter(Component: C) { return ComponentWithRouterProp; } -export default withRouter; \ No newline at end of file +export default withRouter; diff --git a/packages/inula/scripts/__tests__/ActTest/act.test.js b/packages/inula/__tests__/ActTest/act.test.js similarity index 94% rename from packages/inula/scripts/__tests__/ActTest/act.test.js rename to packages/inula/__tests__/ActTest/act.test.js index 6b012c89..b93520d7 100644 --- a/packages/inula/scripts/__tests__/ActTest/act.test.js +++ b/packages/inula/__tests__/ActTest/act.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import Inula, { render, useState, act, useEffect } from '../../../src/index'; +import Inula, { render, useState, act, useEffect } from '../../src/index'; describe('Inula.act function Test', () => { it('The act can wait for the useEffect update to complete.', function () { diff --git a/packages/inula/scripts/__tests__/ComponentTest/ClassRefs.test.js b/packages/inula/__tests__/ComponentTest/ClassRefs.test.js similarity index 96% rename from packages/inula/scripts/__tests__/ComponentTest/ClassRefs.test.js rename to packages/inula/__tests__/ComponentTest/ClassRefs.test.js index 14c7db23..48018e20 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/ClassRefs.test.js +++ b/packages/inula/__tests__/ComponentTest/ClassRefs.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Class refs Test', () => { it('Parent can get Child instance by refs', function () { diff --git a/packages/inula/scripts/__tests__/ComponentTest/ComponentError.test.js b/packages/inula/__tests__/ComponentTest/ComponentError.test.js similarity index 97% rename from packages/inula/scripts/__tests__/ComponentTest/ComponentError.test.js rename to packages/inula/__tests__/ComponentTest/ComponentError.test.js index edee5d9c..9e57dee6 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/ComponentError.test.js +++ b/packages/inula/__tests__/ComponentTest/ComponentError.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('Component Error Test', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/Context.test.js b/packages/inula/__tests__/ComponentTest/Context.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/Context.test.js rename to packages/inula/__tests__/ComponentTest/Context.test.js index f6de0274..34384a66 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/Context.test.js +++ b/packages/inula/__tests__/ComponentTest/Context.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('Context Test', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/DiffAlgorithm.test.js b/packages/inula/__tests__/ComponentTest/DiffAlgorithm.test.js similarity index 96% rename from packages/inula/scripts/__tests__/ComponentTest/DiffAlgorithm.test.js rename to packages/inula/__tests__/ComponentTest/DiffAlgorithm.test.js index 54e102dc..4879bdcd 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/DiffAlgorithm.test.js +++ b/packages/inula/__tests__/ComponentTest/DiffAlgorithm.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Diff Algorithm', () => { it('null should diff correctly', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/ForwardRef.test.js b/packages/inula/__tests__/ComponentTest/ForwardRef.test.js similarity index 97% rename from packages/inula/scripts/__tests__/ComponentTest/ForwardRef.test.js rename to packages/inula/__tests__/ComponentTest/ForwardRef.test.js index 2e861595..213713ab 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/ForwardRef.test.js +++ b/packages/inula/__tests__/ComponentTest/ForwardRef.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('ForwardRef', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/FragmentComponent.test.js b/packages/inula/__tests__/ComponentTest/FragmentComponent.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/FragmentComponent.test.js rename to packages/inula/__tests__/ComponentTest/FragmentComponent.test.js index 6ac08b89..d17f947b 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/FragmentComponent.test.js +++ b/packages/inula/__tests__/ComponentTest/FragmentComponent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { Text } from '../jest/commonComponents'; import { getLogUtils } from '../jest/testUtils'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/FunctionComponent.test.js b/packages/inula/__tests__/ComponentTest/FunctionComponent.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/FunctionComponent.test.js rename to packages/inula/__tests__/ComponentTest/FunctionComponent.test.js index 0b5d18a8..3c156d06 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/FunctionComponent.test.js +++ b/packages/inula/__tests__/ComponentTest/FunctionComponent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('FunctionComponent Test', () => { it('渲染无状态组件', () => { const App = props => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseCallback.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseCallback.test.js similarity index 97% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseCallback.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseCallback.test.js index 5dc7a697..96c6b5a8 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseCallback.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseCallback.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; describe('useCallback Hook Test', () => { const { useState, useCallback } = Inula; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseContext.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseContext.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseContext.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseContext.test.js index e5db8cab..66abfbd0 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseContext.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseContext.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; describe('useContext Hook Test', () => { const { useState, useContext, createContext, act, unmountComponentAtNode } = Inula; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseEffect.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseEffect.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseEffect.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseEffect.test.js index a2699a3a..767f1891 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseEffect.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseEffect.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { getLogUtils } from '../../jest/testUtils'; import { Text } from '../../jest/commonComponents'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js index 3b80c679..2fa1504a 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseImperativeHandle.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { Text } from '../../jest/commonComponents'; import { getLogUtils } from '../../jest/testUtils'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js index 00a52813..c48122e0 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseLayoutEffect.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { getLogUtils } from '../../jest/testUtils'; import { Text } from '../../jest/commonComponents'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseMemo.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseMemo.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseMemo.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseMemo.test.js index 460efa9b..cbf0920f 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseMemo.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseMemo.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { getLogUtils } from '../../jest/testUtils'; import { Text } from '../../jest/commonComponents'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseReducer.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseReducer.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseReducer.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseReducer.test.js index e49842bd..75115151 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseReducer.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseReducer.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; describe('useReducer Hook Test', () => { const { useReducer } = Inula; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseRef.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseRef.test.js similarity index 97% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseRef.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseRef.test.js index 08c6ad69..3a1dedbc 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseRef.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseRef.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { getLogUtils } from '../../jest/testUtils'; import { Text } from '../../jest/commonComponents'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseState.test.js b/packages/inula/__tests__/ComponentTest/HookTest/UseState.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/HookTest/UseState.test.js rename to packages/inula/__tests__/ComponentTest/HookTest/UseState.test.js index 2602b711..cb785c4c 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/HookTest/UseState.test.js +++ b/packages/inula/__tests__/ComponentTest/HookTest/UseState.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { getLogUtils } from '../../jest/testUtils'; import { Text } from '../../jest/commonComponents'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/JsxElement.test.js b/packages/inula/__tests__/ComponentTest/JsxElement.test.js similarity index 96% rename from packages/inula/scripts/__tests__/ComponentTest/JsxElement.test.js rename to packages/inula/__tests__/ComponentTest/JsxElement.test.js index abf062c7..5712cb64 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/JsxElement.test.js +++ b/packages/inula/__tests__/ComponentTest/JsxElement.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('JSX Element test', () => { it('symbol attribute prevent cloneDeep unlimited loop', function () { diff --git a/packages/inula/scripts/__tests__/ComponentTest/LazyComponent.test.js b/packages/inula/__tests__/ComponentTest/LazyComponent.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/LazyComponent.test.js rename to packages/inula/__tests__/ComponentTest/LazyComponent.test.js index f9f340e0..1639ee4f 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/LazyComponent.test.js +++ b/packages/inula/__tests__/ComponentTest/LazyComponent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { Text } from '../jest/commonComponents'; import { getLogUtils } from '../jest/testUtils'; diff --git a/packages/inula/scripts/__tests__/ComponentTest/LifeCycle.test.js b/packages/inula/__tests__/ComponentTest/LifeCycle.test.js similarity index 99% rename from packages/inula/scripts/__tests__/ComponentTest/LifeCycle.test.js rename to packages/inula/__tests__/ComponentTest/LifeCycle.test.js index 9cda4374..5246dc50 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/LifeCycle.test.js +++ b/packages/inula/__tests__/ComponentTest/LifeCycle.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('LifeCycle Test', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/Memo.test.js b/packages/inula/__tests__/ComponentTest/Memo.test.js similarity index 96% rename from packages/inula/scripts/__tests__/ComponentTest/Memo.test.js rename to packages/inula/__tests__/ComponentTest/Memo.test.js index 8d29a315..f6c30af7 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/Memo.test.js +++ b/packages/inula/__tests__/ComponentTest/Memo.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Memo Test', () => { it('Memo should not make the path wrong', function () { diff --git a/packages/inula/scripts/__tests__/ComponentTest/PortalComponent.test.js b/packages/inula/__tests__/ComponentTest/PortalComponent.test.js similarity index 96% rename from packages/inula/scripts/__tests__/ComponentTest/PortalComponent.test.js rename to packages/inula/__tests__/ComponentTest/PortalComponent.test.js index 98e55340..79801e02 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/PortalComponent.test.js +++ b/packages/inula/__tests__/ComponentTest/PortalComponent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; import dispatchChangeEvent from '../utils/dispatchChangeEvent'; @@ -287,66 +287,65 @@ describe('PortalComponent Test', () => { expect(fn).toHaveBeenCalledTimes(1); }); - it('portal场景下,portal下元素点击事件冒泡到父元素', () => { class Dialog extends Inula.Component { node; - + constructor(props) { super(props); this.node = window.document.createElement('div'); window.document.body.appendChild(this.node); } - + render() { return Inula.createPortal(this.props.children, this.node); } } - + const fn = jest.fn(); const subRef = Inula.createRef(); - + function App() { return (

    -
    +
    ); } - + Inula.render(, container); Inula.act(() => { subRef.current.dispatchEvent(new Event('click', { bubbles: true })); }); expect(fn).toHaveBeenCalledTimes(1); }); - + it('portal嵌套场景下事件委托', () => { class Dialog extends Inula.Component { node; - + constructor(props) { super(props); this.node = window.document.createElement('div'); window.document.body.appendChild(this.node); } - + render() { return Inula.createPortal(this.props.children, this.node); } } - + const fn = jest.fn(); const inputRef = Inula.createRef(); let value = ''; - const onChange = (evt) => { + const onChange = evt => { value = evt.target.value; - } - + }; + let showSubPortal = () => {}; - + function App() { return (
    @@ -357,22 +356,21 @@ describe('PortalComponent Test', () => {
    ); } - + function Sub() { const [show, setShow] = Inula.useState(false); showSubPortal = setShow; return (
    - { - show && - - - - } + {show && ( + + + + )}
    - ) + ); } - + Inula.render(, container); Inula.act(() => { showSubPortal(true); diff --git a/packages/inula/scripts/__tests__/ComponentTest/StrictMode.test.js b/packages/inula/__tests__/ComponentTest/StrictMode.test.js similarity index 97% rename from packages/inula/scripts/__tests__/ComponentTest/StrictMode.test.js rename to packages/inula/__tests__/ComponentTest/StrictMode.test.js index a12fbed4..29f6f651 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/StrictMode.test.js +++ b/packages/inula/__tests__/ComponentTest/StrictMode.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('StrictMode Component test', () => { diff --git a/packages/inula/scripts/__tests__/ComponentTest/SuspenseComponent.test.js b/packages/inula/__tests__/ComponentTest/SuspenseComponent.test.js similarity index 98% rename from packages/inula/scripts/__tests__/ComponentTest/SuspenseComponent.test.js rename to packages/inula/__tests__/ComponentTest/SuspenseComponent.test.js index e3d5dfb1..cc79a86c 100644 --- a/packages/inula/scripts/__tests__/ComponentTest/SuspenseComponent.test.js +++ b/packages/inula/__tests__/ComponentTest/SuspenseComponent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { Text } from '../jest/commonComponents'; import { getLogUtils } from '../jest/testUtils'; diff --git a/packages/inula/scripts/__tests__/DomTest/Attribute.test.js b/packages/inula/__tests__/DomTest/Attribute.test.js similarity index 99% rename from packages/inula/scripts/__tests__/DomTest/Attribute.test.js rename to packages/inula/__tests__/DomTest/Attribute.test.js index 9c9b418a..27e5becb 100644 --- a/packages/inula/scripts/__tests__/DomTest/Attribute.test.js +++ b/packages/inula/__tests__/DomTest/Attribute.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Dom Attribute', () => { it('属性值为null或undefined时,不会设置此属性', () => { diff --git a/packages/inula/scripts/__tests__/DomTest/DomInput.test.js b/packages/inula/__tests__/DomTest/DomInput.test.js similarity index 99% rename from packages/inula/scripts/__tests__/DomTest/DomInput.test.js rename to packages/inula/__tests__/DomTest/DomInput.test.js index 2f237b16..4e96abfb 100644 --- a/packages/inula/scripts/__tests__/DomTest/DomInput.test.js +++ b/packages/inula/__tests__/DomTest/DomInput.test.js @@ -14,7 +14,7 @@ */ /* eslint-disable @typescript-eslint/no-empty-function */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('Dom Input', () => { diff --git a/packages/inula/scripts/__tests__/DomTest/DomSelect.test.js b/packages/inula/__tests__/DomTest/DomSelect.test.js similarity index 99% rename from packages/inula/scripts/__tests__/DomTest/DomSelect.test.js rename to packages/inula/__tests__/DomTest/DomSelect.test.js index 596a9225..a66adf5a 100644 --- a/packages/inula/scripts/__tests__/DomTest/DomSelect.test.js +++ b/packages/inula/__tests__/DomTest/DomSelect.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Dom Select', () => { it('设置value', () => { diff --git a/packages/inula/scripts/__tests__/DomTest/DomTextarea.test.js b/packages/inula/__tests__/DomTest/DomTextarea.test.js similarity index 99% rename from packages/inula/scripts/__tests__/DomTest/DomTextarea.test.js rename to packages/inula/__tests__/DomTest/DomTextarea.test.js index 7f793b01..fe071716 100644 --- a/packages/inula/scripts/__tests__/DomTest/DomTextarea.test.js +++ b/packages/inula/__tests__/DomTest/DomTextarea.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('Dom Textarea', () => { it('设置value', () => { diff --git a/packages/inula/scripts/__tests__/EventTest/EventMain.test.js b/packages/inula/__tests__/EventTest/EventMain.test.js similarity index 99% rename from packages/inula/scripts/__tests__/EventTest/EventMain.test.js rename to packages/inula/__tests__/EventTest/EventMain.test.js index c7bdcb74..62f914aa 100644 --- a/packages/inula/scripts/__tests__/EventTest/EventMain.test.js +++ b/packages/inula/__tests__/EventTest/EventMain.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import * as TestUtils from '../jest/testUtils'; function dispatchChangeEvent(input) { diff --git a/packages/inula/scripts/__tests__/EventTest/FocusEvent.test.js b/packages/inula/__tests__/EventTest/FocusEvent.test.js similarity index 97% rename from packages/inula/scripts/__tests__/EventTest/FocusEvent.test.js rename to packages/inula/__tests__/EventTest/FocusEvent.test.js index c201ad43..164f62b0 100644 --- a/packages/inula/scripts/__tests__/EventTest/FocusEvent.test.js +++ b/packages/inula/__tests__/EventTest/FocusEvent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('合成焦点事件', () => { diff --git a/packages/inula/scripts/__tests__/EventTest/KeyboardEvent.test.js b/packages/inula/__tests__/EventTest/KeyboardEvent.test.js similarity index 98% rename from packages/inula/scripts/__tests__/EventTest/KeyboardEvent.test.js rename to packages/inula/__tests__/EventTest/KeyboardEvent.test.js index 5a4780f8..9705622a 100644 --- a/packages/inula/scripts/__tests__/EventTest/KeyboardEvent.test.js +++ b/packages/inula/__tests__/EventTest/KeyboardEvent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('Keyboard Event', () => { diff --git a/packages/inula/scripts/__tests__/EventTest/MouseEnterEvent.test.js b/packages/inula/__tests__/EventTest/MouseEnterEvent.test.js similarity index 99% rename from packages/inula/scripts/__tests__/EventTest/MouseEnterEvent.test.js rename to packages/inula/__tests__/EventTest/MouseEnterEvent.test.js index 870cdbc1..cd24bf7f 100644 --- a/packages/inula/scripts/__tests__/EventTest/MouseEnterEvent.test.js +++ b/packages/inula/__tests__/EventTest/MouseEnterEvent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; describe('mouseenter和mouseleave事件测试', () => { let container; diff --git a/packages/inula/scripts/__tests__/EventTest/MouseEvent.test.js b/packages/inula/__tests__/EventTest/MouseEvent.test.js similarity index 99% rename from packages/inula/scripts/__tests__/EventTest/MouseEvent.test.js rename to packages/inula/__tests__/EventTest/MouseEvent.test.js index a840c3d4..166a0e97 100644 --- a/packages/inula/scripts/__tests__/EventTest/MouseEvent.test.js +++ b/packages/inula/__tests__/EventTest/MouseEvent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('MouseEvent Test', () => { diff --git a/packages/inula/scripts/__tests__/EventTest/WheelEvent.test.js b/packages/inula/__tests__/EventTest/WheelEvent.test.js similarity index 97% rename from packages/inula/scripts/__tests__/EventTest/WheelEvent.test.js rename to packages/inula/__tests__/EventTest/WheelEvent.test.js index 02b404a1..a1564ad8 100644 --- a/packages/inula/scripts/__tests__/EventTest/WheelEvent.test.js +++ b/packages/inula/__tests__/EventTest/WheelEvent.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from '../jest/testUtils'; describe('合成滚轮事件', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateArray.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateArray.test.tsx similarity index 97% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateArray.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateArray.test.tsx index 065fdfd6..e6a31157 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateArray.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateArray.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMap.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateMap.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMap.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateMap.test.tsx index fc81b61b..4ba65c8d 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMap.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateMap.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx similarity index 96% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx index 413969af..c68d85a2 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateMixType.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; describe('测试store中的混合类型变化', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateSet.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateSet.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateSet.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateSet.test.tsx index 0fc657f9..0ee53b30 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateSet.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateSet.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx similarity index 96% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx index 2cccd515..433f51aa 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateWeakMap.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx b/packages/inula/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx similarity index 95% rename from packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx rename to packages/inula/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx index 6e2f322f..a8177f51 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StateManager/StateWeakSet.test.tsx @@ -14,9 +14,9 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx similarity index 95% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx index 157dea0c..7f6dabfc 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/async.test.tsx @@ -14,8 +14,8 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; -import { createStore } from '../../../../src/inulax/store/StoreHandler'; +import * as Inula from '../../../src/index'; +import { createStore } from '../../../src/inulax/store/StoreHandler'; import { triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx similarity index 97% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx index e12de714..ea20c510 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/basicAccess.test.tsx @@ -14,11 +14,11 @@ */ //@ts-ignore -import Inula from '../../../../src/index'; +import Inula from '../../../src/index'; import { triggerClickEvent } from '../../jest/commonComponents'; import { useLogStore } from './store'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; -import { createStore } from '../../../../src/inulax/store/StoreHandler'; +import { createStore } from '../../../src/inulax/store/StoreHandler'; const { unmountComponentAtNode } = Inula; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js similarity index 94% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js index 340bd488..efbdc267 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/cloneDeep.test.js @@ -13,9 +13,9 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; -import { OBSERVER_KEY } from '../../../../src/inulax/Constants'; +import * as Inula from '../../../src/index'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; +import { OBSERVER_KEY } from '../../../src/inulax/Constants'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; describe('测试对store.state对象进行深度克隆', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx similarity index 97% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx index 61edc1d7..09a97ea8 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/dollarAccess.test.tsx @@ -14,7 +14,7 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { triggerClickEvent } from '../../jest/commonComponents'; import { useLogStore } from './store'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx similarity index 97% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx index b2ebc57e..967889c3 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/otherCases.test.tsx @@ -14,8 +14,8 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; -import { createStore } from '../../../../src/inulax/store/StoreHandler'; +import * as Inula from '../../../src/index'; +import { createStore } from '../../../src/inulax/store/StoreHandler'; import { triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/reset.js b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/reset.js similarity index 95% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/reset.js rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/reset.js index 828a856e..ead8c0b8 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/reset.js +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/reset.js @@ -13,8 +13,8 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; -import { createStore } from '../../../../src/inulax/store/StoreHandler'; +import * as Inula from '../../../src/index'; +import { createStore } from '../../../src/inulax/store/StoreHandler'; import { triggerClickEvent } from '../../jest/commonComponents'; const { unmountComponentAtNode } = Inula; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/store.ts b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/store.ts similarity index 93% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/store.ts rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/store.ts index be33234c..2f2bfcae 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/store.ts +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/store.ts @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { createStore } from '../../../../src/inulax/store/StoreHandler'; +import { createStore } from '../../../src/inulax/store/StoreHandler'; export const useLogStore = createStore({ id: 'logStore', // you do not need to specify ID for local store diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/utils.test.js b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/utils.test.js similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/utils.test.js rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/utils.test.js index 1d544784..de3abb64 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/utils.test.js +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/utils.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { resolveMutation } from '../../../../src/inulax/CommonUtils'; +import { resolveMutation } from '../../../src/inulax/CommonUtils'; describe('Mutation resolve', () => { it('should resolve mutation different types', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx similarity index 96% rename from packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx rename to packages/inula/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx index f63c2ff3..9912624d 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/StoreFunctionality/watch.test.tsx @@ -13,8 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { createStore } from '../../../../src/index'; -import { watch } from '../../../../src/index'; +import { createStore, watch } from '../../../src/index'; describe('watch', () => { it('shouhld watch primitive state variable', async () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx b/packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx similarity index 97% rename from packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx rename to packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx index 499be389..7e343c94 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapter.test.tsx @@ -14,13 +14,8 @@ */ // @ts-ignore -import * as Inula from '../../../../src/index'; -import { - createStore, - applyMiddleware, - combineReducers, - bindActionCreators, -} from '../../../../src/inulax/adapters/redux'; +import * as Inula from '../../../src/index'; +import { createStore, applyMiddleware, combineReducers, bindActionCreators } from '../../../src/inulax/adapters/redux'; import { describe, it, expect } from '@jest/globals'; describe('Redux adapter', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx b/packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx similarity index 91% rename from packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx rename to packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx index 559e159f..7b34ea67 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/adapters/ReduxAdapterThunk.test.tsx @@ -13,8 +13,8 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; -import { createStore, applyMiddleware, thunk } from '../../../../src/inulax/adapters/redux'; +import * as Inula from '../../../src/index'; +import { createStore, applyMiddleware, thunk } from '../../../src/inulax/adapters/redux'; import { describe, it, expect } from '@jest/globals'; describe('Redux thunk', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx b/packages/inula/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx rename to packages/inula/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx index 9c284bd3..b03ea1f5 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/adapters/ReduxReactAdapter.test.tsx @@ -14,7 +14,7 @@ */ //@ts-ignore -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import { batch, connect, @@ -25,10 +25,10 @@ import { useStore, createSelectorHook, createDispatchHook, -} from '../../../../src/inulax/adapters/redux'; +} from '../../../src/inulax/adapters/redux'; import { triggerClickEvent } from '../../jest/commonComponents'; import { describe, it, beforeEach, afterEach, expect } from '@jest/globals'; -import { ReduxStoreHandler } from '../../../../src/inulax/adapters/redux'; +import { ReduxStoreHandler } from '../../../src/inulax/adapters/redux'; const BUTTON = 'button'; const BUTTON2 = 'button2'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/adapters/connectTest.tsx b/packages/inula/__tests__/HorizonXTest/adapters/connectTest.tsx similarity index 83% rename from packages/inula/scripts/__tests__/HorizonXTest/adapters/connectTest.tsx rename to packages/inula/__tests__/HorizonXTest/adapters/connectTest.tsx index 408de658..1683d74e 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/adapters/connectTest.tsx +++ b/packages/inula/__tests__/HorizonXTest/adapters/connectTest.tsx @@ -13,10 +13,10 @@ * See the Mulan PSL v2 for more details. */ -import { createElement } from '../../../../src/external/JSXElement'; -import { createDomTextVNode } from '../../../../src/renderer/vnode/VNodeCreator'; -import { createStore } from '../../../../src/inulax/adapters/redux'; -import { connect } from '../../../../src/inulax/adapters/reduxReact'; +import { createElement } from '../../../src/external/JSXElement'; +import { createDomTextVNode } from '../../../src/renderer/vnode/VNodeCreator'; +import { createStore } from '../../../src/inulax/adapters/redux'; +import { connect } from '../../../src/inulax/adapters/reduxReact'; createStore((state: number = 0, action): number => { if (action.type === 'add') return state + 1; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassException.test.tsx b/packages/inula/__tests__/HorizonXTest/class/ClassException.test.tsx similarity index 92% rename from packages/inula/scripts/__tests__/HorizonXTest/class/ClassException.test.tsx rename to packages/inula/__tests__/HorizonXTest/class/ClassException.test.tsx index eb198e0d..b1b6fdb5 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassException.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/class/ClassException.test.tsx @@ -13,11 +13,11 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { Text, triggerClickEvent } from '../../jest/commonComponents'; -import { getObserver } from '../../../../src/inulax/proxy/ProxyHandler'; +import { getObserver } from '../../../src/inulax/proxy/ProxyHandler'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; describe('测试 Class VNode 清除时,对引用清除', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateArray.test.tsx b/packages/inula/__tests__/HorizonXTest/class/ClassStateArray.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateArray.test.tsx rename to packages/inula/__tests__/HorizonXTest/class/ClassStateArray.test.tsx index 7dd050c3..4a264aae 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateArray.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/class/ClassStateArray.test.tsx @@ -13,9 +13,9 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateMap.test.tsx b/packages/inula/__tests__/HorizonXTest/class/ClassStateMap.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateMap.test.tsx rename to packages/inula/__tests__/HorizonXTest/class/ClassStateMap.test.tsx index 77ec76f2..184ae362 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/class/ClassStateMap.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/class/ClassStateMap.test.tsx @@ -13,9 +13,9 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { App, Text, triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx b/packages/inula/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx similarity index 94% rename from packages/inula/scripts/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx rename to packages/inula/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx index 66a5c1de..de2c5b74 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/clear/ClassVNodeClear.test.tsx @@ -13,11 +13,11 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { Text, triggerClickEvent } from '../../jest/commonComponents'; -import { getObserver } from '../../../../src/inulax/proxy/ProxyHandler'; +import { getObserver } from '../../../src/inulax/proxy/ProxyHandler'; import { describe, it, beforeEach, afterEach, expect } from '@jest/globals'; describe('测试 Class VNode 清除时,对引用清除', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx b/packages/inula/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx similarity index 94% rename from packages/inula/scripts/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx rename to packages/inula/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx index e5ea1d35..06679e60 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/clear/FunctionVNodeClear.test.tsx @@ -13,11 +13,11 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../../src/index'; +import * as Inula from '../../../src/index'; import * as LogUtils from '../../jest/logUtils'; -import { clearStore, createStore, useStore } from '../../../../src/inulax/store/StoreHandler'; +import { clearStore, createStore, useStore } from '../../../src/inulax/store/StoreHandler'; import { Text, triggerClickEvent } from '../../jest/commonComponents'; -import { getObserver } from '../../../../src/inulax/proxy/ProxyHandler'; +import { getObserver } from '../../../src/inulax/proxy/ProxyHandler'; import { describe, it, beforeEach, afterEach, expect } from '@jest/globals'; describe('测试VNode清除时,对引用清除', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx b/packages/inula/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx rename to packages/inula/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx index 3853adaa..5626b99a 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/edgeCases/deepVariableObserver.test.tsx @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { createStore, useStore } from '../../../../src/index'; +import { createStore, useStore } from '../../../src/index'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; describe('Using deep variables', () => { diff --git a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx b/packages/inula/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx similarity index 98% rename from packages/inula/scripts/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx rename to packages/inula/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx index 17ec7b19..1ea8f786 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/edgeCases/multipleStores.test.tsx @@ -14,7 +14,7 @@ */ //@ts-ignore -import Inula, { createStore } from '../../../../src/index'; +import Inula, { createStore } from '../../../src/index'; import { triggerClickEvent } from '../../jest/commonComponents'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; diff --git a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/proxy.test.tsx b/packages/inula/__tests__/HorizonXTest/edgeCases/proxy.test.tsx similarity index 91% rename from packages/inula/scripts/__tests__/HorizonXTest/edgeCases/proxy.test.tsx rename to packages/inula/__tests__/HorizonXTest/edgeCases/proxy.test.tsx index 43c12d82..0e3c6c89 100644 --- a/packages/inula/scripts/__tests__/HorizonXTest/edgeCases/proxy.test.tsx +++ b/packages/inula/__tests__/HorizonXTest/edgeCases/proxy.test.tsx @@ -13,8 +13,8 @@ * See the Mulan PSL v2 for more details. */ -import { createProxy } from '../../../../src/inulax/proxy/ProxyHandler'; -import { readonlyProxy } from '../../../../src/inulax/proxy/readonlyProxy'; +import { createProxy } from '../../../src/inulax/proxy/ProxyHandler'; +import { readonlyProxy } from '../../../src/inulax/proxy/readonlyProxy'; import { describe, beforeEach, afterEach, it, expect } from '@jest/globals'; describe('Proxy', () => { diff --git a/packages/inula/scripts/__tests__/InulaIsTest/index.test.js b/packages/inula/__tests__/InulaIsTest/index.test.js similarity index 98% rename from packages/inula/scripts/__tests__/InulaIsTest/index.test.js rename to packages/inula/__tests__/InulaIsTest/index.test.js index e6d94933..a7b515fd 100644 --- a/packages/inula/scripts/__tests__/InulaIsTest/index.test.js +++ b/packages/inula/__tests__/InulaIsTest/index.test.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; function App() { return <>; diff --git a/packages/inula/scripts/__tests__/jest/commonComponents.js b/packages/inula/__tests__/jest/commonComponents.js similarity index 96% rename from packages/inula/scripts/__tests__/jest/commonComponents.js rename to packages/inula/__tests__/jest/commonComponents.js index 1c077786..def57a0b 100644 --- a/packages/inula/scripts/__tests__/jest/commonComponents.js +++ b/packages/inula/__tests__/jest/commonComponents.js @@ -14,7 +14,7 @@ */ // eslint-disable-next-line @typescript-eslint/no-unused-vars -import * as Inula from '../../../src/index'; +import * as Inula from '../../src/index'; import { getLogUtils } from './testUtils'; export const App = props => { diff --git a/packages/inula/scripts/__tests__/jest/jestEnvironment.js b/packages/inula/__tests__/jest/jestEnvironment.js similarity index 92% rename from packages/inula/scripts/__tests__/jest/jestEnvironment.js rename to packages/inula/__tests__/jest/jestEnvironment.js index e62beb55..6dc1f1ad 100644 --- a/packages/inula/scripts/__tests__/jest/jestEnvironment.js +++ b/packages/inula/__tests__/jest/jestEnvironment.js @@ -20,4 +20,4 @@ global.MessageChannel = function MessageChannel() { postMessage() {}, }; }; -global.__VERSION__ = require('../../../package.json').version; +global.__VERSION__ = require('../../package.json').version; diff --git a/packages/inula/scripts/__tests__/jest/jestSetting.js b/packages/inula/__tests__/jest/jestSetting.js similarity index 95% rename from packages/inula/scripts/__tests__/jest/jestSetting.js rename to packages/inula/__tests__/jest/jestSetting.js index 12eea3ba..93447142 100644 --- a/packages/inula/scripts/__tests__/jest/jestSetting.js +++ b/packages/inula/__tests__/jest/jestSetting.js @@ -13,7 +13,7 @@ * See the Mulan PSL v2 for more details. */ -import { unmountComponentAtNode } from '../../../src/dom/DOMExternal'; +import { unmountComponentAtNode } from '../../src/dom/DOMExternal'; import { getLogUtils } from './testUtils'; const LogUtils = getLogUtils(); diff --git a/packages/inula/scripts/__tests__/jest/logUtils.js b/packages/inula/__tests__/jest/logUtils.js similarity index 100% rename from packages/inula/scripts/__tests__/jest/logUtils.js rename to packages/inula/__tests__/jest/logUtils.js diff --git a/packages/inula/scripts/__tests__/jest/testUtils.js b/packages/inula/__tests__/jest/testUtils.js similarity index 100% rename from packages/inula/scripts/__tests__/jest/testUtils.js rename to packages/inula/__tests__/jest/testUtils.js diff --git a/packages/inula/scripts/__tests__/utils/dispatchChangeEvent.js b/packages/inula/__tests__/utils/dispatchChangeEvent.js similarity index 100% rename from packages/inula/scripts/__tests__/utils/dispatchChangeEvent.js rename to packages/inula/__tests__/utils/dispatchChangeEvent.js diff --git a/packages/inula/jest.config.js b/packages/inula/jest.config.js index 87f24bf7..884a8a8b 100644 --- a/packages/inula/jest.config.js +++ b/packages/inula/jest.config.js @@ -19,17 +19,17 @@ module.exports = { rootDir: process.cwd(), - setupFiles: [require.resolve('./scripts/__tests__/jest/jestEnvironment.js')], + setupFiles: [require.resolve('./__tests__/jest/jestEnvironment.js')], - setupFilesAfterEnv: [require.resolve('./scripts/__tests__/jest/jestSetting.js')], + setupFilesAfterEnv: [require.resolve('./__tests__/jest/jestSetting.js')], testEnvironment: 'jest-environment-jsdom-sixteen', testMatch: [ // '/scripts/__tests__/InulaXTest/edgeCases/deepVariableObserver.test.tsx', // '/scripts/__tests__/InulaXTest/StateManager/StateMap.test.tsx', - '/scripts/__tests__/**/*.test.js', - '/scripts/__tests__/**/*.test.tsx', + '/__tests__/**/*.test.js', + '/__tests__/**/*.test.tsx', ], timers: 'fake', diff --git a/packages/inula/scripts/rollup/rollup.config.js b/packages/inula/scripts/rollup/rollup.config.js index 45ee6f67..0e2a314d 100644 --- a/packages/inula/scripts/rollup/rollup.config.js +++ b/packages/inula/scripts/rollup/rollup.config.js @@ -95,7 +95,7 @@ function genConfig(mode) { { from: path.join(libDir, '/npm/index.js'), to: path.join(outDir, 'index.js'), - } + }, ]), ], }; diff --git a/packages/inula/src/dom/SelectionRangeHandler.ts b/packages/inula/src/dom/SelectionRangeHandler.ts index e7769821..12e605a7 100644 --- a/packages/inula/src/dom/SelectionRangeHandler.ts +++ b/packages/inula/src/dom/SelectionRangeHandler.ts @@ -21,9 +21,9 @@ import { getIFrameFocusedDom, isText } from './utils/Common'; import { isElement } from './utils/Common'; type SelectionRange = { - start: number | null, - end: number | null -} + start: number | null; + end: number | null; +}; /** * 设置聚焦的 textarea 或 input 节点的选择范围 diff --git a/packages/inula/src/event/EventHub.ts b/packages/inula/src/event/EventHub.ts index 0dc01c50..22ac214b 100644 --- a/packages/inula/src/event/EventHub.ts +++ b/packages/inula/src/event/EventHub.ts @@ -21,7 +21,15 @@ export const allDelegatedInulaEvents = new Map(); * 例如:parent vNode节点绑定了mousedown事件,子节点为portal节点,子节点下元素未绑定mousedown事件 * 此时,点击portal下子元素,mousedown事件无法冒泡到parentNode */ -export const portalDefaultDelegatedEvents = ['onMouseDown', 'onMouseUp', 'onKeyDown', 'onKeyUp', 'onFocus', 'onBlur', 'onClick']; +export const portalDefaultDelegatedEvents = [ + 'onMouseDown', + 'onMouseUp', + 'onKeyDown', + 'onKeyUp', + 'onFocus', + 'onBlur', + 'onClick', +]; // 模拟委托事件,不冒泡事件需要利用其他事件来触发冒泡过程 export const simulatedDelegatedEvents = ['onMouseEnter', 'onMouseLeave']; diff --git a/packages/inula/src/event/MouseEvent.ts b/packages/inula/src/event/MouseEvent.ts index 7f514b83..df0006c8 100644 --- a/packages/inula/src/event/MouseEvent.ts +++ b/packages/inula/src/event/MouseEvent.ts @@ -100,7 +100,6 @@ export function getMouseEnterListeners( nativeEvent: MouseEvent, nativeEventTarget: null | EventTarget ): ListenerUnitList { - if (domEventName === 'mouseover') { // 如果 related 节点是 openInula 框架管理的,那么在 out 事件节点已经触发过 mouseEnter 或者 mouseLeave 事件了,不需要 over 事件再次触发 // IE 通过 fromElement 属性获取失去焦点的 DOM 节点 diff --git a/packages/inula/src/inulax/adapters/reduxReact.ts b/packages/inula/src/inulax/adapters/reduxReact.ts index 2b5a9dae..4209492d 100644 --- a/packages/inula/src/inulax/adapters/reduxReact.ts +++ b/packages/inula/src/inulax/adapters/reduxReact.ts @@ -93,17 +93,17 @@ type ConnectOption = { areStatesEqual?: (oldState: State, newState: State) => boolean; context?: Context; forwardRef?: boolean; -} +}; export function connect( - mapStateToProps: MapStateToPropsP = () => ({} as StateProps), - mapDispatchToProps: MapDispatchToPropsP = () => ({} as DispatchProps), + mapStateToProps: MapStateToPropsP = () => ({}) as StateProps, + mapDispatchToProps: MapDispatchToPropsP = () => ({}) as DispatchProps, mergeProps: MergePropsP = ( stateProps, dispatchProps, ownProps - ): MergedProps => ({ ...stateProps, ...dispatchProps, ...ownProps } as unknown as MergedProps), - options: ConnectOption = {}, + ): MergedProps => ({ ...stateProps, ...dispatchProps, ...ownProps }) as unknown as MergedProps, + options: ConnectOption = {} ): Connector { //this component should bear the type returned from mapping functions return (Component: OriginalComponent): WrappedComponent => { diff --git a/packages/inula/src/inulax/types.ts b/packages/inula/src/inulax/types.ts index 4826426b..3dfb0a66 100644 --- a/packages/inula/src/inulax/types.ts +++ b/packages/inula/src/inulax/types.ts @@ -75,8 +75,8 @@ export type PlannedAction> = { type RemoveFirstFromTuple = T['length'] extends 0 ? [] : ((...b: T) => void) extends (a, ...b: infer I) => void - ? I - : []; + ? I + : []; export type UserComputedValues = { [K: string]: ComputedFunction; diff --git a/packages/inula/src/renderer/taskExecutor/BrowserAsync.ts b/packages/inula/src/renderer/taskExecutor/BrowserAsync.ts index c127b2ce..7d74b0f5 100644 --- a/packages/inula/src/renderer/taskExecutor/BrowserAsync.ts +++ b/packages/inula/src/renderer/taskExecutor/BrowserAsync.ts @@ -19,8 +19,8 @@ let isMessageLoopRunning = false; let browserCallback = null; -let port1: MessagePort |null = null; -let port2: MessagePort |null = null; +let port1: MessagePort | null = null; +let port2: MessagePort | null = null; let isTestRuntime = false; export function isOverTime() { diff --git a/packages/inula/src/renderer/vnode/VNodeCreator.ts b/packages/inula/src/renderer/vnode/VNodeCreator.ts index 55ee5247..142bac33 100644 --- a/packages/inula/src/renderer/vnode/VNodeCreator.ts +++ b/packages/inula/src/renderer/vnode/VNodeCreator.ts @@ -74,7 +74,7 @@ export function getLazyVNodeTag(lazyComp: any): string { } else if (lazyComp !== undefined && lazyComp !== null && typeLazyMap[lazyComp.vtype]) { return typeLazyMap[lazyComp.vtype]; } - throw Error('Inula can\'t resolve the content of lazy'); + throw Error("Inula can't resolve the content of lazy"); } // 创建processing diff --git a/packages/inula/src/types.ts b/packages/inula/src/types.ts index 7f31c7f3..cd42165a 100644 --- a/packages/inula/src/types.ts +++ b/packages/inula/src/types.ts @@ -26,7 +26,7 @@ export type Key = string | number; export interface InulaElement< P = any, - T extends string | JSXElementConstructor = string | JSXElementConstructor + T extends string | JSXElementConstructor = string | JSXElementConstructor, > { type: T; props: P; @@ -49,15 +49,7 @@ export type InulaFragment = Iterable; export type ComponentState = any; -export type InulaNode = - | string - | number - | null - | boolean - | undefined - | InulaElement - | InulaFragment - | InulaPortal; +export type InulaNode = string | number | null | boolean | undefined | InulaElement | InulaFragment | InulaPortal; export interface ExoticComponent

    { (props: P): InulaElement | null;