mirror of https://github.com/alibaba/ice.git
fix: several bug when bump pack dependencies (#6689)
* fix: serveral bug when bump dependencies * fix: compile error * chore: bump version
This commit is contained in:
parent
a68ff48d8e
commit
7d193fe96b
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
'@ice/rspack-config': patch
|
||||
'@ice/app': patch
|
||||
---
|
||||
|
||||
fix: css module hash and HMR
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
'@ice/webpack-config': patch
|
||||
'@ice/shared-config': patch
|
||||
---
|
||||
|
||||
fix: optimize utils
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
"zod": "^3.21.4",
|
||||
"zod-validation-error": "1.2.0",
|
||||
"terminal-link": "^2.1.1",
|
||||
"@ice/pack-binding": "0.0.2",
|
||||
"@ice/pack-binding": "0.0.3",
|
||||
"@rspack/plugin-react-refresh": "0.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,3 @@
|
|||
import RefreshPlugin from '@rspack/plugin-react-refresh';
|
||||
|
||||
export default RefreshPlugin;
|
||||
|
|
@ -82,7 +82,7 @@ const getConfig: GetConfig = async (context, options, rspack) => {
|
|||
},
|
||||
getRoutesFile,
|
||||
getExpandedEnvs,
|
||||
localIdentName: config.mode === 'development' ? CSS_MODULES_LOCAL_IDENT_NAME_DEV : CSS_MODULES_LOCAL_IDENT_NAME,
|
||||
localIdentName: config.cssModules?.localIdentName || (config.mode === 'development' ? CSS_MODULES_LOCAL_IDENT_NAME_DEV : CSS_MODULES_LOCAL_IDENT_NAME),
|
||||
taskConfig: {
|
||||
...config,
|
||||
plugins: (config.plugins || []).concat(plugins),
|
||||
|
|
|
|||
|
|
@ -72,14 +72,16 @@ const createAssetsPlugin = (compilationInfo: CompilationInfo | (() => Compilatio
|
|||
let url = '';
|
||||
// Suffix `?url` will generate content hash in assets manifest,
|
||||
// keep the same file rule with client side.
|
||||
const contentHash = manifest?.assetsManifest!.assets[`${relativePath}${args.suffix}`];
|
||||
const contentHash = manifest?.assetsManifest?.assets?.[`${relativePath}${args.suffix}`];
|
||||
if (contentHash) {
|
||||
const basename = path.basename(args.path);
|
||||
const extname = path.extname(basename);
|
||||
const ext = extname.substring(1);
|
||||
const name = basename.slice(0, -extname.length);
|
||||
// In case of rspack bundler it will return full hash even it is set to [hash:8].
|
||||
const hash = contentHash.length > 8 ? contentHash.slice(0, 8) : contentHash;
|
||||
// assets/[name].[hash:8][ext]
|
||||
url = `${manifest?.assetsManifest.publicPath}assets/${name}.${contentHash}.${ext}`;
|
||||
url = `${manifest?.assetsManifest.publicPath}assets/${name}.${hash}.${ext}`;
|
||||
} else {
|
||||
url = `data:${mrmime.lookup(args.path)};base64,${content.toString('base64')}`;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,11 @@
|
|||
import * as path from 'path';
|
||||
import { createRequire } from 'module';
|
||||
import { compilationPlugin, compileExcludes, getDefineVars, getCompilerPlugins, getJsxTransformOptions } from '@ice/shared-config';
|
||||
import { compilationPlugin, compileExcludes, getDefineVars, getCompilerPlugins, getJsxTransformOptions, getAliasWithRoot } from '@ice/shared-config';
|
||||
import type { Config, ModifyWebpackConfig } from '@ice/shared-config/types';
|
||||
import type { Configuration, rspack as Rspack } from '@rspack/core';
|
||||
import lodash from '@ice/bundles/compiled/lodash/index.js';
|
||||
import { coreJsPath } from '@ice/bundles';
|
||||
import RefreshPlugin from '@ice/bundles/esm/plugin-refresh.js';
|
||||
import getSplitChunks from './splitChunks.js';
|
||||
import getAssetsRule from './assetsRule.js';
|
||||
import getCssRules from './cssRules.js';
|
||||
|
|
@ -26,6 +28,7 @@ type GetConfig = (
|
|||
const require = createRequire(import.meta.url);
|
||||
|
||||
const { merge } = lodash;
|
||||
|
||||
const getConfig: GetConfig = async (options) => {
|
||||
const {
|
||||
rootDir,
|
||||
|
|
@ -62,6 +65,7 @@ const getConfig: GetConfig = async (options) => {
|
|||
configureWebpack = [],
|
||||
minimizerOptions = {},
|
||||
} = taskConfig || {};
|
||||
const isDev = mode === 'development';
|
||||
const absoluteOutputDir = path.isAbsolute(outputDir) ? outputDir : path.join(rootDir, outputDir);
|
||||
const hashKey = hash === true ? 'hash:8' : (hash || '');
|
||||
const compilation = compilationPlugin({
|
||||
|
|
@ -129,7 +133,7 @@ const getConfig: GetConfig = async (options) => {
|
|||
use: {
|
||||
loader: 'builtin:compilation-loader',
|
||||
options: {
|
||||
swcOptions: getJsxTransformOptions({ suffix: 'jsx', rootDir, mode, fastRefresh: false, polyfill, enableEnv: true }),
|
||||
swcOptions: getJsxTransformOptions({ suffix: 'jsx', rootDir, mode, fastRefresh: isDev, polyfill, enableEnv: true }),
|
||||
transformFeatures: {
|
||||
removeExport: swcOptions.removeExportExprs,
|
||||
keepExport: swcOptions.keepExports,
|
||||
|
|
@ -146,7 +150,11 @@ const getConfig: GetConfig = async (options) => {
|
|||
],
|
||||
},
|
||||
resolve: {
|
||||
alias,
|
||||
alias: {
|
||||
// Always lock the corejs version, it is decided by shared-config.
|
||||
'core-js': coreJsPath,
|
||||
...getAliasWithRoot(rootDir, alias),
|
||||
},
|
||||
},
|
||||
watchOptions: {
|
||||
ignored: /node_modules/,
|
||||
|
|
@ -163,10 +171,10 @@ const getConfig: GetConfig = async (options) => {
|
|||
...plugins,
|
||||
// Unplugin should be compatible with rspack.
|
||||
...compilerWebpackPlugins,
|
||||
isDev && new RefreshPlugin(),
|
||||
new DefinePlugin(getDefineVars(define, runtimeDefineVars, getExpandedEnvs)),
|
||||
new ProvidePlugin({
|
||||
process: [require.resolve('process/browser')],
|
||||
$ReactRefreshRuntime$: [require.resolve('./client/reactRefresh.cjs')],
|
||||
}),
|
||||
!!minify && new SwcJsMinimizerRspackPlugin(jsMinimizerPluginOptions),
|
||||
].filter(Boolean),
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
import * as path from 'path';
|
||||
|
||||
function getAliasWithRoot(rootDir: string, alias?: Record<string, string | boolean>) {
|
||||
const aliasWithRoot = {};
|
||||
Object.keys(alias).forEach((key) => {
|
||||
const aliasValue = alias[key];
|
||||
aliasWithRoot[key] = (aliasValue && typeof aliasValue === 'string' && aliasValue.startsWith('.')) ? path.join(rootDir, aliasValue) : aliasValue;
|
||||
});
|
||||
return aliasWithRoot;
|
||||
}
|
||||
|
||||
export default getAliasWithRoot;
|
||||
|
|
@ -4,6 +4,7 @@ import getCompilerPlugins from './getCompilerPlugins.js';
|
|||
import getDefineVars from './getDefineVars.js';
|
||||
import getPostcssOpts from './getPostcssOpts.js';
|
||||
import getCSSModuleLocalIdent from './getCSSModuleLocalIdent.js';
|
||||
import getAliasWithRoot from './getAlias.js';
|
||||
|
||||
export {
|
||||
getCSSModuleLocalIdent,
|
||||
|
|
@ -15,4 +16,5 @@ export {
|
|||
getCompilerPlugins,
|
||||
getDefineVars,
|
||||
getPostcssOpts,
|
||||
getAliasWithRoot,
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ import ESlintPlugin from '@ice/bundles/compiled/eslint-webpack-plugin/index.js';
|
|||
import CopyPlugin from '@ice/bundles/compiled/copy-webpack-plugin/index.js';
|
||||
import type { NormalModule, Compiler, Configuration } from 'webpack';
|
||||
import type webpack from 'webpack';
|
||||
import { compilationPlugin, compileExcludes, getCompilerPlugins, getDefineVars } from '@ice/shared-config';
|
||||
import { compilationPlugin, compileExcludes, getCompilerPlugins, getDefineVars, getAliasWithRoot } from '@ice/shared-config';
|
||||
import type { Config, ModifyWebpackConfig } from '@ice/shared-config/types.js';
|
||||
import configAssets from './config/assets.js';
|
||||
import configCss from './config/css.js';
|
||||
|
|
@ -59,16 +59,6 @@ function getEntry(rootDir: string, runtimeTmpDir: string) {
|
|||
};
|
||||
}
|
||||
|
||||
// format alias
|
||||
export function getAliasWithRoot(rootDir: string, alias?: Record<string, string | boolean>) {
|
||||
const aliasWithRoot = {};
|
||||
Object.keys(alias).forEach((key) => {
|
||||
const aliasValue = alias[key];
|
||||
aliasWithRoot[key] = (aliasValue && typeof aliasValue === 'string' && aliasValue.startsWith('.')) ? path.join(rootDir, aliasValue) : aliasValue;
|
||||
});
|
||||
return aliasWithRoot;
|
||||
}
|
||||
|
||||
export function getWebpackConfig(options: GetWebpackConfigOptions): Configuration {
|
||||
const {
|
||||
rootDir,
|
||||
|
|
|
|||
|
|
@ -1268,8 +1268,8 @@ importers:
|
|||
specifier: 0.0.6
|
||||
version: 0.0.6
|
||||
'@ice/pack-binding':
|
||||
specifier: 0.0.2
|
||||
version: 0.0.2
|
||||
specifier: 0.0.3
|
||||
version: 0.0.3
|
||||
'@ice/swc-plugin-keep-export':
|
||||
specifier: 0.2.0
|
||||
version: 0.2.0
|
||||
|
|
@ -6647,8 +6647,8 @@ packages:
|
|||
'@ice/css-modules-hash-win32-x64-msvc': 0.0.6
|
||||
dev: false
|
||||
|
||||
/@ice/pack-binding-darwin-arm64@0.0.2:
|
||||
resolution: {integrity: sha512-OvwDHEqcYr5coVgQGLQxb90MTC6/ySnmQkq03dikAMf8w3o5ooMzqSfRGLL8uAqBBhNNNipYPI97C7b9Pz+eaw==}
|
||||
/@ice/pack-binding-darwin-arm64@0.0.3:
|
||||
resolution: {integrity: sha512-uYpNCOnhsfGouHEgctCiW9P8iAcEs633NBK6HqKENq4Mzjtu/gZIDH/kfBe7QtaIpSYttkfzWxkPg7oigcHvrA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [darwin]
|
||||
|
|
@ -6656,16 +6656,16 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-darwin-universal@0.0.2:
|
||||
resolution: {integrity: sha512-TG0e5NT6r2+yzL3eBU20RegLfWHDXjSyPjfQc0HM9sWgAHABQ0q+gE47rTv0ThWL8vC1uh4jlhPamwUCpjvLoQ==}
|
||||
/@ice/pack-binding-darwin-universal@0.0.3:
|
||||
resolution: {integrity: sha512-LjciyuX32M5WEuheUGE+juDJTGHcgsvs3fUpl6GAhM+DfgQAbROUVVsF1djmOxAAwJwYIR75SY3BlMIdlthkyQ==}
|
||||
engines: {node: '>= 10'}
|
||||
os: [darwin]
|
||||
requiresBuild: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-darwin-x64@0.0.2:
|
||||
resolution: {integrity: sha512-WcNGfHUClA4x0KjZf9ju0hG0/xFHnMUR1neoEyMw0UW1m6jZF76aWKBfQABocZkFV+veIyTZFXs/2GAmGZOJYw==}
|
||||
/@ice/pack-binding-darwin-x64@0.0.3:
|
||||
resolution: {integrity: sha512-qpvhz48oakCBYTIV1x/4mujVkbh0b3R1TthOB5MXQ4N3orXj6VqlP0WzzDOersRxmqrPlqDcVzuTThow5Go4xA==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [darwin]
|
||||
|
|
@ -6673,8 +6673,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-linux-x64-gnu@0.0.2:
|
||||
resolution: {integrity: sha512-FQM056bjtP3gyp1ilS7PdrNMhpfwJS1PJvktw0LsrulCrsg+7vkUSvYHY5Jb2IcUAWX0JvTOhvyUeFQ4sN4S6A==}
|
||||
/@ice/pack-binding-linux-x64-gnu@0.0.3:
|
||||
resolution: {integrity: sha512-rFKwOpsHdDP3/d+j88N2LAve23HIzFjjfGweyoE6fjkZ3PPdx+8gkBzMR7jV1P4SXietsm/uoWfK71dhmlf76A==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
|
@ -6682,8 +6682,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-linux-x64-musl@0.0.2:
|
||||
resolution: {integrity: sha512-h2ELqYZbo/Ckpa0YS6U0z+/oFsJ7gVcta4Ib8IWjUdoXQpK4r37DxY7GdDe+VafGoYGwSJijdzbYQRYsobSVhQ==}
|
||||
/@ice/pack-binding-linux-x64-musl@0.0.3:
|
||||
resolution: {integrity: sha512-qgdnZLQdARL3uMc+Ey/2arxCfOil4Km8xfI+rZhhNDPItsuk9kJenuSRO5FmXTtYqKWHsNT/Dj87d0KiuW/Ejw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [linux]
|
||||
|
|
@ -6691,8 +6691,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-win32-arm64-msvc@0.0.2:
|
||||
resolution: {integrity: sha512-hgxGL5c2gReksGcPeLkdgtmTBKC8baxb7ZAXN3HQoYyT8TJmTjeG6tJvDAfoJU7k6VrGWD2IQvdjWGSsdHUQzw==}
|
||||
/@ice/pack-binding-win32-arm64-msvc@0.0.3:
|
||||
resolution: {integrity: sha512-I7fukJd68UVVZpv978+7VXmSP1LrkoSWydiKECbqOHdOm6o9/d7j6p6W1/QBWs5YUYtvGgRV1LzeT121nL3Bvw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [arm64]
|
||||
os: [win32]
|
||||
|
|
@ -6700,8 +6700,8 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding-win32-x64-msvc@0.0.2:
|
||||
resolution: {integrity: sha512-TRacy9q8O2GLS1vA1Mh6ySPvpmzN459sTaOQ21WoGdbq+z6lrAgEKezbdB50hUoNZsw4DBDIPKwzZv2hhJGb6w==}
|
||||
/@ice/pack-binding-win32-x64-msvc@0.0.3:
|
||||
resolution: {integrity: sha512-GyXpRpWgFy5O24V/ZedFpfkABSdVvB6H5m7yd1Xq4heHy35/UQrbdhJstK/KfPskW/sSCWYH39cYdnODOXaHnw==}
|
||||
engines: {node: '>= 10'}
|
||||
cpu: [x64]
|
||||
os: [win32]
|
||||
|
|
@ -6709,17 +6709,17 @@ packages:
|
|||
dev: false
|
||||
optional: true
|
||||
|
||||
/@ice/pack-binding@0.0.2:
|
||||
resolution: {integrity: sha512-UkWq7iZG0pH3u4yaU0lVRJjQT8CKfaRyPWSfiD6M8A8klRs3Ksd+yRWqsaIlQ6TxpQ9LvtAGKdAWBEYoJHqm/Q==}
|
||||
/@ice/pack-binding@0.0.3:
|
||||
resolution: {integrity: sha512-Y9GefjNG0RAJwyPNPOJohYCodZ0RTiMKn3ok0lJEYI53wsTc8ueBeoMQC96Fs03UvzOwNd252fD+0RMc4MWXeQ==}
|
||||
engines: {node: '>= 10'}
|
||||
optionalDependencies:
|
||||
'@ice/pack-binding-darwin-arm64': 0.0.2
|
||||
'@ice/pack-binding-darwin-universal': 0.0.2
|
||||
'@ice/pack-binding-darwin-x64': 0.0.2
|
||||
'@ice/pack-binding-linux-x64-gnu': 0.0.2
|
||||
'@ice/pack-binding-linux-x64-musl': 0.0.2
|
||||
'@ice/pack-binding-win32-arm64-msvc': 0.0.2
|
||||
'@ice/pack-binding-win32-x64-msvc': 0.0.2
|
||||
'@ice/pack-binding-darwin-arm64': 0.0.3
|
||||
'@ice/pack-binding-darwin-universal': 0.0.3
|
||||
'@ice/pack-binding-darwin-x64': 0.0.3
|
||||
'@ice/pack-binding-linux-x64-gnu': 0.0.3
|
||||
'@ice/pack-binding-linux-x64-musl': 0.0.3
|
||||
'@ice/pack-binding-win32-arm64-msvc': 0.0.3
|
||||
'@ice/pack-binding-win32-x64-msvc': 0.0.3
|
||||
dev: false
|
||||
|
||||
/@ice/pkg@1.5.5:
|
||||
|
|
|
|||
Loading…
Reference in New Issue