Merge pull request #7074 from alibaba/release/next
Publish canary / Check Changeset exists (push) Waiting to run Details
Publish canary / Publish Canary (18) (push) Blocked by required conditions Details
Version / Version (16) (push) Waiting to run Details
CI / build (16.x, ubuntu-latest) (push) Has been cancelled Details
CI / build (16.x, windows-latest) (push) Has been cancelled Details
CI / build (18.x, ubuntu-latest) (push) Has been cancelled Details
CI / build (18.x, windows-latest) (push) Has been cancelled Details
Coverage / coverage (16.x) (push) Has been cancelled Details
Release / Release (16) (push) Has been cancelled Details

Release 3.6.1
This commit is contained in:
ClarkXia 2025-04-09 13:55:30 +08:00 committed by GitHub
commit c943626719
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
47 changed files with 286 additions and 144 deletions

View File

@ -1,5 +1,11 @@
# Changelog # Changelog
## 0.2.9
### Patch Changes
- 2f73084d: feat: export ModuleNotFoundError of webpack
## 0.2.8 ## 0.2.8
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/bundles", "name": "@ice/bundles",
"version": "0.2.8", "version": "0.2.9",
"license": "MIT", "license": "MIT",
"author": "ICE", "author": "ICE",
"description": "Basic dependencies for ice.", "description": "Basic dependencies for ice.",

View File

@ -18,6 +18,24 @@ module.exports = {
StringXor: require('webpack/lib/util/StringXor'), StringXor: require('webpack/lib/util/StringXor'),
NormalModule: require('webpack/lib/NormalModule'), NormalModule: require('webpack/lib/NormalModule'),
EntryDependency: require('webpack/lib/dependencies/EntryDependency'), EntryDependency: require('webpack/lib/dependencies/EntryDependency'),
ModuleNotFoundError: require('webpack/lib/ModuleNotFoundError'),
LazySet: require('webpack/lib/util/LazySet'),
makeSerializable: require('webpack/lib/util/makeSerializable'),
SortableSet: require('webpack/lib/util/SortableSet'),
StaticExportsDependency: require('webpack/lib/dependencies/StaticExportsDependency'),
ModuleFactory: require('webpack/lib/ModuleFactory'),
ModuleDependency: require('webpack/lib/dependencies/ModuleDependency'),
createSchemaValidation: require('webpack/lib/util/create-schema-validation'),
extractUrlAndGlobal: require('webpack/lib/util/extractUrlAndGlobal'),
Compilation: require('webpack/lib/Compilation'),
semver: require('webpack/lib/util/semver'),
WebpackError: require('webpack/lib/WebpackError'),
comparators: require('webpack/lib/util/comparators'),
StartupEntrypointRuntimeModule: require('webpack/lib/runtime/StartupEntrypointRuntimeModule'),
SetHelpers: require('webpack/lib/util/SetHelpers'),
ChunkHelpers: require('webpack/lib/javascript/ChunkHelpers'),
HotUpdateChunk: require('webpack/lib/HotUpdateChunk'),
fs: require('webpack/lib/util/fs'),
sources: require('webpack').sources, sources: require('webpack').sources,
webpack: require('webpack'), webpack: require('webpack'),
package: { package: {

View File

@ -0,0 +1 @@
module.exports = require('./bundle').ChunkHelpers;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').Compilation;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').HotUpdateChunk;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').LazySet;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').ModuleDependency;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').ModuleFactory;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').ModuleNotFoundError;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').SetHelpers;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').SortableSet;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').StartupEntrypointRuntimeModule;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').StaticExportsDependency;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').WebpackError;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').comparators;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').createSchemaValidation;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').extractUrlAndGlobal;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').fs;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').makeSerializable;

View File

@ -0,0 +1 @@
module.exports = require('./bundle').semver;

View File

@ -1,5 +1,16 @@
# Changelog # Changelog
## 3.6.1
### Patch Changes
- 478120d1: fix: always use esbuild to compile server config
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
- @ice/rspack-config@1.2.3
- @ice/shared-config@1.3.2
- @ice/webpack-config@1.2.2
## 3.6.0 ## 3.6.0
### Minor Changes ### Minor Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/app", "name": "@ice/app",
"version": "3.6.0", "version": "3.6.1",
"description": "provide scripts and configuration used by web framework ice", "description": "provide scripts and configuration used by web framework ice",
"type": "module", "type": "module",
"main": "./esm/index.js", "main": "./esm/index.js",

