init commit
This commit is contained in:
57
remotion/node_modules/@remotion/studio-server/dist/open-directory-in-finder.js
generated
vendored
Normal file
57
remotion/node_modules/@remotion/studio-server/dist/open-directory-in-finder.js
generated
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.openDirectoryInFinder = void 0;
|
||||
const node_child_process_1 = require("node:child_process");
|
||||
const node_os_1 = require("node:os");
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const no_react_1 = require("remotion/no-react");
|
||||
const openDirectoryInFinder = (dirToOpen, allowedDirectory) => {
|
||||
const resolved = node_path_1.default.resolve(allowedDirectory, dirToOpen);
|
||||
const relativeToProcessCwd = node_path_1.default.relative(allowedDirectory, resolved);
|
||||
if (relativeToProcessCwd.startsWith('..')) {
|
||||
throw new Error(`Not allowed to open ${relativeToProcessCwd}`);
|
||||
}
|
||||
if ((0, node_os_1.platform)() === 'win32') {
|
||||
const proc = (0, node_child_process_1.spawn)('explorer.exe', ['/select,', resolved]);
|
||||
return new Promise((resolve, reject) => {
|
||||
proc.on('exit', (code) => {
|
||||
// explorer.exe returns 1 even on success
|
||||
if (code === 0 || code === 1) {
|
||||
resolve();
|
||||
}
|
||||
else {
|
||||
reject(new Error(`explorer.exe exited with code ${code}`));
|
||||
}
|
||||
});
|
||||
proc.on('error', (err) => {
|
||||
proc.kill();
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
const command = (0, node_os_1.platform)() === 'darwin' ? 'open' : 'xdg-open';
|
||||
const p = (0, node_child_process_1.spawn)(command, [(0, node_os_1.platform)() === 'darwin' ? '-R' : null, dirToOpen].filter(no_react_1.NoReactInternals.truthy));
|
||||
const stderrChunks = [];
|
||||
p.stderr.on('data', (d) => stderrChunks.push(d));
|
||||
return new Promise((resolve, reject) => {
|
||||
p.on('exit', (code) => {
|
||||
if (code === 0) {
|
||||
resolve();
|
||||
}
|
||||
else {
|
||||
const message = Buffer.concat(stderrChunks.map((buf) => Uint8Array.from(buf))).toString('utf8');
|
||||
reject(new Error(message));
|
||||
}
|
||||
});
|
||||
p.on('error', (err) => {
|
||||
p.kill();
|
||||
if (err) {
|
||||
reject(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
exports.openDirectoryInFinder = openDirectoryInFinder;
|
||||
Reference in New Issue
Block a user