Some checks failed
Create issues from TODOs / todos (push) Failing after 3s
Close inactive issues / close-issues (push) Has been cancelled
Deploy GitHub Pages / deploy-preview (push) Has been cancelled
CI / ⚙️ Variables Setup (push) Has been cancelled
CI / ⚙️ Test Guard (push) Has been cancelled
CI / 🚀 Notify external services - draft (push) Has been cancelled
CI / 📦 Build Packages (push) Has been cancelled
CI / 📦 Meteor Build (coverage) (push) Has been cancelled
CI / 📦 Meteor Build (production) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [account-service presence-service omnichannel-transcript-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [authorization-service queue-worker-service ddp-streamer-service], fips) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Build Docker (amd64, [rocketchat], fips) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [account-service presence-service omnichannel-transcript-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [authorization-service queue-worker-service ddp-streamer-service], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], ${{ (github.event_name != 'release' && github.ref != 'refs/heads/develop') && 'coverage' || 'production' }}) (push) Has been cancelled
CI / 🚢 Build Docker (arm64, [rocketchat], coverage) (push) Has been cancelled
CI / 🚢 Publish Docker Images (ghcr.io) (push) Has been cancelled
CI / 📦 Track Image Sizes (push) Has been cancelled
CI / 🔎 Code Check - Action Lint (push) Has been cancelled
CI / 🔎 Code Check (push) Has been cancelled
CI / 🔨 Test Storybook (push) Has been cancelled
CI / 🔨 Test Unit (push) Has been cancelled
CI / 🔨 Test API (CE) (push) Has been cancelled
CI / 🔨 Test API Livechat (CE) (push) Has been cancelled
CI / 🔨 Test UI (CE) (push) Has been cancelled
CI / 🔨 Test API (EE) (push) Has been cancelled
CI / 🔨 Test API Livechat (EE) (push) Has been cancelled
CI / 🔨 Test API Apps (deno-runtime - EE) (push) Has been cancelled
CI / 🔨 Test UI (EE) (push) Has been cancelled
CI / 🔨 Test API (FIPS) (push) Has been cancelled
CI / 🔨 Test API Livechat (FIPS) (push) Has been cancelled
CI / 🔨 Test UI (FIPS) (push) Has been cancelled
CI / 🔨 Test Federation Matrix (push) Has been cancelled
CI / 📊 Report Coverage (push) Has been cancelled
CI / ✅ Tests Done (push) Has been cancelled
CI / 🚀 Publish build assets (push) Has been cancelled
CI / 🚀 Publish Docker Images (DockerHub) (push) Has been cancelled
CI / 🚀 Notify external services (push) Has been cancelled
CI / Update Version Durability (push) Has been cancelled
Release / Release (push) Has been cancelled
Auto-close duplicate issues / auto-close-duplicates (push) Failing after 1s
Code scanning - action / CodeQL-Build (push) Failing after 1s
51 lines
2.3 KiB
TypeScript
51 lines
2.3 KiB
TypeScript
import { dirname, join, resolve } from 'path';
|
|
|
|
import baseConfig from '@rocket.chat/storybook-config/main';
|
|
import webpack from 'webpack';
|
|
|
|
export default baseConfig({
|
|
stories: ['../client/**/*.stories.{js,tsx}'],
|
|
|
|
webpackFinal: async (config) => {
|
|
// Those aliases are needed because dependencies in the monorepo use another
|
|
// dependencies that are not hoisted on this workspace
|
|
const swiperRoot = dirname(require.resolve('swiper/package.json'));
|
|
config.resolve = {
|
|
...config.resolve,
|
|
alias: {
|
|
...config.resolve?.alias,
|
|
'react$': require.resolve('../../../node_modules/react'),
|
|
// 'react/jsx-runtime': require.resolve('../../../node_modules/react/jsx-runtime'),
|
|
'@tanstack/react-query': require.resolve('../../../node_modules/@tanstack/react-query'),
|
|
'@rocket.chat/fuselage$': require.resolve('../../../node_modules/@rocket.chat/fuselage'),
|
|
// Meteor's bundler ignores the `exports` field, so source code reaches
|
|
// into swiper's internals via deep file paths. Webpack honors `exports`
|
|
// and rejects them, so map each subpath to the actual file.
|
|
'swiper/swiper-react.mjs$': join(swiperRoot, 'swiper-react.mjs'),
|
|
'swiper/swiper-react$': join(swiperRoot, 'swiper-react.d.ts'),
|
|
'swiper/modules/index.mjs$': join(swiperRoot, 'modules/index.mjs'),
|
|
'swiper/swiper.css$': join(swiperRoot, 'swiper.css'),
|
|
'swiper/modules/zoom.css$': join(swiperRoot, 'modules/zoom.css'),
|
|
},
|
|
// This is only needed because of Rocket.Chat's icon font.
|
|
roots: [...(config.resolve?.roots ?? []), resolve(__dirname, '../../../apps/meteor/public')],
|
|
};
|
|
|
|
// Strip the `env` option that addon-webpack5-compiler-swc injects on swc-loader;
|
|
// it conflicts with `jsc.target` from `.swcrc` (Meteor's Modern Build Stack).
|
|
for (const rule of (config.module?.rules ?? []) as any[]) {
|
|
for (const use of Array.isArray(rule?.use) ? rule.use : []) {
|
|
if (use?.loader?.includes?.('swc-loader') && use.options) delete use.options.env;
|
|
}
|
|
}
|
|
|
|
config.plugins?.push(
|
|
new webpack.NormalModuleReplacementPlugin(/^meteor/, require.resolve('./mocks/meteor.ts')),
|
|
new webpack.NormalModuleReplacementPlugin(/(app)\/*.*\/(server)\/*/, require.resolve('./mocks/empty.ts')),
|
|
new webpack.NormalModuleReplacementPlugin(/rocketchat\.info$/, require.resolve('./mocks/rocketchat.info.ts')),
|
|
);
|
|
|
|
return config;
|
|
},
|
|
});
|