dev-dep-tool
Advanced tools
Comparing version 0.1.1-dev.2 to 0.2.0-dev.0
var e=require("child_process") | ||
var t=require("dr-js/library/common/format") | ||
var o=require("dr-js/library/common/data/SemVer") | ||
var o=require("dr-js/library/common/module/SemVer") | ||
const r=/\033\[[0-9;]*[a-zA-Z]/g | ||
@@ -10,15 +10,15 @@ const s=/(\S+)\s+\S+\s+(\S+)\s+(\S+)/ | ||
const a=[] | ||
t.split("\n").forEach(t=>{const[,n,c,d]=s.exec(t.replace(r,""))||[] | ||
t.split("\n").forEach(t=>{const[,n,c,u]=s.exec(t.replace(r,""))||[] | ||
if(!e[n])return | ||
const{version:u,source:i}=e[n] | ||
const p=(0,o.compareSemVer)(c,d)<=0?d:c | ||
const h=[n,u,p,i] | ||
u.endsWith(p)?l.push(h):a.push(h)}) | ||
const d=l.length+a.length | ||
const{version:d,source:i}=e[n] | ||
const p=(0,o.compareSemVer)(c,u)<=0?u:c | ||
const h=[n,d,p,i] | ||
d.endsWith(p)?l.push(h):a.push(h)}) | ||
const u=l.length+a.length | ||
l.sort(n) | ||
l.length&&console.log(`SAME[${l.length}/${d}]:\n${c(l)}`) | ||
l.length&&console.log(`SAME[${l.length}/${u}]:\n${c(l)}`) | ||
a.sort(n) | ||
a.length&&console.error(`OUTDATED[${a.length}/${d}]:\n${c(a)}`) | ||
a.length&&console.error(`OUTDATED[${a.length}/${u}]:\n${c(a)}`) | ||
return a.length})(t,(t=>{const{stdout:o,status:r,signal:s,error:n}=(0,e.spawnSync)("npm",["outdated"],{cwd:t,stdio:"pipe",shell:!0}) | ||
if(n)throw n | ||
return o.toString()})(l))) |
var e=require("path") | ||
var i=require("fs") | ||
var r=require("child_process") | ||
var r=require("fs") | ||
var i=require("child_process") | ||
var o=require("dr-js/library/common/format") | ||
@@ -8,41 +8,41 @@ var t=require("dr-js/library/common/mutable/Object") | ||
var s=require("dr-js/library/node/file/Modify") | ||
const a=(i,r=(()=>({packageJSON:{},exportFilePairList:[],installFilePairList:[]}))(),o=new Set)=>{const n=i.endsWith(".json")?i:(0,e.join)(i,"package.json") | ||
i.endsWith(".json")&&(i=(0,e.dirname)(i)) | ||
if(o.has(n))return r | ||
var a=require("dr-js/library/node/system/Run") | ||
const c=(r,i=(()=>({packageJSON:{},exportFilePairList:[],installFilePairList:[]}))(),o=new Set)=>{const n=r.endsWith(".json")?r:(0,e.join)(r,"package.json") | ||
r.endsWith(".json")&&(r=(0,e.dirname)(r)) | ||
if(o.has(n))return i | ||
o.add(n) | ||
const s=require(n),{IMPORT:l,EXPORT:p,INSTALL:d}=s,u=function(e,i){if(null==e)return{} | ||
var r={} | ||
const s=require(n),{IMPORT:a,EXPORT:p,INSTALL:d}=s,u=function(e,r){if(null==e)return{} | ||
var i={} | ||
var o=Object.keys(e) | ||
var t,n | ||
for(n=0;n<o.length;n++){t=o[n] | ||
i.indexOf(t)>=0||(r[t]=e[t])}if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e) | ||
r.indexOf(t)>=0||(i[t]=e[t])}if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e) | ||
for(n=0;n<s.length;n++){t=s[n] | ||
i.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}}return r}(s,["IMPORT","EXPORT","INSTALL"]) | ||
const{packageJSON:f,exportFilePairList:y,installFilePairList:b}=r | ||
l&&l.forEach(t=>a((0,e.resolve)(i,t),r,o)) | ||
r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}}return i}(s,["IMPORT","EXPORT","INSTALL"]) | ||
const{packageJSON:f,exportFilePairList:y,installFilePairList:b}=i | ||
a&&a.forEach(t=>c((0,e.resolve)(r,t),i,o)) | ||
console.log(`[loadPackage] load: ${n}`) | ||
d&&d.forEach(e=>b.push(c(e,i))) | ||
p&&p.forEach(e=>y.push(c(e,i))) | ||
d&&d.forEach(e=>b.push(l(e,r))) | ||
p&&p.forEach(e=>y.push(l(e,r))) | ||
u&&(0,t.objectMergeDeep)(f,u) | ||
return r} | ||
const c=(i,r)=>"object"==typeof i?[(0,e.resolve)(r,i.from),i.to]:[(0,e.resolve)(r,i),i] | ||
const l=["dependencies","devDependencies","peerDependencies","optionalDependencies","bundledDependencies"] | ||
const p=["private","name","version","description","author","contributors","license","keywords","repository","homepage","bugs","os","cpu","engines","engineStrict","preferGlobal","main","bin","man","files","directories","scripts","config","publishConfig",...l,"sideEffects"] | ||
exports.doPack=(async({pathInput:c,pathOutput:d,outputName:u,outputVersion:f,outputDescription:y,isPublish:b,isPublishDev:h})=>{const g=(0,e.resolve)(d,"install") | ||
const{packageJSON:m,exportFilePairList:j,installFilePairList:v}=a(c) | ||
u&&(m.name=u) | ||
f&&(m.version=f) | ||
y&&(m.description=y) | ||
await s.modify.delete(d).catch(()=>{}) | ||
await(0,n.createDirectory)(d) | ||
await(0,n.createDirectory)(g) | ||
await(async(e,r)=>{l.forEach(i=>{e[i]&&(0,t.objectSortKey)(e[i])}) | ||
const n=Object.keys(e).sort((e,i)=>p.indexOf(e)-p.indexOf(i)).map(i=>(0,o.stringIndentLine)(`${JSON.stringify(i)}: ${JSON.stringify(e[i],null,2)}`)) | ||
const s=Buffer.from(`{\n${n.join(",\n")}\n}\n`);(0,i.writeFileSync)(r,s) | ||
console.log(`[writePackageJSON] ${r} [${(0,o.binary)(s.length)}B]`)})(m,(0,e.join)(d,"package.json")) | ||
for(const[i,r]of j)await s.modify.copy(i,(0,e.join)(d,r)) | ||
for(const[i,r]of v)await s.modify.copy(i,(0,e.join)(g,r));(0,r.execSync)("npm pack",{cwd:d,stdio:"inherit",shell:!0}) | ||
const O=`${m.name}-${m.version}.tgz` | ||
console.log(`done pack: ${O} [${(0,o.binary)((0,i.statSync)((0,e.join)(d,O)).size)}B]`) | ||
b&&(0,r.execSync)("npm publish",{cwd:d,stdio:"inherit",shell:!0}) | ||
h&&(0,r.execSync)("npm publish --tag dev",{cwd:d,stdio:"inherit",shell:!0})}) | ||
return i} | ||
const l=(r,i)=>"object"==typeof r?[(0,e.resolve)(i,r.from),r.to]:[(0,e.resolve)(i,r),r] | ||
const p=["dependencies","devDependencies","peerDependencies","optionalDependencies","bundledDependencies"] | ||
const d=["private","name","version","description","author","contributors","license","keywords","repository","homepage","bugs","os","cpu","engines","engineStrict","preferGlobal","main","bin","man","files","directories","scripts","config","publishConfig",...p,"sideEffects"] | ||
exports.doPack=(async({pathInput:l,pathOutput:u,outputName:f,outputVersion:y,outputDescription:b,isPublish:g,isPublishDev:m})=>{const h=(0,e.resolve)(u,"install") | ||
const{packageJSON:j,exportFilePairList:v,installFilePairList:O}=c(l) | ||
f&&(j.name=f) | ||
y&&(j.version=y) | ||
b&&(j.description=b) | ||
await s.modify.delete(u).catch(()=>{}) | ||
await(0,n.createDirectory)(u) | ||
await(0,n.createDirectory)(h) | ||
await(async(e,i)=>{p.forEach(r=>{e[r]&&(0,t.objectSortKey)(e[r])}) | ||
const n=Object.keys(e).sort((e,r)=>d.indexOf(e)-d.indexOf(r)).map(r=>(0,o.stringIndentLine)(`${JSON.stringify(r)}: ${JSON.stringify(e[r],null,2)}`)) | ||
const s=Buffer.from(`{\n${n.join(",\n")}\n}\n`);(0,r.writeFileSync)(i,s) | ||
console.log(`[writePackageJSON] ${i} [${(0,o.binary)(s.length)}B]`)})(j,(0,e.join)(u,"package.json")) | ||
for(const[r,i]of v)await s.modify.copy(r,(0,e.join)(u,i)) | ||
for(const[r,i]of O)await s.modify.copy(r,(0,e.join)(h,i));(0,i.execSync)("npm pack",{cwd:u,stdio:"inherit",shell:!0}) | ||
const P=`${j.name}-${j.version}.tgz` | ||
const S=(0,e.join)(u,P) | ||
console.log(`done pack: ${P} [${(0,o.binary)((0,r.statSync)(S).size)}B]`);(g||m)&&(0,a.runSync)({command:"npm",argList:["publish",S,"--tag",m?"dev":"latest"]})}) |
var e=require("fs") | ||
var t=require("child_process") | ||
var i=require("dr-js/library/common/format") | ||
var o=require("dr-js/library/node/file/File") | ||
var r=require("dr-js/library/node/file/Modify") | ||
exports.initOutput=(async({fromRoot:t,fromOutput:i,deleteKeyList:s=["private","scripts","engines","devDependencies"],copyPathList:n=["LICENSE","README.md"],logger:{padLog:a,log:p},quiet:u=!1})=>{const c=u?p:a | ||
var r=require("dr-js/library/node/file/File") | ||
var o=require("dr-js/library/node/system/Run") | ||
var s=require("dr-js/library/node/file/Modify") | ||
exports.initOutput=(async({fromRoot:t,fromOutput:i,deleteKeyList:o=["private","scripts","engines","devDependencies"],copyPathList:n=["LICENSE","README.md"],logger:{padLog:a,log:u},quiet:p=!1})=>{const c=p?u:a | ||
c("reset output") | ||
await r.modify.delete(i()).catch(()=>{}) | ||
await(0,o.createDirectory)(i()) | ||
await s.modify.delete(i()).catch(()=>{}) | ||
await(0,r.createDirectory)(i()) | ||
c("init output package.json") | ||
const d=require(t("package.json")) | ||
for(const e of s)delete d[e] | ||
!u&&p(`dropped ${JSON.stringify(s)} from package.json`);(0,e.writeFileSync)(i("package.json"),JSON.stringify(d)) | ||
for(const e of o)delete d[e] | ||
!p&&u(`dropped ${JSON.stringify(o)} from package.json`);(0,e.writeFileSync)(i("package.json"),JSON.stringify(d)) | ||
c(`init output file from root: ${JSON.stringify(n)}`) | ||
for(const e of n)await r.modify.copy(t(e),i(e)) | ||
for(const e of n)await s.modify.copy(t(e),i(e)) | ||
return d}) | ||
exports.packOutput=(async({fromRoot:o,fromOutput:s,logger:{padLog:n,log:a},quiet:p=!1})=>{const u=p?a:n | ||
u("run pack output");(0,t.execSync)("npm pack",{cwd:s(),stdio:p?["ignore","ignore"]:"inherit",shell:!0}) | ||
u("move to root path") | ||
const c=require(s("package.json")) | ||
exports.packOutput=(async({fromRoot:r,fromOutput:o,logger:{padLog:n,log:a},quiet:u=!1})=>{const p=u?a:n | ||
p("run pack output");(0,t.execSync)("npm pack",{cwd:o(),stdio:u?["ignore","ignore"]:"inherit",shell:!0}) | ||
p("move to root path") | ||
const c=require(o("package.json")) | ||
const d=`${c.name}-${c.version}.tgz` | ||
await r.modify.move(s(d),o(d)) | ||
u(`pack size: ${(0,i.binary)((0,e.statSync)(o(d)).size)}B`)}) | ||
exports.publishOutput=(async({flagList:e,packageJSON:i,fromOutput:o,onPublish:r=(()=>(0,t.execSync)("npm publish --tag latest",{cwd:o(),stdio:"inherit",shell:!0})),onPublishDev:a=(()=>(0,t.execSync)("npm publish --tag dev",{cwd:o(),stdio:"inherit",shell:!0})),logger:p})=>{if(e.includes("publish-dev")){p.padLog(`publish-dev: ${i.version}`) | ||
if(!n.test(i.version))throw new Error(`[publish-dev] invalid version: ${i.version}`) | ||
await a()}else if(e.includes("publish")){p.padLog(`publish: ${i.version}`) | ||
if(!s.test(i.version))throw new Error(`[publish] invalid version: ${i.version}`) | ||
await r()}}) | ||
const s=/^\d+\.\d+\.\d+$/ | ||
const n=/^\d+\.\d+\.\d+-dev\.\d+$/ | ||
await s.modify.move(o(d),r(d)) | ||
p(`pack size: ${(0,i.binary)((0,e.statSync)(r(d)).size)}B`) | ||
return r(d)}) | ||
const n=e=>{const t=e.includes("publish-dev") | ||
return{isPublish:t||e.includes("publish"),isDev:t}} | ||
exports.getPublishFlag=n | ||
const a=({isDev:e,version:t})=>e?p.test(t):u.test(t) | ||
exports.checkPublishVersion=a | ||
const u=/^\d+\.\d+\.\d+$/ | ||
const p=/^\d+\.\d+\.\d+-dev\.\d+$/ | ||
exports.publishOutput=(async({flagList:e,packageJSON:t,pathPackagePack:i,logger:r})=>{const{isPublish:s,isDev:u}=n(e) | ||
if(!s)return r.padLog("skipped publish output, no flag found") | ||
if(!i||!i.endsWith(".tgz"))throw new Error(`[publishOutput] invalid pathPackagePack: ${i}`) | ||
if(!a({isDev:u,version:t.version}))throw new Error(`[publishOutput] invalid version: ${t.version}, isDev: ${u}`) | ||
r.padLog(`${u?"publish-dev":"publish"}: ${t.version}`);(0,o.runSync)({command:"npm",argList:["publish",i,"--tag",u?"dev":"latest"]})}) |
@@ -1,1 +0,1 @@ | ||
{"name":"dev-dep-tool","version":"0.1.1-dev.2","author":"dr-js","license":"MIT","description":"Provide common package devDependencies","keywords":["Dr","Dr-js","JavaScript"],"repository":"https://github.com/dr-js/dev-dep.git","homepage":"https://github.com/dr-js/dev-dep#readme","bugs":"https://github.com/dr-js/dev-dep/issues","bin":"bin/index.js","dependencies":{"dr-js":"^0.13.0-dev.1"},"sideEffects":false} | ||
{"name":"dev-dep-tool","version":"0.2.0-dev.0","author":"dr-js","license":"MIT","description":"Provide common package devDependencies","keywords":["Dr","Dr-js","JavaScript"],"repository":"https://github.com/dr-js/dev-dep.git","homepage":"https://github.com/dr-js/dev-dep#readme","bugs":"https://github.com/dr-js/dev-dep/issues","bin":"bin/index.js","dependencies":{"dr-js":"0.13.0-dev.2"},"sideEffects":false} |
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
Dynamic require
Supply chain riskDynamic require can indicate the package is performing dangerous or unsafe dynamic code execution.
Found 1 instance in 1 package
22522
332
+ Addeddr-js@0.13.0-dev.2(transitive)
- Removeddr-js@0.13.3(transitive)
Updateddr-js@0.13.0-dev.2