Просмотр исходного кода

Refactor tauri.js to move command code outside of bin files (#140)

* refactor(tauri.js): move command code into helpers

* reafactor(tauri.js): move command helpers to api dir

* fix(tauri.js/tests): import tauricon from proper dir

* fix(tauri.js/tests): add api dir to moduleNameMapper
Noah Klayman 5 лет назад
Родитель
Сommit
de68a86c8c

+ 21 - 0
cli/tauri.js/api/build.js

@@ -0,0 +1,21 @@
+module.exports = config => {
+  const { tauriDir } = require('../helpers/app-paths')
+  const merge = require('webpack-merge')
+  const Runner = require('../runner')
+  const tauri = new Runner({ modeDir: tauriDir })
+  const tauriConfig = require('../helpers/tauri-config')(
+    merge(
+      {
+        ctx: {
+          prod: true
+        }
+      },
+      config
+    )
+  )
+
+  require('../generator').generate(tauriConfig.tauri)
+  require('../entry').generate(tauriDir, tauriConfig)
+
+  return tauri.build(tauriConfig)
+}

+ 21 - 0
cli/tauri.js/api/dev.js

@@ -0,0 +1,21 @@
+module.exports = config => {
+  const { tauriDir } = require('../helpers/app-paths')
+  const Runner = require('../runner')
+  const merge = require('webpack-merge')
+  const tauri = new Runner()
+  const tauriConfig = require('../helpers/tauri-config')(
+    merge(
+      {
+        ctx: {
+          debug: true
+        }
+      },
+      config
+    )
+  )
+
+  require('../generator').generate(tauriConfig.tauri)
+  require('../entry').generate(tauriDir, tauriConfig)
+
+  return tauri.run(tauriConfig)
+}

+ 9 - 0
cli/tauri.js/api/init.js

@@ -0,0 +1,9 @@
+const { inject } = require('../template')
+
+module.exports = args => {
+  return inject(args.directory, 'all', {
+    force: args.force,
+    logging: args.logging,
+    tauriPath: args.tauriPath
+  })
+}

+ 2 - 2
cli/tauri.js/helpers/tauricon.js → cli/tauri.js/api/tauricon.js

@@ -21,11 +21,11 @@ const zopfli = require('imagemin-zopfli')
 const png2icons = require('png2icons')
 const readChunk = require('read-chunk')
 const isPng = require('is-png')
-const logger = require('./logger')
+const logger = require('../helpers/logger')
 const log = logger('app:spawn')
 const warn = logger('app:spawn', 'red')
 
-const settings = require('./tauricon.config.js')
+const settings = require('../helpers/tauricon.config.js')
 let image = false
 const spinnerInterval = false
 

+ 3 - 15
cli/tauri.js/bin/tauri-build.js

@@ -1,5 +1,4 @@
-const
-  parseArgs = require('minimist')
+const parseArgs = require('minimist')
 
 const argv = parseArgs(process.argv.slice(2), {
   alias: {
@@ -21,17 +20,6 @@ if (argv.help) {
   process.exit(0)
 }
 
-const { tauriDir } = require('../helpers/app-paths')
-const Runner = require('../runner')
-const tauri = new Runner({ modeDir: tauriDir })
-const tauriConfig = require('../helpers/tauri-config')({
-  ctx: {
-    debug: argv.debug,
-    prod: true
-  }
-})
-
-require('../generator').generate(tauriConfig.tauri)
-require('../entry').generate(tauriDir, tauriConfig)
+const build = require('../api/build')
 
-tauri.build(tauriConfig)
+build({ ctx: { debug: argv.debug } })

+ 2 - 12
cli/tauri.js/bin/tauri-dev.js

@@ -19,16 +19,6 @@ if (argv.help) {
   process.exit(0)
 }
 
-const { tauriDir } = require('../helpers/app-paths')
-const Runner = require('../runner')
-const tauri = new Runner()
-const tauriConfig = require('../helpers/tauri-config')({
-  ctx: {
-    debug: true
-  }
-})
-
-require('../generator').generate(tauriConfig.tauri)
-require('../entry').generate(tauriDir, tauriConfig)
+const dev = require('../api/dev')
 
-tauri.run(tauriConfig)
+dev()

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

@@ -3,7 +3,7 @@ const { appDir, tauriDir } = require('../helpers/app-paths')
 const logger = require('../helpers/logger')
 const log = logger('app:tauri')
 const warn = logger('app:tauri (icon)', 'red')
-const { tauricon } = require('../helpers/tauricon')
+const { tauricon } = require('../api/tauricon')
 const { resolve } = require('path')
 
 /**

+ 3 - 2
cli/tauri.js/bin/tauri-init.js

@@ -39,9 +39,10 @@ if (argv.help) {
   process.exit(0)
 }
 
-const { inject } = require('../template')
+const init = require('../api/init')
 
-inject(argv.d || process.cwd(), 'all', {
+init({
+  directory: argv.d || process.cwd(),
   force: argv.f || null,
   logging: argv.l || null,
   tauriPath: argv.t || null

+ 3 - 1
cli/tauri.js/jest.config.js

@@ -12,7 +12,8 @@ module.exports = {
   coverageDirectory: '<rootDir>/test/jest/coverage',
   collectCoverageFrom: [
     '<rootDir>/bin/**/*.js',
-    '<rootDir>/helpers/**/*.js'
+    '<rootDir>/helpers/**/*.js',
+    '<rootDir>/api/**/*.js'
   ],
   coverageReporters: ['json-summary', 'text', 'lcov'],
   coverageThreshold: {
@@ -32,6 +33,7 @@ module.exports = {
     '^~/(.*)$': '<rootDir>/$1',
     '^bin/(.*)$': '<rootDir>/bin/$1',
     '^helpers/(.*)$': '<rootDir>/helpers/$1',
+    '^api/(.*)$': '<rootDir>/api/$1',
     '^templates/(.*)$': '<rootDir>/templates/$1',
     '^test/(.*)$': '<rootDir>/test/$1',
     '../../package.json': '<rootDir>/package.json'

+ 1 - 1
cli/tauri.js/test/jest/__tests__/tauricon.spec.js

@@ -1,4 +1,4 @@
-const tauricon = require('helpers/tauricon.js')
+const tauricon = require('api/tauricon.js')
 
 describe('[CLI] tauri-icon internals', () => {
   it('tells you the version', () => {