Skip to content

Releases: alibaba/ice

v3.5.0

25 Nov 06:14
e14dc87
Compare
Choose a tag to compare

Refactor miniApp plugin and runtime to enhance the miniapp development experience by @XGHeaven in #6985

v3.4.12

12 Nov 02:48
189892e
Compare
Choose a tag to compare
  • Feat: support getAssets for onShellReady #6978
  • Feat: support more platforms by building targets #6923
  • Fix: avoid infinite setOutlets loop when config keepAlivePaths #6995
  • Fix: add browsers list config to cache key #6976

v3.4.11

26 Sep 11:28
61d7c95
Compare
Choose a tag to compare
  • Fix: align copy plugin with webpack mode #6961
  • Fix: modify meta.renderer in server runner #6952
  • Fix: support compileDependencies in speedup mode #6925

v3.4.10

25 Jul 02:56
1c3f6ae
Compare
Choose a tag to compare
  • 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.

  • Feat: unnecessary to compile routes config for server render #6856
  • Feat: support separate bundle for render document #6856
  • Fix: throw error for better debugging #6927
  • Fix: allow decorators-legacy syntax in js file #6935
  • Feat: add es2021 target for rax-compat #6899

v3.4.9

17 Jun 12:58
18c7e3e
Compare
Choose a tag to compare
  • Fix: use jsx-dev-runtime when development #6883
  • Feat: export useAsyncData for component Await #6882
  • Feat: support open specified route and list all available routes #6893
# list all available routes
ice start --list
# open browser on startup with specific home route
ice start --open home
  • Feat: support get locale messages from global #6898
  • Chore: fix the default type of TParams in plugin-request #6885
  • Fix: compat for legacy camelcase props #6878

v3.4.8

21 May 08:38
280b290
Compare
Choose a tag to compare
  • 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

23 Apr 07:39
5e3bed3
Compare
Choose a tag to compare
  • 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

25 Mar 06:40
ea7d71e
Compare
Choose a tag to compare
  • 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
  • Refactor: use the same compiler when build data-loader ( speedup mode only) #6804
  • Fix: ignore basename in single route mode when route do not match #6833
  • Feat: upgrate pack-binding for new compile feature #6832
  • Fix(rax-compat): export createElement for rax-compat #6814

v3.4.5

07 Mar 05:38
1989fc1
Compare
Choose a tag to compare
  • Fix: improve dev sourcemap in speedup mode #6818
  • Fix: compile error when import env variables in app config #6821
  • Feat: optimize style file injection and support in both webpack and speedup mode #6822
  • Fix: align the order and content of custom transformer in different compile mode #6823

v3.4.4

27 Feb 09:47
e2cc5d8
Compare
Choose a tag to compare
  • Feat: use postcss plugin to transform unocss #6790
  • Feat: support keepalive without experimental version of react #6768
  • Fix: update rspack version and fix some compile error in runtime #6796
  • Fix: single router is not work when route path is customized #6810