Socket
Socket
Sign inDemoInstall

vercel-deno-dev

Package Overview
Dependencies
25
Maintainers
1
Versions
191
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.0-5f6d9aaeade5de4fd91bf26b088e15f8275ce886 to 0.1.0-5f77d027b6d4dd97e563a9f7d454cd58e6c93012

1

dist/build/index.js

@@ -14,2 +14,3 @@ "use strict";

const downloadedFiles = await build_utils_1.download(files, workPath, meta);
console.log(meta);
// configure environment variable

@@ -16,0 +17,0 @@ const denoFiles = await util_1.getdenoFiles(workPath, meta.isDev || false);

160

dist/build/util.js

@@ -90,3 +90,3 @@ "use strict";

const tsconfig = process.env.DENO_CONFIG ? [`-c`, `${downloadedFiles[process.env.DENO_CONFIG].fsPath}`] : [];
const { workPath, entrypoint } = opts;
const { workPath, entrypoint, meta = {} } = opts;
const denobinPath = '.deno/bin/deno';

@@ -103,47 +103,37 @@ const runtimePath = 'boot/runtime.ts';

}
// patch .graph files to use file paths beginning with /var/task
// reference : https://github.com/TooTallNate/vercel-deno/blob/5a236aab30eeb4a6e68216a80f637e687bc59d2b/src/index.ts#L98-L118
const workPathUri = `file://${workPath}`;
const sourceFiles = new Set();
const genFileDir = path_1.join(workPath, '.deno/gen/file');
sourceFiles.add(entrypoint);
for await (const file of getFilesWithExtension(genFileDir, '.graph')) {
let needsWrite = false;
const graph = JSON.parse(await fs_extra_1.readFile(file, 'utf8'));
for (let i = 0; i < graph.deps.length; i++) {
const dep = graph.deps[i];
if (dep.startsWith(workPathUri)) {
const relative = dep.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
graph.deps[i] = updated;
sourceFiles.add(relative);
needsWrite = true;
if (!meta.isDev) {
// patch .graph files to use file paths beginning with /var/task
// reference : https://github.com/TooTallNate/vercel-deno/blob/5a236aab30eeb4a6e68216a80f637e687bc59d2b/src/index.ts#L98-L118
const workPathUri = `file://${workPath}`;
const sourceFiles = new Set();
const genFileDir = path_1.join(workPath, '.deno/gen/file');
sourceFiles.add(entrypoint);
for await (const file of getFilesWithExtension(genFileDir, '.graph')) {
let needsWrite = false;
const graph = JSON.parse(await fs_extra_1.readFile(file, 'utf8'));
for (let i = 0; i < graph.deps.length; i++) {
const dep = graph.deps[i];
if (dep.startsWith(workPathUri)) {
const relative = dep.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
graph.deps[i] = updated;
sourceFiles.add(relative);
needsWrite = true;
}
}
}
if (needsWrite) {
console.log('Patched %j', file);
await fs_extra_1.writeFile(file, JSON.stringify(graph, null, 2));
}
}
for await (const file of getFilesWithExtension(genFileDir, '.buildinfo')) {
let needsWrite = false;
const buildInfo = JSON.parse(await fs_extra_1.readFile(file, 'utf8'));
const { fileInfos, referencedMap, exportedModulesMap, semanticDiagnosticsPerFile, } = buildInfo.program;
for (const filename of Object.keys(fileInfos)) {
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
fileInfos[updated] = fileInfos[filename];
delete fileInfos[filename];
sourceFiles.add(relative);
needsWrite = true;
if (needsWrite) {
console.log('Patched %j', file);
await fs_extra_1.writeFile(file, JSON.stringify(graph, null, 2));
}
}
for (const [filename, refs] of Object.entries(referencedMap)) {
for (let i = 0; i < refs.length; i++) {
const ref = refs[i];
if (ref.startsWith(workPathUri)) {
const relative = ref.substring(workPathUri.length + 1);
for await (const file of getFilesWithExtension(genFileDir, '.buildinfo')) {
let needsWrite = false;
const buildInfo = JSON.parse(await fs_extra_1.readFile(file, 'utf8'));
const { fileInfos, referencedMap, exportedModulesMap, semanticDiagnosticsPerFile, } = buildInfo.program;
for (const filename of Object.keys(fileInfos)) {
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
refs[i] = updated;
fileInfos[updated] = fileInfos[filename];
delete fileInfos[filename];
sourceFiles.add(relative);

@@ -153,18 +143,48 @@ needsWrite = true;

}
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
referencedMap[updated] = refs;
delete referencedMap[filename];
sourceFiles.add(relative);
needsWrite = true;
for (const [filename, refs] of Object.entries(referencedMap)) {
for (let i = 0; i < refs.length; i++) {
const ref = refs[i];
if (ref.startsWith(workPathUri)) {
const relative = ref.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
refs[i] = updated;
sourceFiles.add(relative);
needsWrite = true;
}
}
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
referencedMap[updated] = refs;
delete referencedMap[filename];
sourceFiles.add(relative);
needsWrite = true;
}
}
}
for (const [filename, refs] of Object.entries(exportedModulesMap)) {
for (let i = 0; i < refs.length; i++) {
const ref = refs[i];
for (const [filename, refs] of Object.entries(exportedModulesMap)) {
for (let i = 0; i < refs.length; i++) {
const ref = refs[i];
if (ref.startsWith(workPathUri)) {
const relative = ref.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
refs[i] = updated;
sourceFiles.add(relative);
needsWrite = true;
}
}
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
exportedModulesMap[updated] = refs;
delete exportedModulesMap[filename];
sourceFiles.add(relative);
needsWrite = true;
}
}
for (let i = 0; i < semanticDiagnosticsPerFile.length; i++) {
const ref = semanticDiagnosticsPerFile[i];
if (ref.startsWith(workPathUri)) {
const relative = ref.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
refs[i] = updated;
semanticDiagnosticsPerFile[i] = updated;
sourceFiles.add(relative);

@@ -174,30 +194,12 @@ needsWrite = true;

}
if (filename.startsWith(workPathUri)) {
const relative = filename.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
exportedModulesMap[updated] = refs;
delete exportedModulesMap[filename];
sourceFiles.add(relative);
needsWrite = true;
if (needsWrite) {
console.log('Patched %j', file);
await fs_extra_1.writeFile(file, JSON.stringify(buildInfo, null, 2));
}
}
for (let i = 0; i < semanticDiagnosticsPerFile.length; i++) {
const ref = semanticDiagnosticsPerFile[i];
if (ref.startsWith(workPathUri)) {
const relative = ref.substring(workPathUri.length + 1);
const updated = `file:///var/task/${relative}`;
semanticDiagnosticsPerFile[i] = updated;
sourceFiles.add(relative);
needsWrite = true;
}
}
if (needsWrite) {
console.log('Patched %j', file);
await fs_extra_1.writeFile(file, JSON.stringify(buildInfo, null, 2));
}
// move generated files to AWS path /var/task
const cwd = path_1.join(workPath, '.deno', 'gen', 'file', workPath);
const aws_task = path_1.join(workPath, '.deno', 'gen', 'file', 'var', 'task');
await fs_extra_1.move(cwd, aws_task, { overwrite: true });
}
// move generated files to AWS path /var/task
const cwd = path_1.join(workPath, '.deno', 'gen', 'file', workPath);
const aws_task = path_1.join(workPath, '.deno', 'gen', 'file', 'var', 'task');
await fs_extra_1.move(cwd, aws_task, { overwrite: true });
return await dist_1.glob(".deno/**", workPath);

@@ -204,0 +206,0 @@ }

@@ -60,3 +60,3 @@ "use strict";

...tsconfig,
path_1.join(__dirname, 'runtime.ts'),
path_1.join(__dirname, '../boot/dev.runtime.ts'),
];

@@ -70,17 +70,21 @@ const portFile = path_1.join(os_1.tmpdir(), `deno-port-${Math.random().toString(32).substring(2)}`);

};
const child = child_process_1.spawn(denoBinPath, args, {
cwd: workPath,
env,
stdio: ['ignore'],
});
console.log('waiting for port...');
/// we listen any response from tmp/deno-port-RAND
await fs_extra_1.default.createFile(portFile);
/// listen any response from tmp/deno-port-RAND
const getPort = new Promise((res) => {
fs_extra_1.default.watch(portFile, "utf-8", async () => {
console.log('file changed detected, read port file...');
const me = fs_extra_1.default.watch(portFile, "utf-8", async () => {
const file = await fs_extra_1.readFile(portFile, { encoding: 'utf8' });
if (file)
if (file.length > 0) {
console.log('Dev port received.');
me.close();
await fs_extra_1.default.remove(portFile);
res({ port: Number(file) });
}
});
});
const child = child_process_1.spawn(denoBinPath, args, {
cwd: workPath,
env,
stdio: ['ignore', 'inherit', 'inherit'],
});
console.log('waiting for dev port...');
const result = await getPort;

@@ -87,0 +91,0 @@ if (isDevPort(result))

@@ -6,3 +6,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.startDevServer = exports.config = exports.build = exports.version = void 0;
exports.startDevServer = exports.shouldServe = exports.config = exports.build = exports.version = void 0;
const build_1 = __importDefault(require("./build"));

@@ -16,1 +16,3 @@ exports.build = build_1.default;

exports.startDevServer = dev_1.default;
const build_utils_1 = require("@vercel/build-utils");
Object.defineProperty(exports, "shouldServe", { enumerable: true, get: function () { return build_utils_1.shouldServe; } });
{
"name": "vercel-deno-dev",
"version": "0.1.0-5f6d9aaeade5de4fd91bf26b088e15f8275ce886",
"version": "0.1.0-5f77d027b6d4dd97e563a9f7d454cd58e6c93012",
"description": "run deno on vercel",

@@ -18,7 +18,7 @@ "main": "./dist/index",

"@types/fs-extra": "^9.0.1",
"@types/node": "^14.0.1",
"@vercel/build-utils": "^2.3.1",
"@types/node": "^14.0.24",
"@vercel/build-utils": "^2.4.1",
"@vercel/frameworks": "^0.0.14",
"@vercel/routing-utils": "^1.8.2",
"typescript": "^3.9.2"
"typescript": "^3.9.7"
},

@@ -25,0 +25,0 @@ "scripts": {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc