deadbyte-mcp 0.15.62 → 0.15.64
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/MANIFEST.SHA256 +30 -21
- package/PROVENANCE.json +12 -4
- package/README.txt +18 -18
- package/RELEASE.json +31 -8
- package/SBOM.cdx.json +2 -2
- package/TEST-MATRIX.json +9 -2
- package/bridge/package.json +1 -1
- package/controller/deadbyte-process-policy.json +4 -4
- package/node_modules/which/CHANGELOG.md +166 -0
- package/package.json +2 -2
- package/scripts/gate-windows-r166.ps1 +57 -0
- package/scripts/npm-release-r48.mjs +10 -0
- package/scripts/npm-release-readiness-r165.mjs +68 -0
- package/scripts/npm-release-readiness-r166.mjs +37 -0
- package/src/activation-lock-r65.mjs +1 -1
- package/src/deadbyte-cli.mjs +24 -4
- package/src/release-generation.mjs +1 -1
- package/src/version.mjs +1 -1
- package/test/r130-release-security-contract.test.mjs +7 -7
- package/test/r132-release-identity.test.mjs +10 -6
- package/test/r153-prepublish-identity.test.mjs +1 -1
- package/test/r159-legacy-marker-evidence.test.mjs +4 -1
- package/test/r160-release-contract.test.mjs +5 -5
- package/test/r163-isolated-slot-rollback-restore.test.mjs +4 -4
- package/test/r164-remote-history-skew.test.mjs +13 -0
- package/test/r165-live-cli-skew.test.mjs +90 -0
- package/test/r165-publish-fence.test.mjs +13 -0
- package/test/r166-hotfix-contract.test.mjs +27 -0
- package/test/r166-release-readiness.test.mjs +10 -0
- package/test/r59-tool-surface-compat.test.mjs +1 -1
- package/test/r65-cli-invocation.test.mjs +27 -7
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import test from 'node:test';
|
|
2
2
|
import assert from 'node:assert/strict';
|
|
3
3
|
import {spawnSync} from 'node:child_process';
|
|
4
|
-
import {mkdtemp,rm,readFile} from 'node:fs/promises';
|
|
4
|
+
import {mkdtemp,mkdir,rm,readFile,writeFile} from 'node:fs/promises';
|
|
5
5
|
import os from 'node:os';
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import {fileURLToPath} from 'node:url';
|
|
@@ -22,16 +22,36 @@ test('repository compatibility CMD refuses to masquerade as an exact npm package
|
|
|
22
22
|
assert.doesNotMatch(run.stderr,/deadbyte-controller\.ps1/);
|
|
23
23
|
});
|
|
24
24
|
|
|
25
|
-
test('isolated exact local tarball
|
|
25
|
+
test('isolated exact local tarball install reaches its package bin outside the source tree', {skip:process.platform!=='win32',timeout:120000},async()=>{
|
|
26
26
|
const fixture=await mkdtemp(path.join(os.tmpdir(),'deadbyte-r65-cli-package-'));
|
|
27
27
|
try{
|
|
28
|
-
const
|
|
28
|
+
const packDir=path.join(fixture,'pack');
|
|
29
|
+
const installDir=path.join(fixture,'install');
|
|
30
|
+
const tempDir=path.join(fixture,'temp');
|
|
31
|
+
await mkdir(packDir);
|
|
32
|
+
await mkdir(installDir);
|
|
33
|
+
await mkdir(tempDir);
|
|
34
|
+
await writeFile(path.join(installDir,'package.json'),'{"private":true}\n',{encoding:'utf8',flag:'wx'});
|
|
35
|
+
const npmCli=path.join(path.dirname(process.execPath),'node_modules','npm','bin','npm-cli.js');
|
|
36
|
+
const nodePath=path.dirname(process.execPath);
|
|
37
|
+
const systemRoot=process.env.SystemRoot??process.env.WINDIR??'C:\\Windows';
|
|
38
|
+
const npmEnv={
|
|
39
|
+
SystemRoot:systemRoot,WINDIR:systemRoot,TEMP:tempDir,TMP:tempDir,
|
|
40
|
+
USERPROFILE:process.env.USERPROFILE??os.homedir(),
|
|
41
|
+
ComSpec:process.env.ComSpec??path.join(systemRoot,'System32','cmd.exe'),
|
|
42
|
+
PATH:[nodePath,path.join(systemRoot,'System32')].join(path.delimiter),
|
|
43
|
+
PATHEXT:'.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC',
|
|
44
|
+
npm_config_cache:path.join(fixture,'npm-cache')};
|
|
29
45
|
const pkg=JSON.parse(await readFile(path.join(root,'package.json'),'utf8'));
|
|
30
|
-
const pack=spawnSync(process.execPath,[npmCli,'pack','--json','--pack-destination',
|
|
46
|
+
const pack=spawnSync(process.execPath,[npmCli,'pack','--json','--pack-destination',packDir],{cwd:root,env:npmEnv,encoding:'utf8',timeout:45000,windowsHide:true});
|
|
31
47
|
assert.equal(pack.status,0,(pack.stderr||'').slice(-1000));
|
|
32
|
-
const packed=JSON.parse(pack.stdout);const tarball=path.join(
|
|
33
|
-
const
|
|
34
|
-
cwd:
|
|
48
|
+
const packed=JSON.parse(pack.stdout);const tarball=path.join(packDir,packed[0]?.filename??packed['deadbyte-mcp']?.filename);
|
|
49
|
+
const install=spawnSync(process.execPath,[npmCli,'install','--offline','--ignore-scripts','--no-audit','--no-fund',tarball],{
|
|
50
|
+
cwd:installDir,env:npmEnv,encoding:'utf8',timeout:60000,windowsHide:true});
|
|
51
|
+
assert.equal(install.status,0,(install.stderr||'').slice(-1000));
|
|
52
|
+
const packageBin=path.join(installDir,'node_modules','.bin','deadbyte-mcp.cmd');
|
|
53
|
+
const run=spawnSync(process.env.ComSpec||'C:\\Windows\\System32\\cmd.exe',['/d','/c',packageBin,'--version'],{
|
|
54
|
+
cwd:installDir,env:npmEnv,encoding:'utf8',timeout:30000,windowsHide:true});
|
|
35
55
|
assert.equal(run.status,0,(run.stderr||'').slice(-1000));
|
|
36
56
|
assert.equal(run.stdout.trim(),pkg.version);
|
|
37
57
|
}finally{await rm(fixture,{recursive:true,force:true});}
|