Files
Chris Tate f9cbff164f Library mode takes the static-or-refuse npm posture: eligible packages compile, SC4013 refuses the rest
- compileLibrary runs the --npm-static eligibility bar automatically over every bare specifier the graph exposes (opted-in packages' own import and top-level require edges included, iterated to a fixpoint) — an eligible package compiles statically into the library graph, and every fallback the shared frontend records refuses as SC4013 naming the package, the specific failed bar, and the vendor-or-drop remedy (with the profile's SC4013 teaching riding the hint), never SC1010/SC2013's executable-lane teachings.
- requireInitStmt now emits the guarded %init call for a bare require naming another opted-in package: the dep's module body never ran before (NULL-closure crash at first use), a latent npm-static gap on both lanes that the library fixpoint hits immediately; the executable lane never exercised an inter-package require.
- Contract facts exclude statically-compiled npm files (their .d.ts is dropped by construction, so no npm declaration can name a wire-contract type) while their bytes keep joining source_hash/build_id through moduleOrder; the sidecar stays byte-deterministic and a package-file edit flips both identity hashes.
- Builtins keep their story under the npm posture: async_free builtin imports compile alongside npm code, event-loop surfaces still refuse SC4005, no new fence.
- New fixtures npm-static, npm-refuse, and contract-npm vendor fake packages per the tests/fixtures/npm precedent; the K12 suites assert the compile and refusal sides on both emissions and the contract suite covers the identity-hash implications.
2026-07-23 20:06:31 -05:00

2 lines
1021 B
JavaScript

"use strict";exports.pick=function(a,b){return a<b?a:b};exports.f0=function(a,b){return a+b*0};exports.f1=function(a,b){return a+b*1};exports.f2=function(a,b){return a+b*2};exports.f3=function(a,b){return a+b*3};exports.f4=function(a,b){return a+b*4};exports.f5=function(a,b){return a+b*5};exports.f6=function(a,b){return a+b*6};exports.f7=function(a,b){return a+b*7};exports.f8=function(a,b){return a+b*8};exports.f9=function(a,b){return a+b*9};exports.f10=function(a,b){return a+b*10};exports.f11=function(a,b){return a+b*11};exports.f12=function(a,b){return a+b*12};exports.f13=function(a,b){return a+b*13};exports.f14=function(a,b){return a+b*14};exports.f15=function(a,b){return a+b*15};exports.f16=function(a,b){return a+b*16};exports.f17=function(a,b){return a+b*17};exports.f18=function(a,b){return a+b*18};exports.f19=function(a,b){return a+b*19};exports.f20=function(a,b){return a+b*20};exports.f21=function(a,b){return a+b*21};exports.f22=function(a,b){return a+b*22};exports.f23=function(a,b){return a+b*23};