diff options
Diffstat (limited to 'animism-align')
| -rw-r--r-- | animism-align/cli/commands/site/export.py | 14 | ||||
| -rw-r--r-- | animism-align/frontend/app/constants.js | 4 | ||||
| -rw-r--r-- | animism-align/frontend/site/index.js | 1 | ||||
| -rw-r--r-- | animism-align/webpack.config.prod.js | 4 | ||||
| -rw-r--r-- | animism-align/webpack.config.site.js | 67 |
5 files changed, 83 insertions, 7 deletions
diff --git a/animism-align/cli/commands/site/export.py b/animism-align/cli/commands/site/export.py index e1d5e58..29804c1 100644 --- a/animism-align/cli/commands/site/export.py +++ b/animism-align/cli/commands/site/export.py @@ -45,6 +45,12 @@ def cli(ctx, opt_output_dir): prune_db(db) media_to_copy = rewrite_db_media(db, site_fp_media, media_url) + db['urls'] = { 'audio': 'media/animism_episode_01.mp3' } + media_to_copy.append({ + 'src': join(app_cfg.DIR_DATA_STORE, 'peaks/animism_episode_01_2810.mp3'), + 'dst': join(site_fp_media, 'animism_episode_01.mp3'), + }) + # ------------------------------------------------ # build the index.html @@ -82,10 +88,10 @@ def cli(ctx, opt_output_dir): # ------------------------------------------------ # build javascript - # print("Building javascript...") - # print(f'NODE_ENV=production node ./node_modules/webpack-cli/bin/cli.js --config ./webpack.config.site.js -o {graph_dir}/bundle.js') - # os.chdir(app_cfg.DIR_PROJECT_ROOT) - # os.system(f'NODE_ENV=production node ./node_modules/webpack-cli/bin/cli.js --config ./webpack.config.site.js -o {graph_dir}/bundle.js') + print("Building javascript...") + print(f'NODE_ENV=production node ./node_modules/webpack-cli/bin/cli.js --config ./webpack.config.site.js -o {site_fp_out}/bundle.js') + os.chdir(app_cfg.DIR_PROJECT_ROOT) + os.system(f'NODE_ENV=production node ./node_modules/webpack-cli/bin/cli.js --config ./webpack.config.site.js -o {site_fp_out}/bundle.js') print("Site export complete!") print(f"Site exported to: {site_fp_out}") diff --git a/animism-align/frontend/app/constants.js b/animism-align/frontend/app/constants.js index 75137b6..62e9458 100644 --- a/animism-align/frontend/app/constants.js +++ b/animism-align/frontend/app/constants.js @@ -4,7 +4,9 @@ export const { NODE_ENV } = process.env export const ENV_DEVELOPMENT = NODE_ENV !== 'production' export const ENV_PRODUCTION = NODE_ENV === 'production' -export const URLS = { +export const URLS = ENV_PRODUCTION ? { + audio: 'media/animism_episode_01_2810.mp3', +} : { audio: '/static/data_store/peaks/animism_episode_01_2810.mp3', peaks: '/static/data_store/peaks/peaks.json', text: '/static/data_store/peaks/text.txt', diff --git a/animism-align/frontend/site/index.js b/animism-align/frontend/site/index.js index 838b012..ab7c998 100644 --- a/animism-align/frontend/site/index.js +++ b/animism-align/frontend/site/index.js @@ -3,6 +3,7 @@ import ReactDOM from 'react-dom' import { Provider } from 'react-redux' import './site.css' +import 'app/common/forms.css' import { store } from './store' diff --git a/animism-align/webpack.config.prod.js b/animism-align/webpack.config.prod.js index b57c765..ae3cc45 100644 --- a/animism-align/webpack.config.prod.js +++ b/animism-align/webpack.config.prod.js @@ -18,8 +18,8 @@ module.exports = { plugins: [ new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify("production"), - 'process.env.S3_HOST': JSON.stringify(process.env.S3_HOST || ""), - 'process.env.API_HOST': JSON.stringify(process.env.API_HOST || ""), + // 'process.env.S3_HOST': JSON.stringify(process.env.S3_HOST || ""), + // 'process.env.API_HOST': JSON.stringify(process.env.API_HOST || ""), }), new TerserPlugin(), new webpack.optimize.AggressiveMergingPlugin(), diff --git a/animism-align/webpack.config.site.js b/animism-align/webpack.config.site.js new file mode 100644 index 0000000..35ce715 --- /dev/null +++ b/animism-align/webpack.config.site.js @@ -0,0 +1,67 @@ +require('dotenv').config() + +const webpack = require('webpack') +const path = require('path') +const TerserPlugin = require('terser-webpack-plugin') + +module.exports = { + mode: "production", + entry: { + main: './frontend/site/index.js' + }, + output: { + path: path.resolve(__dirname, 'static/js/dist'), + filename: 'bundle.js' + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': JSON.stringify("production"), + // 'process.env.S3_HOST': JSON.stringify(process.env.S3_HOST || ""), + // 'process.env.API_HOST': JSON.stringify(process.env.API_HOST || ""), + '__REACT_DEVTOOLS_GLOBAL_HOOK__': '({ isDisabled: true })' + }), + new TerserPlugin(), + new webpack.optimize.AggressiveMergingPlugin(), + // new Visualizer({ + // filename: './statistics.html' + // }) + ], + optimization: { + minimize: true, + minimizer: [new TerserPlugin({ + terserOptions: { + compress: { + // drop_console: true, + } + } + })], + }, + resolve: { + alias: { + // "react": "preact/compat", + // "react-dom/test-utils": "preact/test-utils", + // "react-dom": "preact/compat", + } + }, + devtool: 'cheap-module-source-map', + module: { + rules: [ + { + test: /\.css$/, + use: ['style-loader', 'css-loader'] + }, + { + test: /\.js$/, + // include: path.resolve(__dirname, 'client'), + exclude: /(node_modules|bower_components|build)/, + loader: 'babel-loader', + options: { + presets: ['@babel/preset-react'], + plugins: [ + "@babel/plugin-transform-runtime", + ], + } + } + ] + }, +}; |
