Skip to content

Commit

Permalink
feat: add initState and fix for mfsu
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaohuoni committed Dec 1, 2022
1 parent dbf72b0 commit 4678f8b
Show file tree
Hide file tree
Showing 39 changed files with 501 additions and 323 deletions.
1 change: 1 addition & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"@examples/alita2",
"@examples/boilerplate",
"@examples/helmet",
"@examples/state",
"@examples/boilerplate",
"@example/lint",
"@examples/helmet",
Expand Down
8 changes: 8 additions & 0 deletions .changeset/dull-avocados-check.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'alita': patch
'@alita/native': patch
'@alita/plugin-lowcode': patch
'@alita/plugins': patch
---

chore: update umi
5 changes: 5 additions & 0 deletions .changeset/perfect-otters-reflect.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'alita': patch
---

feat: add initialState
5 changes: 5 additions & 0 deletions .changeset/silver-kangaroos-obey.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'@alita/plugins': patch
---

fix: plugins no run when mfsu
2 changes: 0 additions & 2 deletions examples/boilerplate/config/config.cloud.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,5 @@ export default {
},
mobileLayout: true,
polyfill: false,
// mainPath:'users',
mfsu: {},
hash: false,
};
2 changes: 1 addition & 1 deletion examples/boilerplate/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export default defineConfig({
mobileLayout: true,
legacyBuild: false,
// mainPath:'users',
mfsu: {},
mfsu: false,
hash: false,
reactRouter5Compat: {},
exportStatic: {},
Expand Down
6 changes: 6 additions & 0 deletions examples/boilerplate/src/pages/index/index.less
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
.title {
font-size: 30px;
:global {
.adm-button{
font-size: 30px
}
}
}

.adm-button{
font-size: 30px
}
34 changes: 18 additions & 16 deletions examples/boilerplate/src/pages/index/index.tsx
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
import { Button } from 'antd-mobile';
import React, { useState } from 'react';
import styles from './index.less';
export default (props) => {
console.log(props);
export default () => {
const [count, setCount] = useState(0);
return (
<div className={styles['adm-button']}>
Hello 123
{Math.random()}
<Button
type="button"
color="primary"
fill="solid"
block
size="large"
onClick={() => setCount(count + 1)}
>
点我计数加1134 {count}
</Button>
</div>
<>
<div className={styles['adm-button']}>antd mobile</div>
<div className={styles['title']}>
Hello 123
{Math.random()}
<Button
type="button"
color="primary"
fill="solid"
block
size="large"
onClick={() => setCount(count + 1)}
>
点我计数加1134 {count}
</Button>
</div>
</>
);
};
5 changes: 5 additions & 0 deletions examples/init-state/config/config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { defineConfig } from 'alita';

export default defineConfig({
initialState: {},
});
5 changes: 5 additions & 0 deletions examples/init-state/mock/app.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export default {
'/api/hello': {
text: 'Alita',
},
};
12 changes: 12 additions & 0 deletions examples/init-state/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"name": "@examples/state",
"private": true,
"scripts": {
"dev": "alita dev",
"build": "ANALYZE=1 alita build",
"start": "npm run dev"
},
"dependencies": {
"alita": "3.2.6"
}
}
26 changes: 26 additions & 0 deletions examples/init-state/src/app.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import { query } from '@/services/api';

const middleware = async (ctx, next: () => void) => {
console.log(ctx);
// 可以在这写一些请求前做的事情 操作ctx.req
await next();

// 可以在这里对响应数据做一些操作 操作ctx.res
};

export const request = {
prefix: '/api',
method: 'get',
middlewares: [middleware],
errorHandler: (error) => {
// 集中处理错误
console.log(11111111);
console.log(error);
},
};

export async function getInitialState() {
const initialData = await query();
console.log(initialData);
return initialData;
}
7 changes: 7 additions & 0 deletions examples/init-state/src/pages/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { useModel } from 'alita';

export default () => {
const { initialState, loading, error, refresh, setInitialState } =
useModel('@@initialState');
return <>{JSON.stringify(initialState)}</>;
};
5 changes: 5 additions & 0 deletions examples/init-state/src/services/api.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import { request } from '@@/plugin-request';

export async function query(): Promise<any> {
return request('/hello');
}
3 changes: 3 additions & 0 deletions examples/init-state/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "./src/.umi/tsconfig.json"
}
1 change: 1 addition & 0 deletions examples/init-state/typings.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import 'umi/typings';
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,8 @@
"@types/react-dom": "^18.0.5",
"@types/resolve": "^1.20.2",
"@types/rimraf": "3.0.2",
"@umijs/plugin-docs": "4.0.32",
"@umijs/utils": "4.0.32",
"@umijs/plugin-docs": "4.0.34",
"@umijs/utils": "4.0.34",
"@vercel/ncc": "0.33.3",
"all-contributors-cli": "^6.20.4",
"core-js": "3.19.2",
Expand Down Expand Up @@ -83,7 +83,7 @@
"turbo": "^1.3.1",
"typescript": "^4.7.2",
"uglify-js": "^3.15.4",
"umi": "4.0.32",
"umi": "4.0.34",
"umi-scripts": "workspace:*",
"yorkie": "^2.0.0",
"zx": "^4.3.0"
Expand Down
12 changes: 6 additions & 6 deletions packages/alita/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@
"@alita/types": "3.1.0",
"@alita/native": "3.2.1",
"@alita/plugins": "3.2.3",
"@umijs/core": "4.0.32",
"@umijs/bundler-webpack": "4.0.32",
"@umijs/babel-preset-umi": "4.0.32",
"@umijs/preset-umi": "4.0.32",
"@umijs/utils": "4.0.32",
"@umijs/core": "4.0.34",
"@umijs/bundler-webpack": "4.0.34",
"@umijs/babel-preset-umi": "4.0.34",
"@umijs/preset-umi": "4.0.34",
"@umijs/utils": "4.0.34",
"qrcode-terminal": "^0.12.0",
"umi": "4.0.32",
"umi": "4.0.34",
"v8-compile-cache": "^2.3.0",
"eslint": "8.15.0",
"stylelint": "14.8.2"
Expand Down
6 changes: 6 additions & 0 deletions packages/alita/src/features/config/alitaconfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,12 @@ export default (api: IApi) => {
],
};
}
api.modifyAppData((memo) => {
memo.umi.name = 'Alita';
memo.umi.importSource = 'alita';
memo.umi.cliName = 'alita';
return memo;
});
api.modifyConfig((memo: any) => {
memo.alias.alita = 'umi';
Object.keys(configDefaults).forEach((key) => {
Expand Down
7 changes: 6 additions & 1 deletion packages/alita/src/preset.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,12 @@ export default (api: IApi) => {

// 增加国际化需求
if (api.userConfig.locale) {
plugins.push(require.resolve('@alita/plugins/dist/locale'));
plugins.push(require.resolve('@alita/plugins/dist/max/locale'));
}
// 增加初始化数据
if (api.userConfig.initialState) {
// initial-state 需要在 model 之前加载
plugins.unshift(require.resolve('@alita/plugins/dist/max/initial-state'));
}

// 记忆偏差修正,umi 中没有这个功能。
Expand Down
2 changes: 1 addition & 1 deletion packages/native/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
},
"dependencies": {
"@alita/types": "3.1.0",
"@umijs/utils": "4.0.32"
"@umijs/utils": "4.0.34"
},
"license": "MIT"
}
2 changes: 1 addition & 1 deletion packages/plugin-lowcode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,6 @@
},
"dependencies": {
"@alita/types": "3.1.0",
"@umijs/utils": "4.0.32"
"@umijs/utils": "4.0.34"
}
}
6 changes: 3 additions & 3 deletions packages/plugins/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@
"@alita/inspx": "0.0.2",
"@alita/request": "3.1.0",
"@alita/types": "3.1.0",
"@umijs/bundler-utils": "4.0.32",
"@umijs/plugins": "4.0.32",
"@umijs/utils": "4.0.32",
"@umijs/bundler-utils": "4.0.34",
"@umijs/plugins": "4.0.34",
"@umijs/utils": "4.0.34",
"ahooks": "^3.0.8",
"antd-mobile-alita": "^2.3.4",
"antd-mobile-icons": "^0.2.2",
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/aconsole.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export default (api: AlitaApi) => {
});

// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using AConsole Plugin');
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/antd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ export default (api: AlitaApi) => {
});

// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.modifyAppData((memo) => {
const version = require(`${pkgPath}/package.json`).version;
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/antdmobile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { checkAntdMobile } from './utils/checkAntdMobile';
*/
export default (api: AlitaApi) => {
// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Antd Mobile Plugin');
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/classnames.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { dirname } from 'path';

export default (api: AlitaApi) => {
// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using ClassNames Plugin');
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/dva.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ export default (api: AlitaApi) => {
api.addRuntimePluginKey(() => ['dva']);

// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Dva Plugin');
Expand Down
4 changes: 2 additions & 2 deletions packages/plugins/src/hd.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default (api: AlitaApi) => {
enableBy,
});
// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using HD Plugin');
Expand All @@ -44,7 +44,7 @@ export default (api: AlitaApi) => {
px2rem({
rootValue: 100,
minPixelValue: 2,
selectorDoubleRemList: [/.adm-/, /.ant-/, /\:root/],
selectorDoubleRemList: [/^.adm-/, /^.ant-/, /^\:root/],
...(configPx2rem || {}),
}),
];
Expand Down
2 changes: 1 addition & 1 deletion packages/plugins/src/keepalive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default (api: AlitaApi) => {
api.addRuntimePluginKey(() => 'getKeepAlive');

// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using KeepAlive Plugin');
Expand Down
6 changes: 0 additions & 6 deletions packages/plugins/src/locale.ts

This file was deleted.

2 changes: 1 addition & 1 deletion packages/plugins/src/mainpath.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default (api: AlitaApi) => {
enableBy: api.EnableBy.config,
});
// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Main Path Plugin');
Expand Down
12 changes: 12 additions & 0 deletions packages/plugins/src/max/initial-state.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import type { AlitaApi } from '@alita/types';
import statePlugin from '@umijs/plugins/dist/initial-state';
import { logger } from '@umijs/utils';

export default (api: AlitaApi) => {
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Initial State Plugin');
});
statePlugin(api);
};
13 changes: 13 additions & 0 deletions packages/plugins/src/max/locale.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import type { AlitaApi } from '@alita/types';
import localePlugin from '@umijs/plugins/dist/locale';
import { logger } from '@umijs/utils';

export default (api: AlitaApi) => {
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Locale Plugin');
});

localePlugin(api);
};
2 changes: 1 addition & 1 deletion packages/plugins/src/mobile-layout.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ export default (api: AlitaApi) => {
// 注册runtime配置
api.addRuntimePluginKey(() => ['mobileLayout']);
// only dev or build running
if (!['dev', 'build'].includes(api.name)) return;
if (!['dev', 'build', 'dev-config'].includes(api.name)) return;

api.onStart(() => {
logger.info('Using Mobile Layout Plugin');
Expand Down
Loading

0 comments on commit 4678f8b

Please sign in to comment.