Benign lua Download

copilot.lua 3.1.5-1

Node calls imported writeFileSync
SHA-256f353bbe2948fcb1bc417b51c3512d301fe026eb702b153d1b82cd350c7e886a2

Evidence

GitHub service name lines 1–8
1#!/usr/bin/env node
2// CI-only adapter for the pinned public API; never used by the Neovim plugin.
3const assert = require('node:assert/strict');
4const {execFileSync} = require('node:child_process');
5const {GitHub, Manifest, VERSION} = require('release-please');
6
7const CONFIG = 'release-please-config.json';
8const VERSIONS = '.release-please-manifest.js …
References the Node.js current working directory lines 9–15
9:37… -9]\d*)\.(0|[1-9]\d*)$/;
10
11async function generate(github, cwd = process.cwd()) {
12 assert.equal(VERSION, '17.6.0', 'Re-review boundary guards before changing release-please');
13 const git = (...args) => execFileSync('git', args, {cwd, encoding: 'utf8'}).trim();
14 const localVersions = JSON.parse(git('show', `HEAD:${VERSIONS}`));
15 assert.deepEqual(Object.keys(localVersions), ['.'], 'Only a …
References the toString conversion method lines 45–48
45:94… y is supported');
46 assert.equal(manifest.releasedVersions['.'].toString(), version, 'Loaded version differs from verified boundary');
47
48 // Capture one real observation. The fallback inside Manifest …
Immediately invokes an async function lines 83–91
83:57… ance; no release creation.
84}
85
86if (require.main === module) {
87 (async () => {
88 const {GH_TOKEN, GITHUB_REPOSITORY} = process.env;
89 assert.ok(GH_TOKEN, 'GH_TOKEN is required');
90 assert.equal(GITHUB_REPOSITORY, 'zbirenbaum/copilot.lua', 'Only the upstream repository is supported');
91 const [ …
Calls a parenthesized function expression lines 91–100
91:52… /');
92 const github = await GitHub.create({owner, repo, token: GH_TOKEN});
93 await generate(github);
94 })().catch(error => {
95 console.error(error);
96 process.exitCode = 1;
⋯4 lines

Showing the top 5 files — 6 more files (48 regions) not shown.

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.