diff options
author | Paul Frazee <pfrazee@gmail.com> | 2023-03-13 16:01:43 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-13 16:01:43 -0500 |
commit | 56cf890debeb9872f791ccb992a5587f2c05fd9e (patch) | |
tree | 929453b41274a712d8b2fce441e98a0cd030d305 /web/webpack.config.js | |
parent | 503e03d91e1de4bfeabec1eb2d97dcdceb13fcc5 (diff) | |
download | voidsky-56cf890debeb9872f791ccb992a5587f2c05fd9e.tar.zst |
Move to expo and react-navigation (#288)
* WIP - adding expo * WIP - adding expo 2 * Fix tsc * Finish adding expo * Disable the 'require cycle' warning * Tweak plist * Modify some dependency versions to make expo happy * Fix icon fill * Get Web compiling for expo * 1.7 * Switch to react-navigation in expo2 (#287) * WIP Switch to react-navigation * WIP Switch to react-navigation 2 * WIP Switch to react-navigation 3 * Convert all screens to react navigation * Update BottomBar for react navigation * Update mobile menu to be react-native drawer * Fixes to drawer and bottombar * Factor out some helpers * Replace the navigation model with react-navigation * Restructure the shell folder and fix the header positioning * Restore the error boundary * Fix tsc * Implement not-found page * Remove react-native-gesture-handler (no longer used) * Handle notifee card presses * Handle all navigations from the state layer * Fix drawer behaviors * Fix two linking issues * Switch to our react-native-progress fork to fix an svg rendering issue * Get Web working with react-navigation * Refactor routes and navigation for a bit more clarity * Remove dead code * Rework Web shell to left/right nav to make this easier * Fix ViewHeader for desktop web * Hide profileheader back btn on desktop web * Move the compose button to the left nav * Implement reply prompt in threads for desktop web * Composer refactors * Factor out all platform-specific text input behaviors from the composer * Small fix * Update the web build to use tiptap for the composer * Tune up the mention autocomplete dropdown * Simplify the default avatar and banner * Fixes to link cards in web composer * Fix dropdowns on web * Tweak load latest on desktop * Add web beta message and feedback link * Fix up links in desktop web
Diffstat (limited to 'web/webpack.config.js')
-rw-r--r-- | web/webpack.config.js | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/web/webpack.config.js b/web/webpack.config.js deleted file mode 100644 index d74cdd542..000000000 --- a/web/webpack.config.js +++ /dev/null @@ -1,121 +0,0 @@ -const path = require('path') -const HtmlWebpackPlugin = require('html-webpack-plugin') -const webpackEnv = process.env.NODE_ENV || 'development' - -const appDirectory = path.resolve(__dirname, '../') - -// NOTE: node modules that ship as typescript must be listed here -const uncompiled_deps = [ - '@bam.tech/react-native-image-resizer', - 'react-native-fs', - 'rn-fetch-blob', - 'react-native-root-siblings', - 'react-native-linear-gradient', -] - -const babelLoaderConfiguration = { - test: /\.(js|jsx|ts|tsx)$/, - include: [ - path.resolve(appDirectory, 'index.web.js'), - path.resolve(appDirectory, 'src'), - ...uncompiled_deps.map(dep => - path.resolve(appDirectory, `node_modules/${dep}`), - ), - ], - use: { - loader: 'babel-loader', - options: { - cacheDirectory: true, - presets: ['module:metro-react-native-babel-preset'], - plugins: ['react-native-web'], - }, - }, -} - -const imageLoaderConfiguration = { - test: /\.(gif|jpe?g|png|svg)$/, - use: { - loader: 'url-loader', - options: { - name: '[name].[ext]', - esModule: false, - }, - }, -} - -const reactNativeWebWebviewConfiguration = { - test: /postMock.html$/, - use: { - loader: 'file-loader', - options: { - name: '[name].[ext]', - }, - }, -} - -module.exports = { - mode: webpackEnv, - - entry: [ - // NOTE: load any web API polyfills needed here - path.resolve(appDirectory, 'index.web.js'), - ], - - output: { - filename: 'bundle.web.js', - path: path.resolve(appDirectory, 'dist'), - }, - - plugins: [ - new HtmlWebpackPlugin({ - template: path.join(appDirectory, './public/index.html'), - }), - ], - - module: { - rules: [ - babelLoaderConfiguration, - imageLoaderConfiguration, - reactNativeWebWebviewConfiguration, - ], - }, - - devServer: { - historyApiFallback: { - rewrites: [ - {from: /.*\/bundle.web.js/, to: '/bundle.web.js'}, - { - from: /.*^\/(.*.hot-update.json)$/, - to: function (context) { - return '/' + context.parsedUrl.pathname.split('/').pop() - }, - }, - { - from: /.*^\/(.*.hot-update.js)$/, - to: function (context) { - return '/' + context.parsedUrl.pathname.split('/').pop() - }, - }, - {from: /.*/, to: '/index.html'}, - ], - }, - }, - - resolve: { - alias: { - 'react-native$': 'react-native-web', - 'react-native-linear-gradient': 'react-native-web-linear-gradient', - 'react-native-webview': 'react-native-web-webview', - }, - extensions: [ - '.web.tsx', - '.web.ts', - '.tsx', - '.ts', - '.web.jsx', - '.web.js', - '.jsx', - '.js', - ], - }, -} |