{"ast":null,"code":"var _toConsumableArray = require(\"@babel/runtime/helpers/toConsumableArray\");\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nvar _defineProperty = require(\"@babel/runtime/helpers/defineProperty\");\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/* eslint-disable @typescript-eslint/no-var-requires */\nvar path = require('path');\n\nvar pkg = require('./package.json');\n\nvar publicPath = process.env.PUBLIC_PATH || '';\nvar apiUrl = process.env.API_URL || '/api';\nvar distDir = 'dist';\nvar APP = {\n  name: pkg.name,\n  version: pkg.version,\n  title: pkg.title,\n  description: pkg.description,\n  author: pkg.author,\n  keywords: pkg.keywords.join(',')\n};\nvar DEFAULT_LANGUAGE = 'en';\nvar LOCALE_PATH = 'public/locales';\nvar LANGUAGES = ['en', 'zh'];\nvar otherLanguages = LANGUAGES.filter(function (lang) {\n  return lang !== DEFAULT_LANGUAGE;\n});\nmodule.exports = {\n  target: 'serverless',\n  assetPrefix: publicPath,\n  distDir: distDir,\n  poweredByHeader: false,\n  env: _objectSpread({}, APP, {\n    DEFAULT_LANGUAGE: DEFAULT_LANGUAGE,\n    LOCALE_PATH: LOCALE_PATH,\n    LANGUAGES: LANGUAGES,\n    PUBLIC_PATH: publicPath,\n    API_URL: apiUrl\n  }),\n  exportPathMap: function exportPathMap(defaultPathMap) {\n    return _objectSpread({}, defaultPathMap, {}, Object.entries(defaultPathMap).reduce(function (prev, _ref) {\n      var _ref2 = _slicedToArray(_ref, 2),\n          path = _ref2[0],\n          router = _ref2[1];\n\n      otherLanguages.forEach(function (lang) {\n        return prev[\"/\".concat(lang).concat(path)] = router;\n      });\n      return prev;\n    }, {}));\n  },\n  experimental: {\n    basePath: publicPath\n  },\n  webpack: function webpack(config, _ref3) {\n    var dev = _ref3.dev,\n        _webpack = _ref3.webpack;\n\n    var WorkerPlugin = require('worker-plugin');\n\n    config.output.webassemblyModuleFilename = 'static/wasm/[modulehash].wasm';\n    config.resolve = config.resolve || {};\n    config.resolve.alias = config.resolve.alias || {};\n    config.resolve.alias['~'] = path.resolve(__dirname);\n    config.node = Object.assign({}, config.node, {\n      // eslint-disable-next-line @typescript-eslint/camelcase\n      child_process: 'empty',\n      fs: 'empty'\n    });\n    config.plugins = [].concat(_toConsumableArray(config.plugins || []), [new WorkerPlugin({\n      globalObject: 'self'\n    })]);\n\n    if (!dev || !!process.env.WITH_WASM) {\n      var WasmPackPlugin = require('@wasm-tool/wasm-pack-plugin');\n\n      config.plugins.push(new WasmPackPlugin({\n        crateDirectory: path.resolve(__dirname, 'wasm'),\n        outDir: 'dist',\n        outName: 'index'\n      }));\n    } else {\n      config.plugins.push(new _webpack.IgnorePlugin(/^~\\/wasm\\//));\n    }\n\n    return config;\n  }\n};","map":null,"metadata":{},"sourceType":"script"}