Skip to content

Commit 4606fc3

Browse files
committed
chore(merge): merge master
2 parents edc4626 + 4893bf5 commit 4606fc3

File tree

20 files changed

+91
-192
lines changed

20 files changed

+91
-192
lines changed

package.json

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,24 @@
44
"scripts": {
55
"dev": "npx cross-env TEST_ENV=true node scripts/dev.js",
66
"dev:docs": "pnpm run start --filter garfish-docs",
7+
"build": "pnpm run build --parallel --filter @garfish/* --filter garfish",
8+
"build:docs": "pnpm run build --filter garfish-docs",
9+
"build:watch": "cross-env WATCH=true pnpm build",
710
"test:e2e": "zx scripts/e2e.js",
811
"test:e2e:open": "cross-env TEST_ENV_OPEN=true zx scripts/e2e.js",
9-
"test": "node scripts/jestTest.js",
10-
"test:cover": "node scripts/jestTest.js --coverage",
12+
"test": "node scripts/unit.js",
13+
"test:cover": "node scripts/unit.js --coverage",
1114
"cy:open": "cypress open",
1215
"cy:run": "cypress run",
1316
"changeset": "npx changeset",
14-
"build": "pnpm run build --parallel --filter @garfish/* --filter garfish",
15-
"build:docs": "pnpm run build --filter garfish-docs",
16-
"build:watch": "cross-env WATCH=true pnpm build",
1717
"reset": "pnpm -r exec -- rm -rf node_modules && rm -rf node_modules",
1818
"setup": "pnpm install",
19-
"prepublishOnly": "pnpm test && pnpm build",
20-
"postpublish": "node scripts/asyncBnpm.js",
2119
"ls-lint": "ls-lint",
2220
"lint": "eslint --ext .ts packages/*/*/src/**",
2321
"reset-gittag": "git tag -l | xargs git tag -d && git fetch --prune",
2422
"format": "prettier --write --parser typescript \"packages/**/*.ts?(x)\"",
2523
"format:js": "prettier --write --parser typescript \"(packages|scripts)/**/*.js\"",
2624
"format:md": "prettier --write \"**/*.md\"",
27-
"bump": "node ./scripts/versionBump.js",
2825
"release": "node ./scripts/release.js",
2926
"release:canary": "node ./scripts/release.js --canary"
3027
},
@@ -92,5 +89,5 @@
9289
"workspace-tools": "^0.16.2",
9390
"zx": "^4.2.0"
9491
},
95-
"version": "0.1.15"
92+
"version": "0.1.16"
9693
}

