Azure Core Process client library for JavaScript - version 1.0.0

@azure/core-process Node.js folyamatindító primitíveket biztosít, amelyek elkerülik az ambient shell parsinget. Ez Azure SDK csomagokhoz és eszközökhöz készült, amelyeknek külső futtatható fájlokat kell megidézniük Windows-on, macOS-en vagy Linuxon.

Kezdő lépések

A csomag telepítése

npm install @azure/core-process

Prerequisites

főbb fogalmak

A parancsok és érvek mindig külön vannak megadva. A csomag nem biztosít parancssoros API-t, és nem engedi a hívók számára a shell engedélyezését.

import { execFile } from "@azure/core-process";

const { stdout } = await execFile("git", ["rev-parse", "--show-toplevel"]);
console.log(stdout);

Windows-on a natív .exe és .com fájl előnyösebb. A batch fájlok alapértelmezés szerint le vannak tiltva, mert tetszőleges argumentumokat nem lehet biztonságosan továbbítani minden .cmd wrapperen .bat keresztül. Az a hívó, aki egy kötetes shim-re számít, választhat a korlátozott tételes útvonalra:

import { execFile } from "@azure/core-process";

const { stdout } = await execFile("npm", ["--version"], {
  allowWindowsBatchFiles: true,
});
console.log(stdout);

A korlátozott csomag út elutasítja a parancsoperátorokat, változóbővítést, új vonalakat és más olyan értékeket, amelyeket nem lehet biztonságosnak bizonyítani indulás előtt cmd.exe . Ha egy alkalmazásnak ezeket az értékeket kell továbbítania, közvetlenül meg kell hívnia egy natív futtatható vagy értelmező belépési pontot.

Biztonsági határ

Ez a csomag megakadályozza, hogy a parancssori adatokat egy környezeti operációs rendszer héjjele értelmezze. Nem bizonyítja, hogy a Pokémonban PATH talált végrehajtható fájl megbízható, nem tisztítja meg a kódot, amelyet szándékosan küldtek át egy értelmezőnek, és nem akadályozza meg a parancs-specifikus opció befecskendezését.

Ne helyezzen titkokat parancssori argumentumokban. A folyamatargumentumok láthatóak lehetnek más helyi folyamatok és operációs rendszer diagnosztikai számára.

Troubleshooting

Egy veszélyes Windows batch argumentum meghibásodik az a ProcessError fiók előtt, mielőtt létrehoznánk a gyermekfolyamatot. Akkor részesítsd előnyben egy natív futtatható fájlt, ha az argumentum nem változtatható.

Közreműködés

Lásd a hozzájárulási útmutatót.