@mnci/cli 4.12.2 → 4.12.4
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/README.md +4 -1
- package/dist/cli.js +7 -1
- package/dist/cli.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1460,7 +1460,10 @@ extension:
|
|
|
1460
1460
|
command. Tagged `type:vscode-extension`, and `nx.name` pins the Nx project name
|
|
1461
1461
|
to the folder, so `name` (the Marketplace id is `<publisher>.<name>`) and
|
|
1462
1462
|
`displayName` are yours to change: packages stay `<project>[-<target>].vsix`
|
|
1463
|
-
and every script, task and launch entry keeps working.
|
|
1463
|
+
and every script, task and launch entry keeps working. Run `npm install` after a
|
|
1464
|
+
rename and commit the lock with it: `apps/*` is an npm workspace, the lock records
|
|
1465
|
+
the app by `name`, and CI's `npm ci` refuses a lock that names a package no
|
|
1466
|
+
manifest does (`mnci add` refreshes it for the name it writes, #251).
|
|
1464
1467
|
- **`src/main.ts`**, not `extension.ts`: the slice rules allow only `index` and
|
|
1465
1468
|
`main` at the root of `src`.
|
|
1466
1469
|
- **Unit tests run against a stub of `vscode`**, `test/vscode.stub.ts`, mapped by
|
package/dist/cli.js
CHANGED
|
@@ -1031,7 +1031,7 @@ var FLUTTER_TOOL_PATH_PRELUDE = `const fs=require('node:fs'),path=require('node:
|
|
|
1031
1031
|
var FLUTTER_TOOL_PATH_AZURE = `node -e "${FLUTTER_TOOL_PATH_PRELUDE}console.log('##vso[task.prependpath]'+bin)"`;
|
|
1032
1032
|
var FLUTTER_TOOL_PATH_GITHUB = `node -e "${FLUTTER_TOOL_PATH_PRELUDE}if(!process.env.GITHUB_PATH){console.log('Not running in GitHub Actions - skipping.');process.exit(0)}fs.appendFileSync(process.env.GITHUB_PATH,bin+${String.raw`'\n'`})"`;
|
|
1033
1033
|
var FLUTTER_PUB_GET_GUARD = `node -e "const fs=require('node:fs');if(!fs.existsSync('pubspec.yaml')){console.log('No Flutter projects - skipping.');process.exit(0)}process.exit(require('node:child_process').spawnSync('flutter',['pub','get'],{stdio:'inherit',shell:process.platform==='win32'}).status ?? 1)"`;
|
|
1034
|
-
var NPM_AUDIT_STEP = `node -e "const cp=require('node:child_process');const r=cp.spawnSync('npm',['audit','--json'],{encoding:'utf8',shell:process.platform==='win32',maxBuffer:33554432});let d;try{d=JSON.parse(r.stdout)}catch{console.log('npm audit produced no JSON (exit '+r.status+') - not blocking on a broken audit.');process.exit(0)}const all=Object.values(d.vulnerabilities||{});const BLOCK=['critical','high','moderate'];const act=all.filter(v=>v.fixAvailable&&BLOCK.includes(v.severity));const rest=all.filter(v=>!act.includes(v));for(const v of rest)console.log(' note ['+v.severity+'] '+v.name+(v.fixAvailable?' - fix available,
|
|
1034
|
+
var NPM_AUDIT_STEP = `node -e "const cp=require('node:child_process');const r=cp.spawnSync('npm',['audit','--json'],{encoding:'utf8',shell:process.platform==='win32',maxBuffer:33554432});let d;try{d=JSON.parse(r.stdout)}catch{console.log('npm audit produced no JSON (exit '+r.status+') - not blocking on a broken audit.');process.exit(0)}const all=Object.values(d.vulnerabilities||{});const BLOCK=['critical','high','moderate'];const major=v=>v.fixAvailable&&typeof v.fixAvailable==='object'&&v.fixAvailable.isSemVerMajor;const act=all.filter(v=>v.fixAvailable&&BLOCK.includes(v.severity)&&!major(v));const rest=all.filter(v=>!act.includes(v));for(const v of rest)console.log(' note ['+v.severity+'] '+v.name+(!v.fixAvailable?' - NO fix available upstream, nothing to do here':major(v)?' - only a semver-major change would remove it (often a parent downgrade), not applied automatically':' - fix available, below the blocking threshold'));if(act.length===0){console.log('npm audit - '+all.length+' advisory(ies), none actionable at moderate or above.');process.exit(0)}for(const v of act)console.log(' BLOCKING ['+v.severity+'] '+v.name+' - fix available');console.log('Each has a published fix. Add a targeted overrides entry in package.json rather than npm audit fix --force.');process.exit(1)"`;
|
|
1035
1035
|
var VERIFY_TARGETS = "lint,typecheck,test,build";
|
|
1036
1036
|
var AFFECTED_OR_ALL_GUARD = `node -e "const cp=require('node:child_process');const T='${VERIFY_TARGETS}';const all=()=>process.exit(cp.spawnSync('npx nx run-many -t '+T,{stdio:'inherit',shell:true}).status ?? 1);const ref=process.env.GITHUB_BASE_REF||process.env.SYSTEM_PULLREQUEST_TARGETBRANCH||'';if(!ref){console.log('Not a pull request - verifying EVERY project.');all()}const target=ref.replace('refs/heads/','');const mergeBase=r=>{const o=cp.spawnSync('git',['merge-base',r,'HEAD'],{encoding:'utf8'});return o.status===0?o.stdout.trim():''};let base=mergeBase('origin/'+target);if(!base){console.log('No origin/'+target+' ref - fetching it to resolve a merge-base.');cp.spawnSync('git',['fetch','--no-tags','origin',target],{stdio:'inherit'});base=mergeBase('FETCH_HEAD')}if(!base){console.log('Could not resolve a merge-base with '+target+' - verifying EVERY project.');all()}console.log('Pull request against '+target+' - verifying projects affected since '+base);process.exit(cp.spawnSync('npx nx affected -t '+T+' --base='+base,{stdio:'inherit',shell:true}).status ?? 1)"`;
|
|
1037
1037
|
var PACK_APPS_GUARD = `node -e "const fs=require('node:fs');fs.mkdirSync('dist/drop',{recursive:true});const hasProjectJson=fs.globSync('apps/*/project.json').length>0;const hasInlineNx=fs.globSync('apps/*/package.json').some((f)=>{try{return Boolean(JSON.parse(fs.readFileSync(f,'utf8')).nx)}catch{return false}});const hasCsproj=fs.globSync('apps/*/*.csproj').length>0;if(!hasProjectJson&&!hasInlineNx&&!hasCsproj){console.log('No apps to pack - skipping.');process.exit(0)}process.exit(require('node:child_process').spawnSync('npx nx run-many -t package',{stdio:'inherit',shell:true}).status ?? 1)"`;
|
|
@@ -4158,6 +4158,11 @@ function pinVscodeExtensionProjectNames(workspaceRoot) {
|
|
|
4158
4158
|
}
|
|
4159
4159
|
return updated;
|
|
4160
4160
|
}
|
|
4161
|
+
function refreshLockFile(workspaceRoot, name) {
|
|
4162
|
+
if (runShell("npm", ["install", "--package-lock-only", "--no-audit", "--no-fund"], workspaceRoot) !== 0) {
|
|
4163
|
+
logger.warn(`Could not refresh package-lock.json after reshaping ${name}'s manifest. Run 'npm install' before committing.`);
|
|
4164
|
+
}
|
|
4165
|
+
}
|
|
4161
4166
|
function addVscodeExtension(workspaceRoot, name, stack, options = {}) {
|
|
4162
4167
|
const { sidecar } = options;
|
|
4163
4168
|
if (sidecar !== void 0 && !fileExists((0, import_node_path15.join)(workspaceRoot, "apps", sidecar, "project.json"))) {
|
|
@@ -4183,6 +4188,7 @@ function addVscodeExtension(workspaceRoot, name, stack, options = {}) {
|
|
|
4183
4188
|
removeGeneratedEslintConfig(workspaceRoot, `apps/${name}`);
|
|
4184
4189
|
registerProjectCommands(workspaceRoot, name, { build: true });
|
|
4185
4190
|
addDebugLaunch(workspaceRoot, name);
|
|
4191
|
+
refreshLockFile(workspaceRoot, name);
|
|
4186
4192
|
}
|
|
4187
4193
|
|
|
4188
4194
|
// src/dependency-management/sync-dependencies.use-case.ts
|