소스 검색

refactor(tauri.js) keep folder structure on /dist (#235)

Lucas Fernandes Nogueira 5 년 전
부모
커밋
7845ec0e7a

+ 1 - 1
cli/tauri.js/bin/tauri-build.js

@@ -20,6 +20,6 @@ if (argv.help) {
   process.exit(0)
 }
 
-const build = require('../dist/build')
+const build = require('../dist/api/build')
 
 build({ ctx: { debug: argv.debug } })

+ 1 - 1
cli/tauri.js/bin/tauri-dev.js

@@ -19,6 +19,6 @@ if (argv.help) {
   process.exit(0)
 }
 
-const dev = require('../dist/dev')
+const dev = require('../dist/api/dev')
 
 dev()

+ 1 - 1
cli/tauri.js/bin/tauri-icon.js

@@ -1,5 +1,5 @@
 const parseArgs = require('minimist')
-const { tauricon } = require('../dist/tauricon')
+const { tauricon } = require('../dist/api/tauricon')
 
 /**
  * @type {object}

+ 1 - 1
cli/tauri.js/bin/tauri-init.js

@@ -39,7 +39,7 @@ if (argv.help) {
   process.exit(0)
 }
 
-const init = require('../dist/init')
+const init = require('../dist/api/init')
 
 init({
   directory: argv.d || process.cwd(),

+ 1 - 0
cli/tauri.js/package.json

@@ -95,6 +95,7 @@
     "lint-staged": "9.5.0",
     "lockfile-lint": "3.0.3",
     "promise": "8.0.3",
+    "raw-loader": "^4.0.0",
     "ts-loader": "6.2.1",
     "typescript": "3.7.3",
     "webpack": "4.41.4",

+ 0 - 4
cli/tauri.js/src/api/build.ts

@@ -1,7 +1,5 @@
 import { TauriConfig } from 'types'
 import merge from 'webpack-merge'
-import * as entry from '../entry'
-import { tauriDir } from '../helpers/app-paths'
 const getTauriConfig = require('../helpers/tauri-config')
 import Runner from '../runner'
 
@@ -18,7 +16,5 @@ module.exports = async (config: TauriConfig): Promise<void> => {
     ) as TauriConfig
   )
 
-  entry.generate(tauriDir, tauriConfig)
-
   return tauri.build(tauriConfig)
 }

+ 0 - 4
cli/tauri.js/src/api/dev.ts

@@ -1,7 +1,5 @@
 import { TauriConfig } from 'types'
 import merge from 'webpack-merge'
-import * as entry from '../entry'
-import { tauriDir } from '../helpers/app-paths'
 const getTauriConfig = require('../helpers/tauri-config')
 import Runner from '../runner'
 
@@ -19,7 +17,5 @@ module.exports = async (config: TauriConfig): Promise<void> => {
     ) as TauriConfig
   )
 
-  entry.generate(tauriDir, tauriConfig)
-
   return tauri.run(tauriConfig)
 }

+ 2 - 5
cli/tauri.js/src/entry.ts

@@ -1,14 +1,11 @@
-import { ensureDirSync, readFileSync, writeFileSync } from 'fs-extra'
+import { ensureDirSync, writeFileSync } from 'fs-extra'
 import compileTemplate from 'lodash.template'
 import path from 'path'
 import { TauriConfig } from './types/config'
 
 export const generate = (outDir: string, cfg: TauriConfig): void => {
   // this MUST be from the templates repo
-  const apiTemplate = readFileSync(
-    path.resolve(__dirname, '../templates/tauri.js'),
-    'utf-8'
-  )
+  const apiTemplate = require('../templates/tauri.js').default
   const apiContent = compileTemplate(apiTemplate)(cfg)
 
   ensureDirSync(outDir)

+ 5 - 6
cli/tauri.js/src/runner.ts

@@ -47,6 +47,8 @@ class Runner {
       this.__whitelistApi(cfg, toml)
     })
 
+    entry.generate(tauriDir, cfg)
+
     const runningDevServer = devPath.startsWith('http')
     let inlinedAssets: string[] = []
 
@@ -56,8 +58,6 @@ class Runner {
 
     process.env.TAURI_INLINED_ASSSTS = inlinedAssets.join('|')
 
-    entry.generate(tauriDir, cfg)
-
     this.devPath = devPath
 
     const features = runningDevServer ? ['dev-server'] : []
@@ -121,11 +121,10 @@ class Runner {
       this.__whitelistApi(cfg, toml)
     })
 
-    const inlinedAssets = await this.__parseHtml(cfg, cfg.build.distDir)
+    entry.generate(tauriDir, cfg)
 
+    const inlinedAssets = await this.__parseHtml(cfg, cfg.build.distDir)
     process.env.TAURI_INLINED_ASSSTS = inlinedAssets.join('|')
-  
-    entry.generate(tauriDir, cfg)
 
     const features = [
       cfg.tauri.embeddedServer.active ? 'embedded-server' : 'no-server'
@@ -163,7 +162,7 @@ class Runner {
       const distIndexPath = path.join(indexDir, 'index.html')
       if (!existsSync(distIndexPath)) {
         warn(
-          `Error: cannot find index.html in "${indexDir}". Did you forget to build your web code or update the build.distDir in tauri.conf.js?`
+          `Error: cannot find index.html in "${indexDir}". Did you forget to build your web code or update the build.distDir in tauri.conf.json?`
         )
         reject(new Error('Could not find index.html in dist dir.'))
       }

+ 1 - 1
cli/tauri.js/src/template/index.ts

@@ -66,7 +66,7 @@ Run \`tauri init --force template\` to overwrite.`)
   try {
     removeSync(dir)
     copyTemplates({
-      source: resolve(__dirname, '../templates/src-tauri'),
+      source: resolve(__dirname, '../../templates/src-tauri'),
       scope: {
         tauriDep
       },

+ 9 - 5
cli/tauri.js/webpack.config.js

@@ -3,11 +3,11 @@ const nodeExternals = require('webpack-node-externals')
 
 module.exports = {
   entry: {
-    build: './src/api/build.ts',
-    dev: './src/api/dev.ts',
-    init: './src/api/init.ts',
-    tauricon: './src/api/tauricon.ts',
-    'tauri-config': './src/helpers/tauri-config.ts'
+    'api/build': './src/api/build.ts',
+    'api/dev': './src/api/dev.ts',
+    'api/init': './src/api/init.ts',
+    'api/tauricon': './src/api/tauricon.ts',
+    'helpers/tauri-config': './src/helpers/tauri-config.ts'
   },
   mode: process.env.NODE_ENV || 'development',
   devtool: 'source-map',
@@ -17,6 +17,10 @@ module.exports = {
         test: /\.tsx?$/,
         use: 'ts-loader',
         exclude: /node_modules/
+      },
+      {
+        test: /tauri\.js$/i,
+        loader: 'raw-loader'
       }
     ]
   },

+ 16 - 0
cli/tauri.js/yarn.lock

@@ -6678,6 +6678,14 @@ randomfill@^1.0.3:
     randombytes "^2.0.5"
     safe-buffer "^5.1.0"
 
+raw-loader@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/raw-loader/-/raw-loader-4.0.0.tgz#d639c40fb9d72b5c7f8abc1fb2ddb25b29d3d540"
+  integrity sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==
+  dependencies:
+    loader-utils "^1.2.3"
+    schema-utils "^2.5.0"
+
 rc@^1.0.1, rc@^1.2.7:
   version "1.2.8"
   resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -7139,6 +7147,14 @@ schema-utils@^1.0.0:
     ajv-errors "^1.0.0"
     ajv-keywords "^3.1.0"
 
+schema-utils@^2.5.0:
+  version "2.6.1"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.1.tgz#eb78f0b945c7bcfa2082b3565e8db3548011dc4f"
+  integrity sha512-0WXHDs1VDJyo+Zqs9TKLKyD/h7yDpHUhEFsM2CzkICFdoX1av+GBq/J2xRTFfsQO5kBfhZzANf2VcIm84jqDbg==
+  dependencies:
+    ajv "^6.10.2"
+    ajv-keywords "^3.4.1"
+
 seek-bzip@^1.0.5:
   version "1.0.5"
   resolved "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"