12345678910111213141516171819202122232425262728293031323334353637383940 |
- #!/usr/bin/env node
- import { rebuild } from '@electron/rebuild'
- import sh from 'shelljs'
- import path from 'node:path'
- import fs from 'node:fs'
- import * as vars from './vars.mjs'
- import log from 'npmlog'
- import * as url from 'url'
- const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
- let target = path.resolve(__dirname, '../builtin-plugins')
- sh.mkdir('-p', target)
- fs.writeFileSync(path.join(target, 'package.json'), '{}')
- sh.cd(target)
- vars.builtinPlugins.forEach(plugin => {
- if (plugin === 'tabby-web') {
- return
- }
- log.info('install', plugin)
- sh.cp('-r', path.join('..', plugin), '.')
- sh.rm('-rf', path.join(plugin, 'node_modules'))
- sh.cd(plugin)
- sh.exec(`yarn install --force --production`, { fatal: true })
- log.info('rebuild', 'native')
- if (fs.existsSync('node_modules')) {
- rebuild({
- buildPath: path.resolve('.'),
- electronVersion: vars.electronVersion,
- arch: process.env.ARCH ?? process.arch,
- force: true,
- useCache: false,
- })
- }
- sh.cd('..')
- })
- fs.unlinkSync(path.join(target, 'package.json'), '{}')
|