tauri/tooling/cli.js/webpack.config.js
Noah Klayman df305b234b
feat(cli/tauri.js): download prebuilt cli (#1452)
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
2021-04-13 22:09:13 -03:00

66 lines
1.5 KiB
JavaScript

const path = require('path')
const nodeExternals = require('webpack-node-externals')
module.exports = {
entry: {
'api/cli': './src/api/cli.ts',
'api/tauricon': './src/api/tauricon.ts',
'api/dependency-manager': './src/api/dependency-manager/index.ts',
'helpers/spawn': './src/helpers/spawn.ts',
'helpers/rust-cli': './src/helpers/rust-cli.ts',
'helpers/download-cli': './src/helpers/download-cli.ts'
},
mode: process.env.NODE_ENV || 'development',
devtool: 'source-map',
module: {
rules: [
{
test: /\.tsx?$/,
use: 'ts-loader',
exclude: /node_modules/
},
{
test: /(templates|api)[\\/].+\.js/,
use: 'raw-loader'
},
{
test: /\.toml?$/,
use: 'toml-loader'
}
]
},
node: false,
resolve: {
extensions: ['.ts', '.js']
},
output: {
library: 'tauri',
libraryTarget: 'umd',
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
externals: [nodeExternals()],
target: 'node'
}
function schemaParser(schemaName, content) {
const lines = content.split('\n')
const output = []
for (const line of lines) {
if (line === `export const ${schemaName} = {`) {
output.push('{')
} else if (output.length) {
if (line === '}') {
output.push('}')
break
}
output.push(line)
}
}
const json = output.join('\n')
const object = eval(`(${json})`)
return JSON.stringify(object, null, 2)
}