View File

@ -12,41 +12,56 @@ export function getFileName(filePath: string) {
return filePath.split('/').slice(-1)[0]; return filePath.split('/').slice(-1)[0];
} }
const webpackPlugins = [
// plugins require the same webpack instance
'webpack/lib/LibraryTemplatePlugin',
'webpack/lib/node/NodeTargetPlugin',
'webpack/lib/node/NodeTemplatePlugin',
'webpack/lib/NormalModule',
'webpack/lib/optimize/LimitChunkCountPlugin',
'webpack/lib/SingleEntryPlugin',
'webpack/lib/webworker/WebWorkerTemplatePlugin',
'webpack/lib/node/NodeEnvironmentPlugin',
'webpack/lib/ModuleFilenameHelpers',
'webpack/lib/GraphHelpers',
'webpack/lib/ExternalsPlugin',
'webpack/lib/web/FetchCompileAsyncWasmPlugin',
'webpack/lib/web/FetchCompileWasmPlugin',
'webpack/lib/runtime/StartupChunkDependenciesPlugin',
'webpack/lib/javascript/JavascriptModulesPlugin',
'webpack/lib/javascript/StartupHelpers',
'webpack/lib/util/identifier',
'webpack/lib/util/compileBooleanMatcher',
'webpack/lib/ModuleNotFoundError',
'webpack/lib/util/LazySet',
'webpack/lib/util/fs',
'webpack/lib/util/makeSerializable',
'webpack/lib/util/SortableSet',
'webpack/lib/dependencies/StaticExportsDependency',
'webpack/lib/dependencies/EntryDependency',
'webpack/lib/ModuleFactory',
'webpack/lib/dependencies/ModuleDependency',
'webpack/lib/util/create-schema-validation',
'webpack/lib/util/extractUrlAndGlobal',
'webpack/lib/Compilation',
'webpack/lib/util/semver',
'webpack/lib/WebpackError',
'webpack/lib/util/comparators',
'webpack/lib/runtime/StartupEntrypointRuntimeModule',
'webpack/lib/util/SetHelpers',
'webpack/lib/javascript/ChunkHelpers',
'webpack/lib/HotUpdateChunk',
];
export function getHookFiles() { export function getHookFiles() {
const webpackPlugins = [
// plugins require the same webpack instance
'webpack/lib/LibraryTemplatePlugin',
'webpack/lib/node/NodeTargetPlugin',
'webpack/lib/node/NodeTemplatePlugin',
'webpack/lib/NormalModule',
'webpack/lib/optimize/LimitChunkCountPlugin',
'webpack/lib/SingleEntryPlugin',
'webpack/lib/webworker/WebWorkerTemplatePlugin',
'webpack/lib/node/NodeEnvironmentPlugin',
'webpack/lib/ModuleFilenameHelpers',
'webpack/lib/GraphHelpers',
'webpack/lib/ExternalsPlugin',
'webpack/lib/web/FetchCompileAsyncWasmPlugin',
'webpack/lib/web/FetchCompileWasmPlugin',
'webpack/lib/runtime/StartupChunkDependenciesPlugin',
'webpack/lib/javascript/JavascriptModulesPlugin',
'webpack/lib/javascript/StartupHelpers',
'webpack/lib/util/identifier',
'webpack/lib/util/compileBooleanMatcher',
];
const webpackDir = path.join(require.resolve('@ice/bundles/compiled/webpack'), '../'); const webpackDir = path.join(require.resolve('@ice/bundles/compiled/webpack'), '../');
const pluginMap = webpackPlugins.map((pluginPath) => { const createPluginMapping = (pluginPath: string, withJsExtension = false) => [
return [ withJsExtension ? `${pluginPath}.js` : pluginPath,
pluginPath, pluginPath.replace(/^webpack\/lib\/((web|node|optimize|webworker|runtime|javascript|util|dependencies)\/)?/, webpackDir),
pluginPath.replace(/^webpack\/lib\/((web|node|optimize|webworker|runtime|javascript|util)\/)?/, webpackDir), ];
];
}); const pluginMap = webpackPlugins.map(pluginPath => createPluginMapping(pluginPath));
const pluginMapWithJs = webpackPlugins.map((pluginPath) => { const pluginMapWithJs = webpackPlugins.map(pluginPath => createPluginMapping(pluginPath, true));
return [
`${pluginPath}.js`,
pluginPath.replace(/^webpack\/lib\/((web|node|optimize|webworker|runtime|javascript|util)\/)?/, webpackDir),
];
});
return [ return [
['webpack', `${webpackDir}webpack-lib`], ['webpack', `${webpackDir}webpack-lib`],
@ -69,7 +84,9 @@ function hijackWebpack() {
const resolveFilename = mod._resolveFilename; const resolveFilename = mod._resolveFilename;
mod._resolveFilename = function (request: string, parent: any, isMain: boolean, options: any) { mod._resolveFilename = function (request: string, parent: any, isMain: boolean, options: any) {
const hookResolved = hookPropertyMap.get(request); const hookResolved = hookPropertyMap.get(request);
if (hookResolved) request = hookResolved; if (hookResolved) {
request = hookResolved;
}
return resolveFilename.call(mod, request, parent, isMain, options); return resolveFilename.call(mod, request, parent, isMain, options);
}; };
} }

View File

@ -64,6 +64,7 @@ class Config {
}, },
}, },
redirectImports, redirectImports,
bundler: 'esbuild',
}); });
if (!error) { if (!error) {
this.status = 'RESOLVED'; this.status = 'RESOLVED';

View File

@ -116,6 +116,7 @@ export function createServerCompiler(options: Options) {
enableEnv = false, enableEnv = false,
transformEnv = true, transformEnv = true,
isServer = true, isServer = true,
bundler,
} = {}) => { } = {}) => {
let preBundleDepsMetadata: PreBundleDepsMetaData; let preBundleDepsMetadata: PreBundleDepsMetaData;
let swcOptions = merge({}, { let swcOptions = merge({}, {
@ -171,7 +172,7 @@ export function createServerCompiler(options: Options) {
plugins, plugins,
}); });
} }
server.bundler = server.bundler ?? 'esbuild'; server.bundler = bundler ?? server.bundler ?? 'esbuild';
const format = customBuildOptions?.format || 'esm'; const format = customBuildOptions?.format || 'esm';
let buildOptions: esbuild.BuildOptions = { let buildOptions: esbuild.BuildOptions = {

View File

@ -60,6 +60,8 @@ export interface CompilerOptions {
runtimeDefineVars?: Record<string, string>; runtimeDefineVars?: Record<string, string>;
enableEnv?: boolean; enableEnv?: boolean;
isServer?: boolean; isServer?: boolean;
/** @default esbuild */
bundler?: 'webpack' | 'esbuild';
} }
export type ServerCompiler = ( export type ServerCompiler = (

View File

@ -1,5 +1,12 @@
# @ice/miniapp-loader # @ice/miniapp-loader
## 1.2.2
### Patch Changes
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
## 1.2.1 ## 1.2.1
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/miniapp-loader", "name": "@ice/miniapp-loader",
"version": "1.2.1", "version": "1.2.2",
"description": "webpack loader for miniapps.", "description": "webpack loader for miniapps.",
"main": "./lib/page.js", "main": "./lib/page.js",
"files": [ "files": [

View File

@ -56,7 +56,7 @@
"webpack-dev-server": "4.15.0" "webpack-dev-server": "4.15.0"
}, },
"peerDependencies": { "peerDependencies": {
"@ice/app": "^3.6.0", "@ice/app": "^3.6.1",
"@ice/runtime": "^1.5.2" "@ice/runtime": "^1.5.2"
}, },
"publishConfig": { "publishConfig": {

View File

@ -1,5 +1,12 @@
# Changelog # Changelog
## 1.2.0
### Minor Changes
- 2f73084d: feat: support framework provider
- 2f73084d: feat: support custom AppRoute
## 1.1.1 ## 1.1.1
### Patch Changes ### Patch Changes

1
packages/plugin-icestark/Context.d.ts vendored Normal file
View File

@ -0,0 +1 @@
export * from './esm/runtime/Context';

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/plugin-icestark", "name": "@ice/plugin-icestark",
"version": "1.1.1", "version": "1.2.0",
"description": "Easy use `icestark` in icejs.", "description": "Easy use `icestark` in icejs.",
"author": "ice-admin@alibaba-inc.com", "author": "ice-admin@alibaba-inc.com",
"homepage": "", "homepage": "",
@ -18,6 +18,11 @@
"import": "./esm/index.js", "import": "./esm/index.js",
"default": "./esm/index.js" "default": "./esm/index.js"
}, },
"./Context": {
"types": "./esm/runtime/Context.d.ts",
"import": "./esm/runtime/Context.js",
"default": "./esm/runtime/Context.js"
},
"./esm/runtime/child": { "./esm/runtime/child": {
"types": "./esm/runtime/child.d.ts", "types": "./esm/runtime/child.d.ts",
"import": "./esm/runtime/child.js", "import": "./esm/runtime/child.js",
@ -44,7 +49,7 @@
"@ice/stark-app": "^1.2.0" "@ice/stark-app": "^1.2.0"
}, },
"devDependencies": { "devDependencies": {
"@ice/app": "^3.3.2", "@ice/app": "^3.6.1",
"@ice/runtime": "^1.2.9", "@ice/runtime": "^1.2.9",
"@types/react": "^18.0.0", "@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0" "@types/react-dom": "^18.0.0"

View File

@ -9,12 +9,12 @@ const PLUGIN_NAME = '@ice/plugin-icestark';
const plugin: Plugin<PluginOptions> = ({ type, library }) => ({ const plugin: Plugin<PluginOptions> = ({ type, library }) => ({
name: PLUGIN_NAME, name: PLUGIN_NAME,
setup: ({ onGetConfig, context, generator, modifyUserConfig }) => { setup: ({ onGetConfig, context, generator, modifyUserConfig }) => {
const libraryName = library || context.pkg?.name as string || 'microApp';
onGetConfig((config) => { onGetConfig((config) => {
config.configureWebpack ??= []; config.configureWebpack ??= [];
config.configureWebpack.push((webpackConfig) => { config.configureWebpack.push((webpackConfig) => {
if (type === 'child') { if (type === 'child') {
const { pkg } = context; webpackConfig.output.library = libraryName;
webpackConfig.output.library = library || pkg.name as string || 'microApp';
webpackConfig.output.libraryTarget = 'umd'; webpackConfig.output.libraryTarget = 'umd';
} }
return webpackConfig; return webpackConfig;
@ -34,6 +34,10 @@ const plugin: Plugin<PluginOptions> = ({ type, library }) => ({
if (!window.ICESTARK?.root && !window.__POWERED_BY_QIANKUN__) { if (!window.ICESTARK?.root && !window.__POWERED_BY_QIANKUN__) {
root = render(); root = render();
} }
// Set library name
if (typeof window !== 'undefined' && window.ICESTARK) {
window.ICESTARK.library = ${JSON.stringify(libraryName)};
}
// For qiankun lifecycle validation. // For qiankun lifecycle validation.
export async function bootstrap(props) { export async function bootstrap(props) {

View File

@ -0,0 +1,7 @@
import { createContext, useContext } from 'react';
export const FrameworkContext = createContext({});
export const useFrameworkContext = <T extends object>(): T => {
return useContext(FrameworkContext) as T;
};

View File

@ -1,13 +1,19 @@
import * as React from 'react';
import * as ReactDOM from 'react-dom/client'; import * as ReactDOM from 'react-dom/client';
import type { RuntimePlugin } from '@ice/runtime/types'; import type { RuntimePlugin } from '@ice/runtime/types';
import type { LifecycleOptions } from '../types'; import type { LifecycleOptions } from '../types';
import { FrameworkContext } from './Context.js';
const runtime: RuntimePlugin<LifecycleOptions> = ({ setRender }, runtimeOptions) => { const runtime: RuntimePlugin<LifecycleOptions> = ({ setRender }, runtimeOptions) => {
if (runtimeOptions?.container) { if (runtimeOptions?.container) {
setRender((_, element) => { setRender((_, element) => {
// Replace render root when app rendered as a child app. // Replace render root when app rendered as a child app.
const root = ReactDOM.createRoot(runtimeOptions.container); const root = ReactDOM.createRoot(runtimeOptions.container);
root.render(element); root.render(
<FrameworkContext.Provider value={{ ...(runtimeOptions.customProps || {}) }}>
{element}
</FrameworkContext.Provider>,
);
return root; return root;
}); });
} }

View File

@ -1,100 +1,98 @@
import * as React from 'react'; import * as React from 'react';
import { AppRouter, AppRoute } from '@ice/stark'; import { AppRouter, AppRoute } from '@ice/stark';
import type { RuntimePlugin, ClientAppRouterProps } from '@ice/runtime/types'; import type { RuntimePlugin, ClientAppRouterProps } from '@ice/runtime/types';
import type { RouteInfo, AppConfig } from '../types'; import type { AppRouterProps } from '@ice/stark/lib/AppRouter';
import type { RouteInfo, AppConfig, FrameworkConfig } from '../types';
const { useState, useEffect } = React; const { useState, useEffect } = React;
const runtime: RuntimePlugin = ({ getAppRouter, setAppRouter, appContext }) => { const runtime: RuntimePlugin = ({ getAppRouter, setAppRouter, appContext }) => {
const { appExport, appData } = appContext; const { appExport, appData } = appContext;
const OriginalRouter = getAppRouter(); const OriginalRouter = getAppRouter();
const { layout, getApps, appRouter } = appExport?.icestark || {}; const { layout, getApps, appRouter, AppRoute: CustomizeAppRoute } = (appExport?.icestark || {}) as FrameworkConfig;
if (getApps) { if (!getApps) {
const FrameworkRouter = (props: ClientAppRouterProps) => {
const [routeInfo, setRouteInfo] = useState<RouteInfo>({});
const [appEnter, setAppEnter] = useState<AppConfig>({});
const [appLeave, setAppLeave] = useState<AppConfig>({});
const [apps, setApps] = useState([]);
const FrameworkLayout = layout || (({ children }) => (<>{children}</>));
const appInfo = {
pathname: routeInfo.pathname ||
(typeof window !== 'undefined' && window.location.pathname),
routeInfo,
appEnter,
appLeave,
updateApps: setApps,
};
useEffect(() => {
(async () => {
const appList = await getApps(appData);
setApps(appList);
})();
}, []);
function handleRouteChange(pathname: string, query: Record<string, string>, hash: string, routeType: string) {
setRouteInfo({ pathname, query, hash, routeType });
}
function handleAppLeave(config: AppConfig) {
setAppLeave(config);
}
function handleAppEnter(config: AppConfig) {
setAppEnter(config);
}
return (
<FrameworkLayout {...appInfo}>
{apps && (
<AppRouter
{...appRouter}
onRouteChange={handleRouteChange}
onAppEnter={handleAppEnter}
onAppLeave={handleAppLeave}
>
{apps.map((item: AppConfig, idx: number) => {
return (
<AppRoute
key={idx}
{...item}
/>
);
})}
<AppRoute
path="/"
location={props.location}
render={() => {
const { routerContext } = props;
routerContext.routes = [
...routerContext.routes,
{
path: '*',
Component: () => (
process.env.NODE_ENV === 'development'
? <div>Add $.tsx to folder pages as a 404 component</div>
: null
),
},
];
const routerProps = {
...props,
routerContext,
};
return <OriginalRouter {...routerProps} />;
}}
/>
</AppRouter>
)}
</FrameworkLayout>
);
};
setAppRouter(FrameworkRouter);
} else {
console.warn(` console.warn(`
[plugin-icestark]: appConfig.icestark.getApps should be not empty if this is an framework app. [plugin-icestark]: appConfig.icestark.getApps should be not empty if this is an framework app.
see https://ice.work/docs/guide/advanced/icestark/ see https://ice.work/docs/guide/advanced/icestark/
`); `);
return;
} }
const FrameworkRouter = (props: ClientAppRouterProps) => {
const [routeInfo, setRouteInfo] = useState<RouteInfo>({});
const [appEnter, setAppEnter] = useState<AppConfig>({});
const [appLeave, setAppLeave] = useState<AppConfig>({});
const [apps, setApps] = useState<AppConfig[] | null>(null);
const FrameworkLayout = layout || React.Fragment;
const appInfo = {
pathname: routeInfo.pathname || (typeof window !== 'undefined' ? window.location.pathname : ''),
routeInfo,
appEnter,
appLeave,
updateApps: setApps,
};
useEffect(() => {
const fetchApps = async () => {
try {
const appList = await getApps(appData);
setApps(appList);
} catch (error) {
console.error('[plugin-icestark]: Failed to fetch apps', error);
}
};
fetchApps();
}, []);
const handleRouteChange: AppRouterProps['onRouteChange'] = (pathname, query, hash, routeType) => {
setRouteInfo({ pathname, query, hash, routeType });
};
const handleAppLeave: AppRouterProps['onAppLeave'] = (config) => setAppLeave(config);
const handleAppEnter: AppRouterProps['onAppEnter'] = (config) => setAppEnter(config);
const AppRouteComponent = CustomizeAppRoute || AppRoute;
const appRouterProps: AppRouterProps = {
...appRouter,
onRouteChange: handleRouteChange,
onAppEnter: handleAppEnter,
onAppLeave: handleAppLeave,
};
return (
<FrameworkLayout {...appInfo}>
{apps && (
<AppRouter {...appRouterProps}>
{apps?.map((item: AppConfig, idx: number) => (
<AppRouteComponent key={idx} {...item} />
))}
<AppRouteComponent
activePath="/"
location={props.location}
render={() => {
const { routerContext } = props;
routerContext.routes = [
...routerContext.routes,
{
path: '*',
Component: () => (
process.env.NODE_ENV === 'development'
? <div>Add $.tsx to folder pages as a 404 component</div>
: null
),
},
];
return <OriginalRouter {...props} routerContext={routerContext} />;
}}
/>
</AppRouter>
)}
</FrameworkLayout>
);
};
setAppRouter(FrameworkRouter);
}; };
export default runtime; export default runtime;

View File

@ -1,10 +1,11 @@
import type { ComponentType } from 'react'; import type { ComponentType } from 'react';
import type { CompatibleAppConfig } from '@ice/stark/lib/AppRoute'; import type { CompatibleAppConfig } from '@ice/stark/lib/AppRoute';
import type { AppRouterProps } from '@ice/stark/lib/AppRouter'; import type { AppRouterProps } from '@ice/stark/lib/AppRouter';
import type { AppRoute } from '@ice/stark';
export interface RouteInfo { export interface RouteInfo {
pathname?: string; pathname?: string;
query?: Record<string, string>; query?: object;
hash?: string; hash?: string;
routeType?: string; routeType?: string;
} }
@ -17,6 +18,7 @@ export interface FrameworkConfig {
getApps?: (data?: any) => (AppConfig[] | Promise<AppConfig[]>); getApps?: (data?: any) => (AppConfig[] | Promise<AppConfig[]>);
appRouter?: Omit<AppRouterProps, 'onRouteChange' | 'onAppEnter' | 'onAppLeave'>; appRouter?: Omit<AppRouterProps, 'onRouteChange' | 'onAppEnter' | 'onAppLeave'>;
layout?: ComponentType<any>; layout?: ComponentType<any>;
AppRoute?: typeof AppRoute;
} }
export interface LifecycleOptions { export interface LifecycleOptions {

View File

@ -1,5 +1,13 @@
# Changelog # Changelog
## 1.2.3
### Patch Changes
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
- @ice/miniapp-loader@1.2.2
## 1.2.2 ## 1.2.2
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/plugin-miniapp", "name": "@ice/plugin-miniapp",
"version": "1.2.2", "version": "1.2.3",
"description": "ice.js plugin for miniapp.", "description": "ice.js plugin for miniapp.",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
@ -50,7 +50,7 @@
"sax": "^1.2.4" "sax": "^1.2.4"
}, },
"devDependencies": { "devDependencies": {
"@ice/app": "^3.6.0", "@ice/app": "^3.6.1",
"@ice/runtime": "^1.5.2", "@ice/runtime": "^1.5.2",
"webpack": "^5.88.0" "webpack": "^5.88.0"
}, },

View File

@ -1,5 +1,13 @@
# @ice/rspack-config # @ice/rspack-config
## 1.2.3
### Patch Changes
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
- @ice/shared-config@1.3.2
## 1.2.2 ## 1.2.2
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/rspack-config", "name": "@ice/rspack-config",
"version": "1.2.2", "version": "1.2.3",
"repository": "alibaba/ice", "repository": "alibaba/ice",
"bugs": "https://github.com/alibaba/ice/issues", "bugs": "https://github.com/alibaba/ice/issues",
"homepage": "https://v3.ice.work", "homepage": "https://v3.ice.work",
@ -15,8 +15,8 @@
"*.d.ts" "*.d.ts"
], ],
"dependencies": { "dependencies": {
"@ice/bundles": "0.2.8", "@ice/bundles": "0.2.9",
"@ice/shared-config": "1.3.1" "@ice/shared-config": "1.3.2"
}, },
"devDependencies": { "devDependencies": {
"@rspack/core": "0.5.7" "@rspack/core": "0.5.7"

View File

@ -1,5 +1,12 @@
# @ice/shared-config # @ice/shared-config
## 1.3.2
### Patch Changes
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
## 1.3.1 ## 1.3.1
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/shared-config", "name": "@ice/shared-config",
"version": "1.3.1", "version": "1.3.2",
"repository": "alibaba/ice", "repository": "alibaba/ice",
"bugs": "https://github.com/alibaba/ice/issues", "bugs": "https://github.com/alibaba/ice/issues",
"homepage": "https://v3.ice.work", "homepage": "https://v3.ice.work",
@ -17,7 +17,7 @@
"*.d.ts" "*.d.ts"
], ],
"dependencies": { "dependencies": {
"@ice/bundles": "0.2.8", "@ice/bundles": "0.2.9",
"@rollup/pluginutils": "^4.2.0", "@rollup/pluginutils": "^4.2.0",
"browserslist": "^4.22.1", "browserslist": "^4.22.1",
"consola": "^2.15.3", "consola": "^2.15.3",

View File

@ -1,5 +1,13 @@
# Changelog # Changelog
## 1.2.2
### Patch Changes
- Updated dependencies [2f73084d]
- @ice/bundles@0.2.9
- @ice/shared-config@1.3.2
## 1.2.1 ## 1.2.1
### Patch Changes ### Patch Changes

View File

@ -1,6 +1,6 @@
{ {
"name": "@ice/webpack-config", "name": "@ice/webpack-config",
"version": "1.2.1", "version": "1.2.2",
"repository": "alibaba/ice", "repository": "alibaba/ice",
"bugs": "https://github.com/alibaba/ice/issues", "bugs": "https://github.com/alibaba/ice/issues",
"homepage": "https://v3.ice.work", "homepage": "https://v3.ice.work",
@ -16,8 +16,8 @@
"*.d.ts" "*.d.ts"
], ],
"dependencies": { "dependencies": {
"@ice/shared-config": "1.3.1", "@ice/shared-config": "1.3.2",
"@ice/bundles": "0.2.8", "@ice/bundles": "0.2.9",
"fast-glob": "^3.2.11", "fast-glob": "^3.2.11",
"process": "^0.11.10" "process": "^0.11.10"
}, },

View File

@ -2040,7 +2040,7 @@ importers:
version: 1.5.0 version: 1.5.0
devDependencies: devDependencies:
'@ice/app': '@ice/app':
specifier: ^3.3.2 specifier: ^3.6.1
version: link:../ice version: link:../ice
'@ice/runtime': '@ice/runtime':
specifier: ^1.2.9 specifier: ^1.2.9
@ -2157,7 +2157,7 @@ importers:
version: 1.2.4 version: 1.2.4
devDependencies: devDependencies:
'@ice/app': '@ice/app':
specifier: ^3.6.0 specifier: ^3.6.1
version: link:../ice version: link:../ice
'@ice/runtime': '@ice/runtime':
specifier: ^1.5.2 specifier: ^1.5.2
@ -2388,10 +2388,10 @@ importers:
packages/rspack-config: packages/rspack-config:
dependencies: dependencies:
'@ice/bundles': '@ice/bundles':
specifier: 0.2.8 specifier: 0.2.9
version: link:../bundles version: link:../bundles
'@ice/shared-config': '@ice/shared-config':
specifier: 1.3.1 specifier: 1.3.2
version: link:../shared-config version: link:../shared-config
devDependencies: devDependencies:
'@rspack/core': '@rspack/core':
@ -2450,7 +2450,7 @@ importers:
packages/shared-config: packages/shared-config:
dependencies: dependencies:
'@ice/bundles': '@ice/bundles':
specifier: 0.2.8 specifier: 0.2.9
version: link:../bundles version: link:../bundles
'@rollup/pluginutils': '@rollup/pluginutils':
specifier: ^4.2.0 specifier: ^4.2.0
@ -2493,10 +2493,10 @@ importers:
packages/webpack-config: packages/webpack-config:
dependencies: dependencies:
'@ice/bundles': '@ice/bundles':
specifier: 0.2.8 specifier: 0.2.9
version: link:../bundles version: link:../bundles
'@ice/shared-config': '@ice/shared-config':
specifier: 1.3.1 specifier: 1.3.2
version: link:../shared-config version: link:../shared-config
fast-glob: fast-glob:
specifier: ^3.2.11 specifier: ^3.2.11