Ice Versions Save

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

@ice/[email protected]

5 months ago

HotFix: the judgment of unsupported syntax #6646

@ice/[email protected]

5 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/[email protected]

5 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/[email protected]

6 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/[email protected]

7 months 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/[email protected]

7 months 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

@ice/[email protected]

7 months ago
  • Ignore static resource when render server entry #6484
  • Runtime in document should compat with old browsers #6478
  • Fix typo of app data specifier which cause twice request of app data loader #6480
  • Bump dependencies version including @swc/core, rspack #6501
  • Compatible with win32 when enable --speedup #6497
  • Mark polyfill signal as es module, so it won't break the compilation #6500

@ice/[email protected]

7 months ago
  • 🎉 Support new bundler (rspack) to speed up both local development, as well as production builds.

Enable feature through ice start --speedup:

{
  "scripts": {
    "start": "ice start --speedup",
    "build": "ice build --speedup"
  },
}
  • 🎉 Update plugin and compiler tools based on Rust, improve compile time.

@ice/[email protected]

8 months ago
  • Fix HMR failed when export pageConfig or dataLoader in page routes #6442
  • Compatible with Win32 when onDemand compiling is enabled #6466
  • Support define route with absolute path
import { defineConfig } from '@ice/app';

export default defineConfig({
  routes: {
    defineRoutes: (route) => {
      // Limitation: about.tsx should locate in root dir
      route('/hello', '/absolute/path/to/about.tsx');
    },
  },
});
  • Add exports of service for node API
// Support Node API for other build tools.
import createService from '@ice/app/service';
const service = createService({ rootDir: '', command: 'start', commadArgs: {} });
service.run();

@ice/[email protected]

8 months ago
// Export runApp in `src/app.ts` allows to customize render options
export const runApp = (render, option) => {
  render();
};