ice

🚀 ice.js: The Progressive App Framework Based On React(基于 React 的渐进式应用框架)

MIT License

Downloads
17.2K
Stars
17.8K
Committers
83

Bot releases are hidden (Show)

ice - v3.4.11

Published by ClarkXia 21 days ago

  • Fix: align copy plugin with webpack mode #6961
  • Fix: modify meta.renderer in server runner #6952
  • Fix: support compileDependencies in speedup mode #6925
ice - v3.4.10 Latest Release

Published by ClarkXia 3 months ago

  • 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
ice - v3.4.9

Published by ClarkXia 4 months ago

  • 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
ice - v3.4.8

Published by ClarkXia 5 months ago

  • 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
ice - v3.4.7

Published by ClarkXia 6 months ago

  • 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
ice - v3.4.6

Published by ClarkXia 7 months ago

  • 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
ice - v3.4.5

Published by ClarkXia 7 months ago

  • 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
ice - v3.4.4

Published by ClarkXia 8 months ago

  • 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
ice - v3.4.3

Published by ClarkXia 9 months ago

  • 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
ice - v3.4.2

Published by ClarkXia 9 months ago

  • 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
ice - v3.4.1

Published by ClarkXia 9 months ago

  • Deal with assets when pre bundle third-party dependencies #6688
  • Fix unstable_Offscreen to unstable_Activity for React experiment API changed #6694
  • Optimize compile Rules for build performance #6719
  • Support data loader when use speedup mode #6727
  • Fix build error when disable code splitting #6727
  • Fix pack error when using component of fusion #6727
ice - v3.4.0

Published by ClarkXia 9 months ago

Improve the build speed by implement customize Rspack plugins and loaders by Rust. The build speed and HMR has been significantly improved in speedup mode. PR #6680

  • Bump rspack/core to 0.4.3
  • Replace native binding with @ice/pack-binding which is based on Rspack
  • Pre-bundle rspack bundler to override the implementation options
ice - v3.3.9

Published by ClarkXia 10 months ago

  • Feat: support plugin of Unocss #6665

    Install @ice/plugin-unocss:

    $ npm install @ice/plugin-unocss --save-dev
    

    Configure it in ice.config.mts:

    import { defineConfig } from '@ice/app';
    import Unocss from '@ice/plugin-unocss';
    
    export default defineConfig(() => ({
      plugins: [
        Unocss(),
      ]
    }));
    

    Plugin has a default preset @unocss/preset-uno for UnoCSS.

  • Feat: add default export of rax-compat #6643

  • Fix: better error handling of build script #6672

  • Chore: remove type exports #6651

ice - v3.3.8

Published by ClarkXia 11 months ago

Fix: re-order transform plugins #6649

ice - v3.3.7

Published by ClarkXia 11 months ago

HotFix: the judgment of unsupported syntax #6646

ice - v3.3.6

Published by ClarkXia 11 months ago

  • Support custom transform plugins in speedup mode, so plugin-store will works properly.
  • Fix compile config of data-loader, cont-and-let will be transformed if necessary.
  • Fix: assets rule in speedup mode #6632
  • Fix: do not minify assets in public by default #6631
ice - v3.3.5

Published by ClarkXia 11 months ago

  • Suppport default document #6580
  • Remove unnecessary clone deep in plugin-compat-rax #6576
  • Do not pre-bundle node built-in modules #6581
ice - v3.3.4

Published by ClarkXia 12 months ago

  • Compat with document file has extension of js, jsx #6545
  • Deal with json file when use on-demand compile #6548
  • Add typesVersions for @ice/app export fields support #6544
  • Update route config even if dataLoader is not defined #6552
  • Fix get flatten routes which nested level more than 3 #6555
  • Unnecessary to parse search query in FC #6572
  • Add type definition of runApp #6554
  • Return render root in case of plugin may depend on it #6571
  • Compat with Win32 when configure themePackage of plugin fusion #6565
  • Export createElement of react in @ice/runtime #6562
  • Support plugin API of configureWebpack in speedup mode #6564
  • Fix user compilation config lost when use plugin-rax-compat #6568
ice - v3.3.3

Published by ClarkXia about 1 year ago

  • Support config css modules name by user config #6289
import { defineConfig } from '@ice/app';

export default defineConfig(() => ({
  cssModules: {
    localIdentName: '[hash:8]',
  },
}));
  • New plugin deal with stream error, it will fallback to CSR automatically when steam error #6530
import { defineConfig } from '@ice/app';
import streamError from '@ice/plugin-stream-error';

export default defineConfig(() => ({
  plugins: [
    streamError(),
  ],
}));
  • Compat with the build case which do not need document #6536
ice - v3.3.2

Published by ClarkXia about 1 year ago

  • Throw error when server compile failed #6508
  • Should not import runtime module and routes when CSR #6507
  • Redirect import of definePageConfig #6505
  • Remove sourcemap definition when publish packages #6511
  • Do not store base64 automatically while it may cause insufficient memory #6488
  • Support custom middleware for speedup mode #6520
  • Browser compatibility of dataLoader #6522
  • Fix params urls for hooks before.start.run #6525
  • Fix hydration error when use plugin-canvas #6521
Package Rankings
Top 1.21% on Npmjs.org
Related Projects