mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-04 09:21:25 +03:00
feat: allow other CWD
This commit is contained in:
@@ -4,9 +4,16 @@ const fs = require('fs-extra');
|
||||
const util = require('util');
|
||||
const exec = util.promisify(require('child_process').exec);
|
||||
const { short } = require('leeks.js');
|
||||
const {
|
||||
resolve, join,
|
||||
} = require('path');
|
||||
|
||||
const fallback = { prisma: './node_modules/prisma/build/index.js' };
|
||||
|
||||
function pathify(path) {
|
||||
return resolve(__dirname, '../', path);
|
||||
}
|
||||
|
||||
function log(...strings) {
|
||||
console.log(short('&9[postinstall]&r'), ...strings);
|
||||
}
|
||||
@@ -24,7 +31,7 @@ async function npx(cmd) {
|
||||
const {
|
||||
stderr,
|
||||
stdout,
|
||||
} = await exec(cmd);
|
||||
} = await exec(cmd, { cwd: pathify('./') }); // { env } = process.env
|
||||
if (stdout) console.log(stdout.toString());
|
||||
if (stderr) console.log(stderr.toString());
|
||||
}
|
||||
@@ -42,15 +49,20 @@ if (!providers.includes(provider)) throw new Error(`DB_PROVIDER must be one of:
|
||||
log(`provider=${provider}`);
|
||||
log(`copying ${provider} schema & migrations`);
|
||||
|
||||
if (fs.existsSync('./prisma')) {
|
||||
if (fs.existsSync(pathify('./prisma'))) {
|
||||
fs.rmSync('./prisma', {
|
||||
force: true,
|
||||
recursive: true,
|
||||
});
|
||||
} else {
|
||||
fs.mkdirSync('./prisma');
|
||||
fs.mkdirSync(pathify('./prisma'));
|
||||
}
|
||||
fs.copySync(pathify(`./db/${provider}`), pathify('./prisma')); // copy schema & migrations
|
||||
|
||||
if (provider === 'sqlite' && !process.env.DB_CONNECTION_URL) {
|
||||
process.env.DB_CONNECTION_URL = 'file:' + join(process.cwd(), './user/database.db');
|
||||
log(`set DB_CONNECTION_URL=${process.env.DB_CONNECTION_URL}`);
|
||||
}
|
||||
fs.copySync(`./db/${provider}`, './prisma'); // copy schema & migrations
|
||||
|
||||
(async () => {
|
||||
await npx('prisma generate');
|
||||
|
@@ -1,10 +1,16 @@
|
||||
#!/bin/sh
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source="${BASH_SOURCE}"
|
||||
base_dir=$(dirname $(dirname "$source"))
|
||||
|
||||
echo "Checking environment..."
|
||||
node scripts/preinstall
|
||||
script=scripts/preinstall
|
||||
node "$base_dir/$script"
|
||||
|
||||
echo "Preparing the database..."
|
||||
node scripts/postinstall
|
||||
script=scripts/postinstall
|
||||
node "$base_dir/$script"
|
||||
|
||||
echo "Starting..."
|
||||
node src/
|
||||
script=src/
|
||||
node "$base_dir/$script"
|
||||
|
Reference in New Issue
Block a user