packages/browser-snapshot/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/browser-snapshot",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "browser-snapshot module.",
55
"keywords": [
66
"garfish",

packages/browser-vm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/browser-vm",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "vm-sandbox module.",
55
"keywords": [
66
"garfish",

packages/core/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/core",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "core module.",
55
"keywords": [
66
"garfish",

packages/core/src/config.ts

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,28 @@ import {
33
error,
44
assert,
55
hasOwn,
6+
isObject,
67
deepMerge,
7-
getRenderNode,
88
isPlainObject,
99
} from '@garfish/utils';
1010
import { AppInfo } from './module/app';
1111
import { interfaces } from './interface';
12+
import { appLifecycle } from './lifecycle';
13+
14+
const appConfigList: Array<keyof interfaces.AppInfo | 'activeWhen'> = [
15+
'name',
16+
'entry',
17+
'activeWhen',
18+
'basename',
19+
'domGetter',
20+
'props',
21+
'sandbox',
22+
'cache',
23+
'nested',
24+
'noCheckProvider',
25+
'customLoader',
26+
...appLifecycle().lifecycleKeys,
27+
];
1228

1329
const invalidNestedAttrs = [
1430
'sandbox',
@@ -48,32 +64,6 @@ export const filterNestedConfig = (
4864
return config;
4965
};
5066

51-
const appConfigList: Array<keyof interfaces.AppConfig | 'activeWhen'> = [
52-
'name',
53-
'entry',
54-
'activeWhen',
55-
'basename',
56-
'domGetter',
57-
'props',
58-
'sandbox',
59-
'cache',
60-
'nested',
61-
'noCheckProvider',
62-
];
63-
64-
const appHooksList: Array<keyof interfaces.AppLifecycle> = [
65-
'beforeEval',
66-
'afterEval',
67-
'beforeMount',
68-
'afterMount',
69-
'errorMountApp',
70-
'beforeUnmount',
71-
'afterUnmount',
72-
'errorUnmountApp',
73-
'errorExecCode',
74-
'customLoader',
75-
];
76-
7767
// `props` may be responsive data
7868
export const deepMergeConfig = <T>(globalConfig, localConfig) => {
7969
const globalProps = globalConfig.props;
@@ -93,13 +83,12 @@ export const deepMergeConfig = <T>(globalConfig, localConfig) => {
9383
export const getAppConfig = <T>(globalConfig, localConfig) => {
9484
// TODO: Automatically retrieve configuration in the type declaration
9585
const mergeConfig = deepMergeConfig(globalConfig, localConfig);
96-
const filterConfigList = [...appConfigList, ...appHooksList];
97-
Object.keys(mergeConfig).forEach((mergeKey) => {
86+
Object.keys(mergeConfig).forEach((key) => {
9887
if (
99-
filterConfigList.indexOf(mergeKey as any) === -1 ||
100-
typeof mergeConfig[mergeKey] === 'undefined'
88+
!appConfigList.includes(key as any) ||
89+
typeof mergeConfig[key] === 'undefined'
10190
) {
102-
delete mergeConfig[mergeKey];
91+
delete mergeConfig[key];
10392
}
10493
});
10594
return mergeConfig as T;
@@ -113,28 +102,35 @@ export const generateAppOptions = (
113102
let appInfo = garfish.appInfos[appName];
114103
// Load the unregistered applications
115104
// `Garfish.loadApp('appName', 'https://xx.html');`
116-
if (!appInfo && typeof appOptionsOrUrl === 'string') {
117-
appInfo = {
118-
name: appName,
119-
basename: '/',
120-
entry: appOptionsOrUrl,
121-
};
105+
if (typeof appOptionsOrUrl === 'string') {
106+
if (appInfo) {
107+
appInfo = {
108+
...appInfo,
109+
entry: appOptionsOrUrl,
110+
};
111+
} else {
112+
appInfo = {
113+
name: appName,
114+
basename: '/',
115+
entry: appOptionsOrUrl,
116+
};
117+
}
122118
}
123119

124-
// merge register appInfo config and loadApp config
125-
if (appOptionsOrUrl && typeof appOptionsOrUrl === 'object') {
126-
appInfo = getAppConfig(appInfo, appOptionsOrUrl);
120+
// Merge register appInfo config and loadApp config
121+
if (isObject(appOptionsOrUrl)) {
122+
appInfo = getAppConfig(appInfo || {}, appOptionsOrUrl);
127123
}
128124

129-
// merge globalConfig with localConfig
130-
appInfo = getAppConfig(garfish.options, appInfo);
125+
// Merge globalConfig with localConfig
126+
appInfo = getAppConfig(garfish.options, appInfo || {});
127+
appInfo.name = appName;
131128

132129
assert(
133130
appInfo.entry,
134131
`Can't load unexpected child app "${appName}", ` +
135132
'Please provide the entry parameters or registered in advance of the app.',
136133
);
137-
appInfo.name = appName;
138134
return appInfo;
139135
};
140136

packages/core/src/garfish.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
generateAppOptions,
99
createDefaultOptions,
1010
} from './config';
11-
import { App, AppInfo } from './module/app';
11+
import { App } from './module/app';
1212
import { interfaces } from './interface';
1313
import { globalLifecycle } from './lifecycle';
1414
import { processAppResources } from './module/resource';
@@ -157,10 +157,6 @@ export class Garfish extends EventEmitter {
157157
appInfo.entry,
158158
`${appInfo.name} application entry is not url: ${appInfo.entry}`,
159159
);
160-
// Deep merge this.options
161-
// if (!appInfo.nested) {
162-
// appInfo = deepMergeConfig(this.options, appInfo);
163-
// }
164160
currentAdds[appInfo.name] = appInfo;
165161
this.appInfos[appInfo.name] = appInfo;
166162
} else if (__DEV__) {

packages/core/src/module/app.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,11 @@ import {
1212
transformUrl,
1313
__MockBody__,
1414
__MockHead__,
15+
getRenderNode,
1516
sourceListTags,
1617
parseContentType,
1718
createAppContainer,
1819
setDocCurrentScript,
19-
getRenderNode,
2020
} from '@garfish/utils';
2121
import { Garfish } from '../garfish';
2222
import { interfaces } from '../interface';

packages/garfish/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "garfish",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "garfish module.",
55
"keywords": [
66
"garfish",

packages/hooks/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/hooks",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "hooks module.",
55
"keywords": [
66
"garfish",

packages/loader/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/loader",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "loader module.",
55
"keywords": [
66
"garfish",

packages/remote-module/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/remote-module",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "remote-module module.",
55
"keywords": [
66
"garfish",

packages/router/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/router",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "router module.",
55
"keywords": [
66
"garfish",

packages/utils/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@garfish/utils",
3-
"version": "0.1.15",
3+
"version": "0.1.16",
44
"description": "utils module.",
55
"keywords": [
66
"garfish",

scripts/publish.js

Lines changed: 0 additions & 30 deletions
This file was deleted.

scripts/release.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ async function test() {
5151

5252
async function bumpVersion() {
5353
return await bumpPrompt({
54-
// commit: 'chore(publish): release v',
5554
files: ['package.json', 'packages/*/package.json'],
5655
release: args.tag || '',
5756
push: false,

scripts/runExample.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ function runAllExample() {
4343
.then(() => {
4444
if (!process.env.CI_TEST_ENV) {
4545
step('\n run dev project...');
46-
return $`npx cross-env TEST_ENV=true pnpm start --filter "@garfish-dev/*" --parallel`;
46+
return $`npx cross-env TEST_ENV=true pnpm start --filter "@garfish-dev/*" --parallel`;
4747
}
4848
})
4949
// build all demo

0 commit comments

Comments
 (0)