@kumori/kdsl 0.0.15 → 0.0.17
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/dist/build/deployment_spec.d.ts +1133 -19642
- package/dist/build/deployment_spec.js +14 -13
- package/dist/build/deployment_spec.js.map +1 -1
- package/dist/build/helpers/builtin.js +7 -9
- package/dist/build/helpers/builtin.js.map +1 -1
- package/dist/build/helpers/component.d.ts +2 -2
- package/dist/build/helpers/component.js +28 -28
- package/dist/build/helpers/component.js.map +1 -1
- package/dist/build/helpers/connector.js +4 -5
- package/dist/build/helpers/connector.js.map +1 -1
- package/dist/build/helpers/deployment.d.ts +96 -96
- package/dist/build/helpers/deployment.js +8 -9
- package/dist/build/helpers/deployment.js.map +1 -1
- package/dist/build/helpers/resource.d.ts +4 -4
- package/dist/build/helpers/service.d.ts +1 -1
- package/dist/build/helpers/service.js +31 -33
- package/dist/build/helpers/service.js.map +1 -1
- package/dist/build/helpers/utils.d.ts +8 -0
- package/dist/build/helpers/utils.js +23 -1
- package/dist/build/helpers/utils.js.map +1 -1
- package/dist/build/main.js +51 -2
- package/dist/build/main.js.map +1 -1
- package/dist/build/solution.js +2 -3
- package/dist/build/solution.js.map +1 -1
- package/dist/check/main.js +1 -1
- package/dist/check/main.js.map +1 -1
- package/dist/deployment/gen/deployment-template.kumori +33 -0
- package/dist/deployment/gen/main.d.ts +15 -0
- package/dist/deployment/gen/main.js +158 -0
- package/dist/deployment/gen/main.js.map +1 -0
- package/dist/deployment/gen/types.d.ts +27 -0
- package/dist/deployment/gen/types.js +2 -0
- package/dist/deployment/gen/types.js.map +1 -0
- package/dist/deployment/main.d.ts +8 -0
- package/dist/deployment/main.js +17 -0
- package/dist/deployment/main.js.map +1 -0
- package/dist/index/create/main.js +38 -16
- package/dist/index/create/main.js.map +1 -1
- package/dist/lib/build.js +42 -28
- package/dist/lib/build.js.map +1 -1
- package/dist/lib/check.js +45 -15
- package/dist/lib/check.js.map +1 -1
- package/dist/lib/clean.js +39 -1
- package/dist/lib/deployment.d.ts +35 -0
- package/dist/lib/deployment.js +31 -0
- package/dist/lib/deployment.js.map +1 -0
- package/dist/lib/index-cmd.js +60 -57
- package/dist/lib/index-cmd.js.map +1 -1
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +54 -117
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/logger.js +1 -1
- package/dist/lib/logger.js.map +1 -1
- package/dist/lib/mod.js +144 -70
- package/dist/lib/mod.js.map +1 -1
- package/dist/lib/registry.d.ts +19 -4
- package/dist/lib/registry.js +67 -1
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/types.d.ts +5 -0
- package/dist/main.js +7 -1
- package/dist/main.js.map +1 -1
- package/dist/mod/dependency/main.js +17 -10
- package/dist/mod/dependency/main.js.map +1 -1
- package/dist/mod/download/functions.js +5 -5
- package/dist/mod/download/functions.js.map +1 -1
- package/dist/mod/download/main.js +12 -2
- package/dist/mod/download/main.js.map +1 -1
- package/dist/mod/init/main.js +1 -1
- package/dist/mod/init/main.js.map +1 -1
- package/dist/mod/jsonschema/gen/main.js +14 -7
- package/dist/mod/jsonschema/gen/main.js.map +1 -1
- package/dist/mod/jsonschema/get/main.js +10 -2
- package/dist/mod/jsonschema/get/main.js.map +1 -1
- package/dist/mod/update/main.js +3 -4
- package/dist/mod/update/main.js.map +1 -1
- package/dist/registry/add.d.ts +1 -1
- package/dist/registry/add.js +12 -7
- package/dist/registry/add.js.map +1 -1
- package/dist/util/err-format.js +1 -2
- package/dist/util/err-format.js.map +1 -1
- package/dist/version.js +1 -2
- package/dist/version.js.map +1 -1
- package/out/deployment/gen/deployment-template.kumori +33 -0
- package/out/deployment-template.kumori +33 -0
- package/out/main.cjs +378 -209
- package/package.json +21 -15
- package/out/lib/build.cjs +0 -29
- package/out/lib/check.cjs +0 -16
- package/out/lib/clean.cjs +0 -2
- package/out/lib/index-cmd.cjs +0 -58
- package/out/lib/index.cjs +0 -118
- package/out/lib/mod.cjs +0 -71
- package/out/lib/registry.cjs +0 -2
package/dist/lib/mod.js
CHANGED
|
@@ -1,70 +1,144 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
`.trim();uo=async(t,e)=>{let r=e.node;q(r);let o=t.svcs.shared.references.KumoriModules,i=gt.getDocument(r).uri,a=t.svcs.references.KumoriPackages.GetPackage(r),n=t.mod.Current;if(q(M.isOk(a)),i.scheme===io)return{Import:a.value.uri.path.slice(1),Name:e.meta.name};if(!(await no(t.svcs.shared,t.mod.Root.Root)).map(g=>g.fsPath).includes(i.fsPath)){let g=o.getModule(i);q(M.isOk(g)),n=g.value}let u=n.Root,c=a.value.uri.fsPath.slice(u.fsPath.length);return{Import:$.join(n.Manifest.module,c),Name:e.meta.name}}});var b=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),go={[b.trace]:10,[b.debug]:20,[b.info]:30,[b.warn]:40,[b.error]:50,[b.fatal]:60},fo={10:b.trace,20:b.debug,30:b.info,40:b.warn,50:b.error,60:b.fatal};var x=function(t){return t.onBeforeDataOut="onBeforeDataOut",t.shouldSendToLogger="shouldSendToLogger",t.onMetadataCalled="onMetadataCalled",t.onBeforeMessageOut="onBeforeMessageOut",t.onContextCalled="onContextCalled",t}({});var m=function(t){return t.info="info",t.warn="warn",t.error="error",t.debug="debug",t.trace="trace",t.fatal="fatal",t}({}),N={[m.trace]:10,[m.debug]:20,[m.info]:30,[m.warn]:40,[m.error]:50,[m.fatal]:60},vo={10:m.trace,20:m.debug,30:m.info,40:m.warn,50:m.error,60:m.fatal};var ge=class fe{constructor(){w(this,"context",{});w(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=f(f({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:r}){if(e.hasContextData()){let o=e.getContext();r.setContext(f({},o))}}clone(){let e=new fe;return e.setContext(f({},this.context)),e.hasContext=this.hasContext,e}};var he=class{constructor(t){w(this,"err");w(this,"metadata");w(this,"structuredLogger");w(this,"hasMetadata");w(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=t,this.hasMetadata=!1,this.pluginManager=t.pluginManager}withMetadata(t){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:r}}}=this;if(!t)return r&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let o=t;return e.hasPlugins(x.onMetadataCalled)&&(o=e.runOnMetadataCalled(t,this.structuredLogger),!o)?(r&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=f(f({},this.metadata),o),this.hasMetadata=!0,this)}withError(t){return this.err=t,this}info(...t){this.structuredLogger.isLevelEnabled(m.info)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.info,t))}warn(...t){this.structuredLogger.isLevelEnabled(m.warn)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.warn,t))}error(...t){this.structuredLogger.isLevelEnabled(m.error)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.error,t))}debug(...t){this.structuredLogger.isLevelEnabled(m.debug)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.debug,t))}trace(...t){this.structuredLogger.isLevelEnabled(m.trace)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.trace,t))}fatal(...t){this.structuredLogger.isLevelEnabled(m.fatal)&&(this.structuredLogger._formatMessage(t),this.formatLog(m.fatal,t))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(t,e){let{muteMetadata:r}=this.structuredLogger._config,o=r?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:t,params:e,metadata:o?this.metadata:null,err:this.err})}},Dt=[x.onBeforeDataOut,x.onMetadataCalled,x.shouldSendToLogger,x.onBeforeMessageOut,x.onContextCalled],pe=class{constructor(t){w(this,"idToPlugin");w(this,"onBeforeDataOut",[]);w(this,"shouldSendToLogger",[]);w(this,"onMetadataCalled",[]);w(this,"onBeforeMessageOut",[]);w(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(t),this.indexPlugins()}mapPlugins(t){for(let e of t){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let t=Object.values(this.idToPlugin).sort((e,r)=>e.registeredAt-r.registeredAt);for(let e of t){if(e.disabled)return;for(let r of Dt)e[r]&&e.id&&this[r].push(e.id)}}hasPlugins(t){return this[t].length>0}countPlugins(t){return t?this[t].length:Object.keys(this.idToPlugin).length}addPlugins(t){this.mapPlugins(t),this.indexPlugins()}enablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(t){let e=this.idToPlugin[t];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(t){delete this.idToPlugin[t],this.indexPlugins()}runOnBeforeDataOut(t,e){let r=f({},t);for(let o of this.onBeforeDataOut){let i=this.idToPlugin[o];if(i.onBeforeDataOut){let a=i.onBeforeDataOut({data:r.data,logLevel:r.logLevel,error:r.error,metadata:r.metadata,context:r.context},e);a&&(r.data||(r.data={}),Object.assign(r.data,a))}}return r.data}runShouldSendToLogger(t,e){return!this.shouldSendToLogger.some(r=>{var o,i;return!((i=(o=this.idToPlugin[r]).shouldSendToLogger)!=null&&i.call(o,t,e))})}runOnMetadataCalled(t,e){var o,i;let r=f({},t);for(let a of this.onMetadataCalled){let n=(i=(o=this.idToPlugin[a]).onMetadataCalled)==null?void 0:i.call(o,r,e);if(n)r=n;else return null}return r}runOnBeforeMessageOut(t,e){var o,i;let r=[...t.messages];for(let a of this.onBeforeMessageOut){let n=(i=(o=this.idToPlugin[a]).onBeforeMessageOut)==null?void 0:i.call(o,{messages:r,logLevel:t.logLevel},e);n&&(r=n)}return r}runOnContextCalled(t,e){var o,i;let r=f({},t);for(let a of this.onContextCalled){let n=(i=(o=this.idToPlugin[a]).onContextCalled)==null?void 0:i.call(o,r,e);if(n)r=n;else return null}return r}},we=class ve{constructor(e){w(this,"pluginManager");w(this,"idToTransport");w(this,"hasMultipleTransports");w(this,"singleTransport");w(this,"contextManager");w(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});w(this,"_config");var r;this._config=y(f({},e),{enabled:(r=e.enabled)!=null?r:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new ge,this.pluginManager=new pe(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let r in this.idToTransport)this.idToTransport[r]&&typeof this.idToTransport[r][Symbol.dispose]=="function"&&this.idToTransport[r][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((r,o)=>(r[o.id]=o,r),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let r=this.child();return r._config.prefix=e,r}withContext(e){let r=e;return e?this.pluginManager.hasPlugins(x.onContextCalled)&&(r=this.pluginManager.runOnContextCalled(e,this),!r)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(r),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new he(this).withMetadata(e)}withError(e){return new he(this).withError(e)}child(){let e=new ve(y(f({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new pe(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,r){let o=(r==null?void 0:r.logLevel)||m.error;if(!this.isLevelEnabled(o))return;let{copyMsgOnOnlyError:i}=this._config,a={logLevel:o,err:e};(i&&(r==null?void 0:r.copyMsg)!==!1||(r==null?void 0:r.copyMsg)===!0)&&(e!=null&&e.message)&&(a.params=[e.message]),this._formatLog(a)}metadataOnly(e,r=m.info){if(!this.isLevelEnabled(r))return;let{muteMetadata:o,consoleDebug:i}=this._config;if(o)return;if(!e){i&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let a=e;if(this.pluginManager.hasPlugins(x.onMetadataCalled)&&(a=this.pluginManager.runOnMetadataCalled(e,this),!a)){i&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let n={logLevel:r,metadata:a};this._formatLog(n)}info(...e){this.isLevelEnabled(m.info)&&(this._formatMessage(e),this._formatLog({logLevel:m.info,params:e}))}warn(...e){this.isLevelEnabled(m.warn)&&(this._formatMessage(e),this._formatLog({logLevel:m.warn,params:e}))}error(...e){this.isLevelEnabled(m.error)&&(this._formatMessage(e),this._formatLog({logLevel:m.error,params:e}))}debug(...e){this.isLevelEnabled(m.debug)&&(this._formatMessage(e),this._formatLog({logLevel:m.debug,params:e}))}trace(...e){this.isLevelEnabled(m.trace)&&(this._formatMessage(e),this._formatLog({logLevel:m.trace,params:e}))}fatal(...e){this.isLevelEnabled(m.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:m.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let r={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(r)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!0),this}disableIndividualLevel(e){let r=e;return r in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[r]=!1),this}setLevel(e){let r=N[e];for(let o of Object.values(m)){let i=o,a=N[o];this.logLevelEnabledStatus[i]=a>=r}return this}isLevelEnabled(e){let r=e;return this.logLevelEnabledStatus[r]}formatContext(e){let{contextFieldName:r,muteContext:o}=this._config;return e&&Object.keys(e).length>0&&!o?r?{[r]:f({},e)}:f({},e):{}}formatMetadata(e=null){let{metadataFieldName:r,muteMetadata:o}=this._config;return e&&!o?r?{[r]:f({},e)}:f({},e):{}}getLoggerInstance(e){let r=this.idToTransport[e];if(r)return r.getLoggerInstance()}_formatMessage(e=[]){let{prefix:r}=this._config;r&&typeof e[0]=="string"&&(e[0]=`${r} ${e[0]}`)}_formatLog({logLevel:e,params:r=[],metadata:o=null,err:i,context:a=null}){var p;let{errorSerializer:n,errorFieldInMetadata:s,muteContext:l,contextFieldName:d,metadataFieldName:u,errorFieldName:c}=this._config,g=a!==null?a:this.contextManager.getContext(),v=!!o||(l?!1:a!==null?Object.keys(a).length>0:this.contextManager.hasContextData()),h={};if(v)if(d&&d===u){let L=this.formatContext(g)[d],P=this.formatMetadata(o)[u];h={[d]:f(f({},L),P)}}else h=f(f({},this.formatContext(g)),this.formatMetadata(o));if(i){let L=n?n(i):i;s&&o&&u?h!=null&&h[u]?h[u][c]=L:h=y(f({},h),{[u]:{[c]:L}}):s&&!o&&u?h=y(f({},h),{[u]:{[c]:L}}):h=y(f({},h),{[c]:L}),v=!0}if(this.pluginManager.hasPlugins(x.onBeforeDataOut)&&(h=this.pluginManager.runOnBeforeDataOut({data:v?h:void 0,logLevel:e,error:i,metadata:o,context:g},this),h&&!v&&(v=!0)),this.pluginManager.hasPlugins(x.onBeforeMessageOut)&&(r=this.pluginManager.runOnBeforeMessageOut({messages:[...r],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(P=>P.enabled).map(async P=>{if(!(this.pluginManager.hasPlugins(x.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:v?h:void 0,logLevel:e,transportId:P.id,error:i,metadata:o,context:g},this)))return P._sendToLogger({logLevel:e,messages:[...r],data:v?h:void 0,hasData:v,error:i,metadata:o,context:g})});Promise.all(L).catch(P=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",P)})}else{if(!((p=this.singleTransport)!=null&&p.enabled)||this.pluginManager.hasPlugins(x.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...r],data:v?h:void 0,logLevel:e,transportId:this.singleTransport.id,error:i,metadata:o,context:g},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...r],data:v?h:void 0,hasData:v,error:i,metadata:o,context:g})}}};function Tt(){let t={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new we({transport:t})}function _(t){return t!=null?t:Tt()}import{URI as co}from"langium";import{Result as G,Err as I,Ok as Q}from"@kumori/kdsl-lsp/util/result.js";async function $n(t){var o;let e=_(t.logger),{NewModule:r}=await Promise.resolve().then(()=>(Pe(),Se));try{let i=(o=t.cwd)!=null?o:process.cwd();return await r(e,i,t.name,t.version,t.location,t.cacheLocation),Q(void 0)}catch(i){return I([String(i)])}}async function In(t){var n;let e=_(t.logger),r=co.file((n=t.cwd)!=null?n:process.cwd()),{Dependency:o}=await Promise.resolve().then(()=>(Ge(),ze)),{RegistryManager:i}=await import("@kumori/kdsl-lsp/module/registry/manager.js");await new i().ensureIndexes();try{return await o(e,r,t.module,{alias:t.alias,headers:t.headers,remove:t.remove?!0:void 0,download:t.download?!0:void 0}),Q(void 0)}catch(s){return I([String(s)])}}async function Nn(t){var a,n;let e=_(t.logger),{Download:r}=await Promise.resolve().then(()=>(U(),je)),{RegistryManager:o}=await import("@kumori/kdsl-lsp/module/registry/manager.js");return await new o().ensureIndexes(),await r(e,t.services,(a=t.cwd)!=null?a:process.cwd(),(n=t.modules)!=null?n:[],{quiet:t.quiet?!0:void 0})}async function An(t){var o;let e=_(t.logger),{NewModule:r}=await Promise.resolve().then(()=>(et(),Ze));try{return await r(e,(o=t.cwd)!=null?o:process.cwd(),{version:t.version,cacheLocation:t.cacheLocation,path:t.path}),Q(void 0)}catch(i){return I([String(i)])}}async function Bn(t){var l,d;let{CalculateChecksum:e}=await import("@kumori/kdsl-lsp/module/integrity/checksum.js"),{ModuleContext:r}=await import("@kumori/kdsl-lsp/module/context.js"),{URI:o}=await import("langium"),i=await import("path"),a=t.services.shared.workspace.FileSystemProvider,n=(d=(l=t.directory)!=null?l:t.cwd)!=null?d:".",s=await r(a,o.file(i.resolve(n)));if(G.isErr(s))return I([s.err]);try{let u=await e(s.value.Current.Root.fsPath);return Q(u)}catch(u){return I([String(u)])}}async function jn(t){let e=_(t.logger),{LocateModule:r,GetSchema:o}=await Promise.resolve().then(()=>(xt(),Mt)),{ModuleContext:i}=await import("@kumori/kdsl-lsp/module/context.js"),{Check:a}=await Promise.resolve().then(()=>(se(),at)),{URI:n}=await import("langium"),s=t.services,l=s.shared.workspace.FileSystemProvider,d=await r(t.target);if(G.isErr(d))return d;let u=await i(l,n.file(d.value.fsPath));if(G.isErr(u))return I([u.err]);let c=await a(e,s,u.value);return G.isErr(c)?c:await o(s,u.value,t.packagePath,t.artifactName)}export{Bn as moduleChecksum,In as moduleDependency,Nn as moduleDownload,$n as moduleInit,jn as moduleSchemaGet,An as moduleUpdate};
|
|
1
|
+
import { getLogger } from "./logger.js";
|
|
2
|
+
import { URI } from "langium";
|
|
3
|
+
import { Result, Err, Ok } from "@kumori/kdsl-lsp/util/result.js";
|
|
4
|
+
/**
|
|
5
|
+
* Initialize a new Kumori module.
|
|
6
|
+
* Creates a new kumori.mod.json file.
|
|
7
|
+
*
|
|
8
|
+
* @param options - Module init options
|
|
9
|
+
* @returns Result with void on success, or string[] of errors
|
|
10
|
+
*/
|
|
11
|
+
export async function moduleInit(options) {
|
|
12
|
+
const log = getLogger(options.logger);
|
|
13
|
+
const { NewModule } = await import("../mod/init/main.js");
|
|
14
|
+
try {
|
|
15
|
+
const cwd = options.cwd ?? process.cwd();
|
|
16
|
+
// NewModule uses rest parameters that include commander args, we need to cast
|
|
17
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
18
|
+
await NewModule(log, cwd, options.name, options.version, options.location, options.cacheLocation);
|
|
19
|
+
return Ok(undefined);
|
|
20
|
+
}
|
|
21
|
+
catch (err) {
|
|
22
|
+
return Err([String(err)]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Add, update, or remove a dependency from the module declaration.
|
|
27
|
+
*
|
|
28
|
+
* @param options - Module dependency options
|
|
29
|
+
* @returns Result with void on success, or string[] of errors
|
|
30
|
+
*/
|
|
31
|
+
export async function moduleDependency(options) {
|
|
32
|
+
const log = getLogger(options.logger);
|
|
33
|
+
const cwd = URI.file(options.cwd ?? process.cwd());
|
|
34
|
+
const { Dependency } = await import("../mod/dependency/main.js");
|
|
35
|
+
const { RegistryManager } = await import("@kumori/kdsl-lsp/module/registry/manager.js");
|
|
36
|
+
const manager = new RegistryManager(options.configPath);
|
|
37
|
+
await manager.ensureIndexes();
|
|
38
|
+
try {
|
|
39
|
+
await Dependency(log, cwd, options.module, {
|
|
40
|
+
alias: options.alias,
|
|
41
|
+
headers: options.headers,
|
|
42
|
+
remove: options.remove ? true : undefined,
|
|
43
|
+
download: options.download ? true : undefined,
|
|
44
|
+
});
|
|
45
|
+
return Ok(undefined);
|
|
46
|
+
}
|
|
47
|
+
catch (err) {
|
|
48
|
+
return Err([String(err)]);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Download modules to local cache.
|
|
53
|
+
* With no arguments, downloads all modules needed to build the packages
|
|
54
|
+
* in the current module.
|
|
55
|
+
*
|
|
56
|
+
* @param options - Module download options
|
|
57
|
+
* @returns Result with void on success, or string[] of errors
|
|
58
|
+
*/
|
|
59
|
+
export async function moduleDownload(options) {
|
|
60
|
+
const log = getLogger(options.logger);
|
|
61
|
+
const { Download } = await import("../mod/download/main.js");
|
|
62
|
+
const { RegistryManager } = await import("@kumori/kdsl-lsp/module/registry/manager.js");
|
|
63
|
+
const manager = new RegistryManager(options.configPath);
|
|
64
|
+
await manager.ensureIndexes();
|
|
65
|
+
return await Download(log, options.services, options.cwd ?? process.cwd(), options.modules ?? [], { quiet: options.quiet ? true : undefined });
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Update an existing Kumori module's version or cache location.
|
|
69
|
+
*
|
|
70
|
+
* @param options - Module update options
|
|
71
|
+
* @returns Result with void on success, or string[] of errors
|
|
72
|
+
*/
|
|
73
|
+
export async function moduleUpdate(options) {
|
|
74
|
+
const log = getLogger(options.logger);
|
|
75
|
+
const { NewModule } = await import("../mod/update/main.js");
|
|
76
|
+
try {
|
|
77
|
+
await NewModule(log, options.cwd ?? process.cwd(), {
|
|
78
|
+
version: options.version,
|
|
79
|
+
cacheLocation: options.cacheLocation,
|
|
80
|
+
path: options.path,
|
|
81
|
+
});
|
|
82
|
+
return Ok(undefined);
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
return Err([String(err)]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Generate SHA-256 checksum for a module.
|
|
90
|
+
*
|
|
91
|
+
* @param options - Module checksum options
|
|
92
|
+
* @returns Result with checksum string on success, or string[] of errors
|
|
93
|
+
*/
|
|
94
|
+
export async function moduleChecksum(options) {
|
|
95
|
+
const { CalculateChecksum } = await import("@kumori/kdsl-lsp/module/integrity/checksum.js");
|
|
96
|
+
const { ModuleContext } = await import("@kumori/kdsl-lsp/module/context.js");
|
|
97
|
+
const { URI } = await import("langium");
|
|
98
|
+
const path = await import("node:path");
|
|
99
|
+
const fs = options.services.shared.workspace.FileSystemProvider;
|
|
100
|
+
const target = options.directory ?? options.cwd ?? ".";
|
|
101
|
+
const ctx = await ModuleContext(fs, URI.file(path.resolve(target)));
|
|
102
|
+
if (Result.isErr(ctx)) {
|
|
103
|
+
return Err([ctx.err]);
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
const checksum = await CalculateChecksum(ctx.value.Current.Root.fsPath);
|
|
107
|
+
return Ok(checksum);
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
return Err([String(err)]);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Extract JSON Schema for a specified module and artifact.
|
|
115
|
+
* Generates and outputs the JSON Schema that describes a particular Kumori DSL artifact.
|
|
116
|
+
*
|
|
117
|
+
* @param options - Module schema get options
|
|
118
|
+
* @returns Result with schema object on success, or string[] of errors
|
|
119
|
+
*/
|
|
120
|
+
export async function moduleSchemaGet(options) {
|
|
121
|
+
const log = getLogger(options.logger);
|
|
122
|
+
const { LocateModule, GetSchema } = await import("../mod/jsonschema/get/main.js");
|
|
123
|
+
const { ModuleContext } = await import("@kumori/kdsl-lsp/module/context.js");
|
|
124
|
+
const { Check } = await import("../check/main.js");
|
|
125
|
+
const { URI } = await import("langium");
|
|
126
|
+
const svcs = options.services;
|
|
127
|
+
const fs = svcs.shared.workspace.FileSystemProvider;
|
|
128
|
+
const locResult = await LocateModule(options.target);
|
|
129
|
+
if (Result.isErr(locResult)) {
|
|
130
|
+
return locResult;
|
|
131
|
+
}
|
|
132
|
+
const ctx = await ModuleContext(fs, URI.file(locResult.value.fsPath));
|
|
133
|
+
if (Result.isErr(ctx)) {
|
|
134
|
+
return Err([ctx.err]);
|
|
135
|
+
}
|
|
136
|
+
// Download dependencies
|
|
137
|
+
const checkResult = await Check(log, svcs, ctx.value);
|
|
138
|
+
if (Result.isErr(checkResult)) {
|
|
139
|
+
return checkResult;
|
|
140
|
+
}
|
|
141
|
+
// Get the schema
|
|
142
|
+
return await GetSchema(svcs, ctx.value, options.packagePath, options.artifactName);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=mod.js.map
|
package/dist/lib/mod.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/lib/mod.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,iCAAiC,CAAA;AAqCjE;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA0B
|
|
1
|
+
{"version":3,"file":"mod.js","sourceRoot":"","sources":["../../src/lib/mod.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/registry.d.ts
CHANGED
|
@@ -5,18 +5,23 @@ export interface RegistryAddOptions {
|
|
|
5
5
|
* Name selector for matching dependencies
|
|
6
6
|
*/
|
|
7
7
|
selector: string;
|
|
8
|
-
/**
|
|
9
|
-
* Version of the registry specification (git tag)
|
|
10
|
-
*/
|
|
11
|
-
version: string;
|
|
12
8
|
/**
|
|
13
9
|
* URL that contains the registry index for resolving modules
|
|
14
10
|
*/
|
|
15
11
|
url: string;
|
|
12
|
+
/**
|
|
13
|
+
* Optional token for authentication.
|
|
14
|
+
*/
|
|
15
|
+
token?: string;
|
|
16
16
|
/**
|
|
17
17
|
* Optional logger for output.
|
|
18
18
|
*/
|
|
19
19
|
logger?: LibraryOptions["logger"];
|
|
20
|
+
/**
|
|
21
|
+
* Path to config directory for registry management.
|
|
22
|
+
* Defaults to ~/.config/kdsl
|
|
23
|
+
*/
|
|
24
|
+
configPath?: string;
|
|
20
25
|
}
|
|
21
26
|
/**
|
|
22
27
|
* Add a registry to the resolver configuration.
|
|
@@ -34,6 +39,11 @@ export interface RegistryListOptions {
|
|
|
34
39
|
* Optional logger for output.
|
|
35
40
|
*/
|
|
36
41
|
logger?: LibraryOptions["logger"];
|
|
42
|
+
/**
|
|
43
|
+
* Path to config directory for registry management.
|
|
44
|
+
* Defaults to ~/.config/kdsl
|
|
45
|
+
*/
|
|
46
|
+
configPath?: string;
|
|
37
47
|
}
|
|
38
48
|
/**
|
|
39
49
|
* List all configured registries.
|
|
@@ -51,6 +61,11 @@ export interface RegistryRemoveOptions {
|
|
|
51
61
|
* Optional logger for output.
|
|
52
62
|
*/
|
|
53
63
|
logger?: LibraryOptions["logger"];
|
|
64
|
+
/**
|
|
65
|
+
* Path to config directory for registry management.
|
|
66
|
+
* Defaults to ~/.config/kdsl
|
|
67
|
+
*/
|
|
68
|
+
configPath?: string;
|
|
54
69
|
}
|
|
55
70
|
/**
|
|
56
71
|
* Remove a configured registry by name.
|
package/dist/lib/registry.js
CHANGED
|
@@ -1 +1,67 @@
|
|
|
1
|
-
var A=Object.defineProperty,N=Object.defineProperties;var I=Object.getOwnPropertyDescriptors;var F=Object.getOwnPropertySymbols;var z=Object.prototype.hasOwnProperty,J=Object.prototype.propertyIsEnumerable;var C=(r,e,t)=>e in r?A(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,a=(r,e)=>{for(var t in e||(e={}))z.call(e,t)&&C(r,t,e[t]);if(F)for(var t of F(e))J.call(e,t)&&C(r,t,e[t]);return r},m=(r,e)=>N(r,I(e));var s=(r,e,t)=>(C(r,typeof e!="symbol"?e+"":e,t),t);var h=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),q={[h.trace]:10,[h.debug]:20,[h.info]:30,[h.warn]:40,[h.error]:50,[h.fatal]:60},G={10:h.trace,20:h.debug,30:h.info,40:h.warn,50:h.error,60:h.fatal};var u=function(r){return r.onBeforeDataOut="onBeforeDataOut",r.shouldSendToLogger="shouldSendToLogger",r.onMetadataCalled="onMetadataCalled",r.onBeforeMessageOut="onBeforeMessageOut",r.onContextCalled="onContextCalled",r}({});var n=function(r){return r.info="info",r.warn="warn",r.error="error",r.debug="debug",r.trace="trace",r.fatal="fatal",r}({}),M={[n.trace]:10,[n.debug]:20,[n.info]:30,[n.warn]:40,[n.error]:50,[n.fatal]:60},X={10:n.trace,20:n.debug,30:n.info,40:n.warn,50:n.error,60:n.fatal};var D=class E{constructor(){s(this,"context",{});s(this,"hasContext",!1)}setContext(e){if(!e){this.context={},this.hasContext=!1;return}this.context=e,this.hasContext=!0}appendContext(e){this.context=a(a({},this.context),e),this.hasContext=!0}getContext(){return this.context}hasContextData(){return this.hasContext}onChildLoggerCreated({parentContextManager:e,childContextManager:t}){if(e.hasContextData()){let i=e.getContext();t.setContext(a({},i))}}clone(){let e=new E;return e.setContext(a({},this.context)),e.hasContext=this.hasContext,e}};var S=class{constructor(r){s(this,"err");s(this,"metadata");s(this,"structuredLogger");s(this,"hasMetadata");s(this,"pluginManager");this.err=null,this.metadata={},this.structuredLogger=r,this.hasMetadata=!1,this.pluginManager=r.pluginManager}withMetadata(r){let{pluginManager:e,structuredLogger:{_config:{consoleDebug:t}}}=this;if(!r)return t&&console.debug("[LogLayer] withMetadata was called with no metadata; dropping."),this;let i=r;return e.hasPlugins(u.onMetadataCalled)&&(i=e.runOnMetadataCalled(r,this.structuredLogger),!i)?(t&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value."),this):(this.metadata=a(a({},this.metadata),i),this.hasMetadata=!0,this)}withError(r){return this.err=r,this}info(...r){this.structuredLogger.isLevelEnabled(n.info)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.info,r))}warn(...r){this.structuredLogger.isLevelEnabled(n.warn)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.warn,r))}error(...r){this.structuredLogger.isLevelEnabled(n.error)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.error,r))}debug(...r){this.structuredLogger.isLevelEnabled(n.debug)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.debug,r))}trace(...r){this.structuredLogger.isLevelEnabled(n.trace)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.trace,r))}fatal(...r){this.structuredLogger.isLevelEnabled(n.fatal)&&(this.structuredLogger._formatMessage(r),this.formatLog(n.fatal,r))}disableLogging(){return this.structuredLogger.disableLogging(),this}enableLogging(){return this.structuredLogger.enableLogging(),this}formatLog(r,e){let{muteMetadata:t}=this.structuredLogger._config,i=t?!1:this.hasMetadata;this.structuredLogger._formatLog({logLevel:r,params:e,metadata:i?this.metadata:null,err:this.err})}},K=[u.onBeforeDataOut,u.onMetadataCalled,u.shouldSendToLogger,u.onBeforeMessageOut,u.onContextCalled],k=class{constructor(r){s(this,"idToPlugin");s(this,"onBeforeDataOut",[]);s(this,"shouldSendToLogger",[]);s(this,"onMetadataCalled",[]);s(this,"onBeforeMessageOut",[]);s(this,"onContextCalled",[]);this.idToPlugin={},this.mapPlugins(r),this.indexPlugins()}mapPlugins(r){for(let e of r){if(e.id||(e.id=Date.now().toString()+Math.random().toString()),this.idToPlugin[e.id])throw new Error(`[LogLayer] Plugin with id ${e.id} already exists.`);e.registeredAt=Date.now(),this.idToPlugin[e.id]=e}}indexPlugins(){this.onBeforeDataOut=[],this.shouldSendToLogger=[],this.onMetadataCalled=[],this.onBeforeMessageOut=[],this.onContextCalled=[];let r=Object.values(this.idToPlugin).sort((e,t)=>e.registeredAt-t.registeredAt);for(let e of r){if(e.disabled)return;for(let t of K)e[t]&&e.id&&this[t].push(e.id)}}hasPlugins(r){return this[r].length>0}countPlugins(r){return r?this[r].length:Object.keys(this.idToPlugin).length}addPlugins(r){this.mapPlugins(r),this.indexPlugins()}enablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!1),this.indexPlugins()}disablePlugin(r){let e=this.idToPlugin[r];e&&(e.disabled=!0),this.indexPlugins()}removePlugin(r){delete this.idToPlugin[r],this.indexPlugins()}runOnBeforeDataOut(r,e){let t=a({},r);for(let i of this.onBeforeDataOut){let o=this.idToPlugin[i];if(o.onBeforeDataOut){let l=o.onBeforeDataOut({data:t.data,logLevel:t.logLevel,error:t.error,metadata:t.metadata,context:t.context},e);l&&(t.data||(t.data={}),Object.assign(t.data,l))}}return t.data}runShouldSendToLogger(r,e){return!this.shouldSendToLogger.some(t=>{var i,o;return!((o=(i=this.idToPlugin[t]).shouldSendToLogger)!=null&&o.call(i,r,e))})}runOnMetadataCalled(r,e){var i,o;let t=a({},r);for(let l of this.onMetadataCalled){let d=(o=(i=this.idToPlugin[l]).onMetadataCalled)==null?void 0:o.call(i,t,e);if(d)t=d;else return null}return t}runOnBeforeMessageOut(r,e){var i,o;let t=[...r.messages];for(let l of this.onBeforeMessageOut){let d=(o=(i=this.idToPlugin[l]).onBeforeMessageOut)==null?void 0:o.call(i,{messages:t,logLevel:r.logLevel},e);d&&(t=d)}return t}runOnContextCalled(r,e){var i,o;let t=a({},r);for(let l of this.onContextCalled){let d=(o=(i=this.idToPlugin[l]).onContextCalled)==null?void 0:o.call(i,t,e);if(d)t=d;else return null}return t}},B=class R{constructor(e){s(this,"pluginManager");s(this,"idToTransport");s(this,"hasMultipleTransports");s(this,"singleTransport");s(this,"contextManager");s(this,"logLevelEnabledStatus",{info:!0,warn:!0,error:!0,debug:!0,trace:!0,fatal:!0});s(this,"_config");var t;this._config=m(a({},e),{enabled:(t=e.enabled)!=null?t:!0}),this._config.enabled||this.disableLogging(),this.contextManager=new D,this.pluginManager=new k(e.plugins||[]),this._config.errorFieldName||(this._config.errorFieldName="err"),this._config.copyMsgOnOnlyError||(this._config.copyMsgOnOnlyError=!1),this._initializeTransports(this._config.transport)}withContextManager(e){return this.contextManager&&typeof this.contextManager[Symbol.dispose]=="function"&&this.contextManager[Symbol.dispose](),this.contextManager=e,this}getContextManager(){return this.contextManager}_initializeTransports(e){if(this.idToTransport)for(let t in this.idToTransport)this.idToTransport[t]&&typeof this.idToTransport[t][Symbol.dispose]=="function"&&this.idToTransport[t][Symbol.dispose]();this.hasMultipleTransports=Array.isArray(e)&&e.length>1,this.singleTransport=this.hasMultipleTransports?null:Array.isArray(e)?e[0]:e,Array.isArray(e)?this.idToTransport=e.reduce((t,i)=>(t[i.id]=i,t),{}):this.idToTransport={[e.id]:e}}withPrefix(e){let t=this.child();return t._config.prefix=e,t}withContext(e){let t=e;return e?this.pluginManager.hasPlugins(u.onContextCalled)&&(t=this.pluginManager.runOnContextCalled(e,this),!t)?(this._config.consoleDebug&&console.debug("[LogLayer] Context was dropped due to plugin returning falsy value."),this):(this.contextManager.appendContext(t),this):(this._config.consoleDebug&&console.debug("[LogLayer] withContext was called with no context; dropping."),this)}clearContext(){return this.contextManager.setContext(void 0),this}getContext(){return this.contextManager.getContext()}addPlugins(e){this.pluginManager.addPlugins(e)}enablePlugin(e){this.pluginManager.enablePlugin(e)}disablePlugin(e){this.pluginManager.disablePlugin(e)}removePlugin(e){this.pluginManager.removePlugin(e)}withMetadata(e){return new S(this).withMetadata(e)}withError(e){return new S(this).withError(e)}child(){let e=new R(m(a({},this._config),{transport:Array.isArray(this._config.transport)?[...this._config.transport]:this._config.transport})).withPluginManager(this.pluginManager).withContextManager(this.contextManager.clone());return this.contextManager.onChildLoggerCreated({parentContextManager:this.contextManager,childContextManager:e.contextManager,parentLogger:this,childLogger:e}),e}withFreshTransports(e){return this._config.transport=e,this._initializeTransports(e),this}withFreshPlugins(e){return this._config.plugins=e,this.pluginManager=new k(e),this}withPluginManager(e){return this.pluginManager=e,this}errorOnly(e,t){let i=(t==null?void 0:t.logLevel)||n.error;if(!this.isLevelEnabled(i))return;let{copyMsgOnOnlyError:o}=this._config,l={logLevel:i,err:e};(o&&(t==null?void 0:t.copyMsg)!==!1||(t==null?void 0:t.copyMsg)===!0)&&(e!=null&&e.message)&&(l.params=[e.message]),this._formatLog(l)}metadataOnly(e,t=n.info){if(!this.isLevelEnabled(t))return;let{muteMetadata:i,consoleDebug:o}=this._config;if(i)return;if(!e){o&&console.debug("[LogLayer] metadataOnly was called with no metadata; dropping.");return}let l=e;if(this.pluginManager.hasPlugins(u.onMetadataCalled)&&(l=this.pluginManager.runOnMetadataCalled(e,this),!l)){o&&console.debug("[LogLayer] Metadata was dropped due to plugin returning falsy value.");return}let d={logLevel:t,metadata:l};this._formatLog(d)}info(...e){this.isLevelEnabled(n.info)&&(this._formatMessage(e),this._formatLog({logLevel:n.info,params:e}))}warn(...e){this.isLevelEnabled(n.warn)&&(this._formatMessage(e),this._formatLog({logLevel:n.warn,params:e}))}error(...e){this.isLevelEnabled(n.error)&&(this._formatMessage(e),this._formatLog({logLevel:n.error,params:e}))}debug(...e){this.isLevelEnabled(n.debug)&&(this._formatMessage(e),this._formatLog({logLevel:n.debug,params:e}))}trace(...e){this.isLevelEnabled(n.trace)&&(this._formatMessage(e),this._formatLog({logLevel:n.trace,params:e}))}fatal(...e){this.isLevelEnabled(n.fatal)&&(this._formatMessage(e),this._formatLog({logLevel:n.fatal,params:e}))}raw(e){if(!this.isLevelEnabled(e.logLevel))return;let t={logLevel:e.logLevel,params:e.messages,metadata:e.metadata,err:e.error,context:e.context};this._formatMessage(e.messages),this._formatLog(t)}disableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!1;return this}enableLogging(){for(let e of Object.keys(this.logLevelEnabledStatus))this.logLevelEnabledStatus[e]=!0;return this}muteContext(){return this._config.muteContext=!0,this}unMuteContext(){return this._config.muteContext=!1,this}muteMetadata(){return this._config.muteMetadata=!0,this}unMuteMetadata(){return this._config.muteMetadata=!1,this}enableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!0),this}disableIndividualLevel(e){let t=e;return t in this.logLevelEnabledStatus&&(this.logLevelEnabledStatus[t]=!1),this}setLevel(e){let t=M[e];for(let i of Object.values(n)){let o=i,l=M[i];this.logLevelEnabledStatus[o]=l>=t}return this}isLevelEnabled(e){let t=e;return this.logLevelEnabledStatus[t]}formatContext(e){let{contextFieldName:t,muteContext:i}=this._config;return e&&Object.keys(e).length>0&&!i?t?{[t]:a({},e)}:a({},e):{}}formatMetadata(e=null){let{metadataFieldName:t,muteMetadata:i}=this._config;return e&&!i?t?{[t]:a({},e)}:a({},e):{}}getLoggerInstance(e){let t=this.idToTransport[e];if(t)return t.getLoggerInstance()}_formatMessage(e=[]){let{prefix:t}=this._config;t&&typeof e[0]=="string"&&(e[0]=`${t} ${e[0]}`)}_formatLog({logLevel:e,params:t=[],metadata:i=null,err:o,context:l=null}){var P;let{errorSerializer:d,errorFieldInMetadata:O,muteContext:j,contextFieldName:v,metadataFieldName:f,errorFieldName:x}=this._config,p=l!==null?l:this.contextManager.getContext(),c=!!i||(j?!1:l!==null?Object.keys(l).length>0:this.contextManager.hasContextData()),g={};if(c)if(v&&v===f){let L=this.formatContext(p)[v],b=this.formatMetadata(i)[f];g={[v]:a(a({},L),b)}}else g=a(a({},this.formatContext(p)),this.formatMetadata(i));if(o){let L=d?d(o):o;O&&i&&f?g!=null&&g[f]?g[f][x]=L:g=m(a({},g),{[f]:{[x]:L}}):O&&!i&&f?g=m(a({},g),{[f]:{[x]:L}}):g=m(a({},g),{[x]:L}),c=!0}if(this.pluginManager.hasPlugins(u.onBeforeDataOut)&&(g=this.pluginManager.runOnBeforeDataOut({data:c?g:void 0,logLevel:e,error:o,metadata:i,context:p},this),g&&!c&&(c=!0)),this.pluginManager.hasPlugins(u.onBeforeMessageOut)&&(t=this.pluginManager.runOnBeforeMessageOut({messages:[...t],logLevel:e},this)),this.hasMultipleTransports){let L=this._config.transport.filter(b=>b.enabled).map(async b=>{if(!(this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:b.id,error:o,metadata:i,context:p},this)))return b._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:o,metadata:i,context:p})});Promise.all(L).catch(b=>{this._config.consoleDebug&&console.error("[LogLayer] Error executing transports:",b)})}else{if(!((P=this.singleTransport)!=null&&P.enabled)||this.pluginManager.hasPlugins(u.shouldSendToLogger)&&!this.pluginManager.runShouldSendToLogger({messages:[...t],data:c?g:void 0,logLevel:e,transportId:this.singleTransport.id,error:o,metadata:i,context:p},this))return;this.singleTransport._sendToLogger({logLevel:e,messages:[...t],data:c?g:void 0,hasData:c,error:o,metadata:i,context:p})}}};function V(){let r={debug:()=>{},info:()=>{},warn:()=>{},error:()=>{}};return new B({transport:r})}function w(r){return r!=null?r:V()}import{RegistryManager as _}from"@kumori/kdsl-lsp/module/registry/manager.js";import{Ok as y,Err as T}from"@kumori/kdsl-lsp/util/result.js";async function Me(r){let e=w(r.logger),t=new _,i={selector:r.selector,version:r.version,indexUrl:r.url};try{return t.add(i),e.info(`Registry '${r.selector}' added at ${r.url}`),y(void 0)}catch(o){return T([`Failed to add registry: ${o}`])}}async function ve(r={}){let e=w(r.logger),t=new _;try{let i=t.list();return e.info("Configured Registries:"),y(i)}catch(i){return T([`Failed to list registries: ${i}`])}}async function xe(r){let e=w(r.logger),t=new _;try{return t.remove(r.name),e.info(`Registry '${r.name}' removed`),y(void 0)}catch(i){return T([`Failed to remove registry: ${i}`])}}export{Me as registryAdd,ve as registryList,xe as registryRemove};
|
|
1
|
+
import { getLogger } from "./logger.js";
|
|
2
|
+
import { RegistryManager } from "@kumori/kdsl-lsp/module/registry/manager.js";
|
|
3
|
+
import { Ok, Err } from "@kumori/kdsl-lsp/util/result.js";
|
|
4
|
+
/**
|
|
5
|
+
* Add a registry to the resolver configuration.
|
|
6
|
+
*
|
|
7
|
+
* The selector argument is used to match artifacts. For example, a registry
|
|
8
|
+
* with Index URL "https://github.com/kumori" and selector "kumori.systems"
|
|
9
|
+
* will resolve dependencies starting with "kumori.systems".
|
|
10
|
+
*
|
|
11
|
+
* @param options - Registry add options
|
|
12
|
+
* @returns Result with void on success, or string[] of errors
|
|
13
|
+
*/
|
|
14
|
+
export async function registryAdd(options) {
|
|
15
|
+
const log = getLogger(options.logger);
|
|
16
|
+
const manager = new RegistryManager(options.configPath);
|
|
17
|
+
const registry = {
|
|
18
|
+
selector: options.selector,
|
|
19
|
+
repoUrl: options.url,
|
|
20
|
+
token: options.token,
|
|
21
|
+
};
|
|
22
|
+
try {
|
|
23
|
+
await manager.add(registry);
|
|
24
|
+
log.info(`Registry '${options.selector}' added at ${options.url}`);
|
|
25
|
+
return Ok(undefined);
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
return Err([`Failed to add registry: ${err}`]);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* List all configured registries.
|
|
33
|
+
*
|
|
34
|
+
* @param options - Registry list options
|
|
35
|
+
* @returns Result with array of registry objects on success, or string[] of errors
|
|
36
|
+
*/
|
|
37
|
+
export async function registryList(options = {}) {
|
|
38
|
+
const log = getLogger(options.logger);
|
|
39
|
+
const manager = new RegistryManager(options.configPath);
|
|
40
|
+
try {
|
|
41
|
+
const registries = manager.list();
|
|
42
|
+
log.info("Configured Registries:");
|
|
43
|
+
return Ok(registries);
|
|
44
|
+
}
|
|
45
|
+
catch (err) {
|
|
46
|
+
return Err([`Failed to list registries: ${err}`]);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Remove a configured registry by name.
|
|
51
|
+
*
|
|
52
|
+
* @param options - Registry remove options
|
|
53
|
+
* @returns Result with void on success, or string[] of errors
|
|
54
|
+
*/
|
|
55
|
+
export async function registryRemove(options) {
|
|
56
|
+
const log = getLogger(options.logger);
|
|
57
|
+
const manager = new RegistryManager(options.configPath);
|
|
58
|
+
try {
|
|
59
|
+
manager.remove(options.name);
|
|
60
|
+
log.info(`Registry '${options.name}' removed`);
|
|
61
|
+
return Ok(undefined);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
return Err([`Failed to remove registry: ${err}`]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=registry.js.map
|
package/dist/lib/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAC7E,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/lib/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAA;AAC7E,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAA;AA+BzD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAA2B;IAE3B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvD,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,GAAG;QACpB,KAAK,EAAE,OAAO,CAAC,KAAK;KACrB,CAAA;IAED,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3B,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,QAAQ,cAAc,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAClE,OAAO,EAAE,CAAO,SAAS,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;AACH,CAAC;AAeD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,UAA+B,EAAE;IAEjC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QACjC,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAClC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAA;IACvB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC;AAoBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAA8B;IAE9B,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;IAEvD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5B,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,IAAI,WAAW,CAAC,CAAA;QAC9C,OAAO,EAAE,CAAO,SAAS,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,GAAG,CAAC,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -19,6 +19,11 @@ export interface LibraryOptions {
|
|
|
19
19
|
* Working directory. Defaults to process.cwd()
|
|
20
20
|
*/
|
|
21
21
|
cwd?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Path to config directory for registry management.
|
|
24
|
+
* Defaults to ~/.config/kdsl
|
|
25
|
+
*/
|
|
26
|
+
configPath?: string;
|
|
22
27
|
}
|
|
23
28
|
/**
|
|
24
29
|
* Standard result type for library functions
|
package/dist/main.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Command } from "@commander-js/extra-typings";
|
|
2
|
+
import path from "path";
|
|
3
|
+
import os from "os";
|
|
2
4
|
import build from "./build/main.js";
|
|
3
5
|
import check from "./check/main.js";
|
|
4
6
|
import clean from "./clean/main.js";
|
|
@@ -7,6 +9,7 @@ import mod from "./mod/main.js";
|
|
|
7
9
|
import version from "./version.js";
|
|
8
10
|
import registry from "./registry/main.js";
|
|
9
11
|
import index from "./index/main.js";
|
|
12
|
+
import deployment from "./deployment/main.js";
|
|
10
13
|
import { LogLayer } from "loglayer";
|
|
11
14
|
import { TsLogTransport } from "@loglayer/transport-tslog";
|
|
12
15
|
import { Logger } from "tslog";
|
|
@@ -19,7 +22,9 @@ export async function main() {
|
|
|
19
22
|
},
|
|
20
23
|
});
|
|
21
24
|
const log = new LogLayer({ transport: new TsLogTransport({ logger }) });
|
|
22
|
-
const program = new Command("kdsl")
|
|
25
|
+
const program = new Command("kdsl")
|
|
26
|
+
.version(version)
|
|
27
|
+
.option("--config <path>", "set config path", path.join(os.homedir(), ".config", "kdsl"));
|
|
23
28
|
build.Register(program, log);
|
|
24
29
|
check.Register(program, log);
|
|
25
30
|
clean.Register(program, log);
|
|
@@ -27,6 +32,7 @@ export async function main() {
|
|
|
27
32
|
mod.Register(program, log);
|
|
28
33
|
registry.Register(program, log);
|
|
29
34
|
index.Register(program, log);
|
|
35
|
+
deployment.Register(program, log);
|
|
30
36
|
await new Promise((resolve) => {
|
|
31
37
|
program.hook("postAction", () => resolve());
|
|
32
38
|
program.parse();
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,IAAI,MAAM,gBAAgB,CAAA;AACjC,OAAO,GAAG,MAAM,eAAe,CAAA;AAC/B,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,QAAQ,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,4BAA4B,EAAE,IAAI;QAClC,SAAS,EAAE;YACT,kBAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACzC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SAC1C;KACF,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAA;AACrD,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,IAAI,MAAM,gBAAgB,CAAA;AACjC,OAAO,GAAG,MAAM,eAAe,CAAA;AAC/B,OAAO,OAAO,MAAM,cAAc,CAAA;AAClC,OAAO,QAAQ,MAAM,oBAAoB,CAAA;AACzC,OAAO,KAAK,MAAM,iBAAiB,CAAA;AACnC,OAAO,UAAU,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAE9B,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,IAAI,EAAE,QAAQ;QACd,4BAA4B,EAAE,IAAI;QAClC,SAAS,EAAE;YACT,kBAAkB,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACzC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;SAC1C;KACF,CAAC,CAAA;IACF,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAA;IAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAChC,OAAO,CAAC,OAAO,CAAC;SAChB,MAAM,CACL,iBAAiB,EACjB,iBAAiB,EACjB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAC3C,CAAA;IAEH,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5B,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACtB,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC1B,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC/B,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAC5B,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAEjC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3C,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -21,7 +21,7 @@ To add a dependency with an alias:
|
|
|
21
21
|
kdsl mod dep github.com/org/repo@v1.0.0 --alias mydep
|
|
22
22
|
|
|
23
23
|
To update a dependency to a new version:
|
|
24
|
-
kdsl mod dep github.com/org/repo@
|
|
24
|
+
kdsl mod dep github.com/org/repo@1.2.0
|
|
25
25
|
|
|
26
26
|
To remove a dependency:
|
|
27
27
|
kdsl mod dep github.com/org/repo --remove
|
|
@@ -117,13 +117,15 @@ export const Dependency = async (log, cwd, module, options) => {
|
|
|
117
117
|
version: headers.Version,
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
-
await writeFile(UriUtils.joinPath(ctx.value.Current.Root, MOD_FILE).fsPath, JSON.stringify(manifest, undefined, 4));
|
|
121
120
|
if (options.download) {
|
|
122
121
|
const dl = await Download(log, svcs, cwd.fsPath, [], { quiet: true });
|
|
123
122
|
if (Result.isErr(dl)) {
|
|
124
123
|
throw new Error(`Failed to download dependency: ${dl.err.join(", ")}`);
|
|
125
124
|
}
|
|
126
125
|
}
|
|
126
|
+
// Update the dependency version
|
|
127
|
+
dep.version = url.Version;
|
|
128
|
+
await writeFile(UriUtils.joinPath(ctx.value.Current.Root, MOD_FILE).fsPath, JSON.stringify(manifest, undefined, 4));
|
|
127
129
|
log.info(`Updated dependency ${url.Location} to version ${url.Version}` +
|
|
128
130
|
(alias ? ` (alias: ${alias})` : "") +
|
|
129
131
|
(headers ? ` (headers: ${headers})` : ""));
|
|
@@ -131,14 +133,19 @@ export const Dependency = async (log, cwd, module, options) => {
|
|
|
131
133
|
else {
|
|
132
134
|
// Not found? Then build a new dependency object and add it to the manifest
|
|
133
135
|
const version = url.Version;
|
|
134
|
-
const depObj =
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
136
|
+
const depObj = {
|
|
137
|
+
target: url.Location,
|
|
138
|
+
version,
|
|
139
|
+
...(alias ? { alias } : {}),
|
|
140
|
+
...(headers
|
|
141
|
+
? {
|
|
142
|
+
headers: {
|
|
143
|
+
target: headers.Location,
|
|
144
|
+
version: headers.Version,
|
|
145
|
+
},
|
|
146
|
+
}
|
|
147
|
+
: {}),
|
|
148
|
+
};
|
|
142
149
|
manifest.requires.push(depObj);
|
|
143
150
|
await writeFile(UriUtils.joinPath(ctx.value.Current.Root, MOD_FILE).fsPath, JSON.stringify(manifest, undefined, 4));
|
|
144
151
|
if (options.download) {
|