Releases: alibaba/ice
Releases · alibaba/ice
v3.4.11
v3.4.10
- Feat: externals plugin for external dependencies mush easier #6892
import { defineConfig } from '@ice/app';
import externals from '@ice/plugin-externals';
export default defineConfig(() => ({
plugins: [externals({ preset: 'react' })]
}));
Visit docs for more detail.
- Feat: support the simple mode of intl solution #6953
import { defineConfig } from '@ice/app';
import intl from '@ice/plugin-intl';
export default defineConfig({
plugins: [
// Add intlSolution to remove the dependency of react-intl, API usage is limited in this mode.
intl({ intlSolution: 'simple' }),
],
});
Visit docs for more detail.
v3.4.9
v3.4.8
- Fix: do not remove request config of dataLoader compilation #6869
- Feat: support plugin for intl #6863
- Feat: support split page chunk in cjs format #6843
- Fix: the minify configuration of swc #6871
- Fix: add mismatch warning for single route mode #6870
- Fix: support
https
in speedup mode #6879 - Feat: support compile options for the function type of
compilationConfig
#6880
v3.4.7
- Deprecate generator API of
addTargetExport
#6861 - Remove
Document
runtime in client bundle #6848 - Reduce server size by remove unnecessary dependencies and runtime #6848
- Optimize runtime size when
dataLoader
is not defined #6849 #6864 - Chore: remove useless code of webpack compiler #6860
- Optimize runtime size by remove routes config code #6850
v3.4.6
- Feat: support dynamic import API for different scenario #6831
import { dynamic } from 'ice';
const ComponentA = dynamic(() => import('../components/A'));
const ComponentB = dynamic(() => import('../components/B'));
const ComponentC = dynamic(() => import('../components/C'), { ssr: false });
export default function Home({ show }) {
return (
<>
{/* load immediately, but in a separate client bundle */}
<ComponentA />
{/* load only the show is true */}
{show && <ComponentB />}
{/* load only on the client side */}
<ComponentC />
</>
);
}
Kudos to @HomyeeKing .
- Feat: support props for
KeepAliveOutlet
#6819
import { KeepAliveOutlet } from 'ice';
export default function Layout() {
return (
<div>
<h2>Layout</h2>
{/* limit is the limitation number of outlets to keep alive. */}
{/* when paths is configured, only the specified paths will be kept alive. */}
<KeepAliveOutlet limit={2} paths={['/home']} />
</div>
);
}
- Feat: support add plugin by cli option #6829
ice start -- --plugin @ice/plugin-analyze
v3.4.5
v3.4.4
v3.4.3
- Fix: set enforce post for compilation loader #6752
- Fix: avoid unexpected slash in route path #6760
- Fix: update rspack config for version 0.5.1 #6758
- Fix: do not log warning message when use router api #6731
- Feat: enhance single router mode without react-router #6761
- Fix: HMR boundary in speedup mode #6770
- Fix: export losing ts type #6772
- Fix: disable persistent cache for unocss generation #6774
- Feat: update react-router for new feature #6764
- Fix: css module hash is not match in speedup mode #6777
v3.4.2
- Feat: refactor
plugin-rax-compat
including, support option inlineStyle in SSR and inline style for both less and scss - Feat: support optimize package import, it reduce compile time if barrel files is imported (only in speedup mode) #6736
- Fix: register with new defaultTaskConfig evey time #6726 @AlbertXiao1994
- Fix: server render result is not updated when using on-demand server #6738
- Fix: can not resolve path of regenerator-runtime #6742
- Fix: the conflict compile options caused by
.swcrc
#6746 - Fix: pass the correct request context to data loader #6747
- Fix(@ice/plugin-unocss): always add the preset of uno for plugin #6744