@node-i3x/app 0.3.1 → 0.3.3

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/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as R}from"module";import{Command as U}from"commander";import{cosmiconfig as h}from"cosmiconfig";import{load as u}from"js-yaml";var O={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1};function d(o){return process.env[o]}function g(o){let e=process.env[o];return e?parseInt(e,10):void 0}function v(o){let e=process.env[o];if(e)return e==="1"||e.toLowerCase()==="true"}function y(){let o={},e=d("I3X_OPCUA_ENDPOINT")??d("I3X_ENDPOINT");e&&(o.endpoint=e);let n=g("I3X_PORT");n!==void 0&&(o.port=n);let t=d("I3X_HOST");t&&(o.host=t);let r=d("I3X_OPCUA_SECURITY_MODE");r&&(o.securityMode=r);let i=d("I3X_OPCUA_OPTIMIZED_CLIENT");(i==="auto"||i==="disabled")&&(o.optimizedClient=i);let s=g("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(o.subscriptionInterval=s);let c=d("I3X_LOG_LEVEL");c&&(o.logLevel=c);let l=v("I3X_MODEL_PRELOAD_ON_STARTUP");l!==void 0&&(o.modelPreload=l);let a=v("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");return a!==void 0&&(o.failOnPreloadError=a),o}async function I(o,e){let n={},t=h("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(i,s)=>u(s),".yaml":(i,s)=>u(s)}});try{let i=e?await t.load(e):await t.search();i&&!i.isEmpty&&(n=i.config)}catch{}let r=y();return{...O,...n,...r,...o}}import{consoleLogger as E,HistoryService as _,ModelService as b,SubscriptionService as L,ValueService as w}from"@node-i3x/core";import{OpcUaClient as A,OpcUaDataSourceAdapter as T}from"@node-i3x/opcua-connector";import{createApp as M}from"@node-i3x/rest-server";function C(o,e,n){let t=["",` i3X Server v${o}`,"",` OPC UA: ${e.endpoint}`,` REST: http://${e.host}:${e.port}`];n!==void 0&&t.push(` Model: ${n} nodes`),t.push(""),t.push(" Press Ctrl+C to stop"),t.push("");let i=Math.max(...t.map(a=>a.length))+2,s="-".repeat(i),c=` +${s}+`,l=` +${s}+`;console.log(c);for(let a of t)console.log(` |${a.padEnd(i)}|`);console.log(l),console.log()}async function P(o,e){let n=E,t=new A({endpointUrl:o.endpoint,securityMode:o.securityMode,optimizedClient:o.optimizedClient},n),r=new T(t,n),i=new b(r,n),s=new w(r,i,n),c=new _(r,i,n),l=new L(r,i,n,o.subscriptionInterval),a=await M({dataSource:r,modelService:i,valueService:s,historyService:c,subscriptionService:l,logger:n});await r.connect();let p;if(o.modelPreload)try{p=(await i.preloadModel()).nodesById.size}catch(m){n.error(`Model preload failed: ${String(m)}`),o.failOnPreloadError&&process.exit(1)}await a.listen({port:o.port,host:o.host}),C(e,o,p);let f=async()=>{n.info("Shutting down..."),await a.close(),await l.close(),await r.disconnect(),process.exit(0)};process.on("SIGINT",f),process.on("SIGTERM",f)}var z=R(import.meta.url),x=z("../package.json"),S=new U;S.name("i3x").description("Expose OPC UA servers as i3X REST APIs").version(x.version).option("-e, --endpoint <url>","OPC UA endpoint URL").option("-p, --port <port>","REST API port",parseInt).option("-H, --host <host>","REST API bind address").option("--security-mode <mode>","OPC UA security mode").option("--optimized-client <mode>","Optimized client: auto | disabled").option("--subscription-interval <seconds>","Subscription interval in seconds",parseInt).option("--log-level <level>","Log level: debug | info | warn | error").option("--no-model-preload","Skip model preload on startup").option("-c, --config <path>","Path to config file").action(async o=>{let e={};o.endpoint&&(e.endpoint=o.endpoint),o.port!==void 0&&(e.port=o.port),o.host&&(e.host=o.host),o.securityMode&&(e.securityMode=o.securityMode),o.optimizedClient&&(e.optimizedClient=o.optimizedClient),o.subscriptionInterval!==void 0&&(e.subscriptionInterval=o.subscriptionInterval),o.logLevel&&(e.logLevel=o.logLevel),o.modelPreload===!1&&(e.modelPreload=!1);let n=await I(e,o.config);await P(n,x.version)});S.parse();
2
+ import{createRequire as N}from"module";import{Command as X}from"commander";import{cosmiconfig as y}from"cosmiconfig";import{load as g}from"js-yaml";var x={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1};function l(e){return process.env[e]}function v(e){let o=process.env[e];return o?parseInt(o,10):void 0}function I(e){let o=process.env[e];if(o)return o==="1"||o.toLowerCase()==="true"}function h(){let e={},o=l("I3X_OPCUA_ENDPOINT")??l("I3X_ENDPOINT");o&&(e.endpoint=o);let n=v("I3X_PORT");n!==void 0&&(e.port=n);let r=l("I3X_HOST");r&&(e.host=r);let t=l("I3X_OPCUA_SECURITY_MODE");t&&(e.securityMode=t);let i=l("I3X_OPCUA_OPTIMIZED_CLIENT");(i==="auto"||i==="disabled")&&(e.optimizedClient=i);let s=v("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let c=l("I3X_LOG_LEVEL");c&&(e.logLevel=c);let d=I("I3X_MODEL_PRELOAD_ON_STARTUP");d!==void 0&&(e.modelPreload=d);let a=I("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");a!==void 0&&(e.failOnPreloadError=a);let p=l("I3X_OPCUA_USERNAME");p&&(e.username=p);let f=l("I3X_OPCUA_PASSWORD");return f&&(e.password=f),e}async function C(e,o){let n={},r=y("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(i,s)=>g(s),".yaml":(i,s)=>g(s)}});try{let i=o?await r.load(o):await r.search();i&&!i.isEmpty&&(n=i.config)}catch{}let t=h();return{...x,...n,...t,...e}}import{consoleLogger as _,HistoryService as E,ModelService as A,SubscriptionService as b,TypeService as L,ValueService as U}from"@node-i3x/core";import{OpcUaClient as T,OpcUaDataSourceAdapter as M}from"@node-i3x/opcua-connector";import{createApp as R}from"@node-i3x/rest-server";function P(e,o,n){let r=["",` i3X Server v${e}`,"",` OPC UA: ${o.endpoint}`,` REST: http://${o.host}:${o.port}`];n!==void 0&&r.push(` Model: ${n} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let i=Math.max(...r.map(a=>a.length))+2,s="-".repeat(i),c=` +${s}+`,d=` +${s}+`;console.log(c);for(let a of r)console.log(` |${a.padEnd(i)}|`);console.log(d),console.log()}async function S(e,o){let n=_,r=new T({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},n),t=new M(r,n),i=new A(t,n),s=new U(t,i,n),c=new E(t,i,n),d=new b(t,i,n,e.subscriptionInterval),a=new L(t,n),p=await R({dataSource:t,modelService:i,typeService:a,valueService:s,historyService:c,subscriptionService:d,logger:n});await t.connect();let f;if(e.modelPreload)try{f=(await i.preloadModel()).nodesById.size,await a.preloadTypes()}catch(u){n.error(`Model preload failed: ${String(u)}`),e.failOnPreloadError&&process.exit(1)}await p.listen({port:e.port,host:e.host}),P(o,e,f);let m=async()=>{n.info("Shutting down..."),await p.close(),await d.close(),await t.disconnect(),process.exit(0)};process.on("SIGINT",m),process.on("SIGTERM",m)}var z=N(import.meta.url),O=z("../package.json"),w=new X;w.name("i3x").description("Expose OPC UA servers as i3X REST APIs").version(O.version).option("-e, --endpoint <url>","OPC UA endpoint URL").option("-p, --port <port>","REST API port",parseInt).option("-H, --host <host>","REST API bind address").option("--security-mode <mode>","OPC UA security mode").option("--optimized-client <mode>","Optimized client: auto | disabled").option("--subscription-interval <seconds>","Subscription interval in seconds",parseInt).option("--log-level <level>","Log level: debug | info | warn | error").option("--no-model-preload","Skip model preload on startup").option("--username <user>","OPC UA username for UserName identity token").option("--password <pass>","OPC UA password for UserName identity token").option("-c, --config <path>","Path to config file").action(async e=>{let o={};e.endpoint&&(o.endpoint=e.endpoint),e.port!==void 0&&(o.port=e.port),e.host&&(o.host=e.host),e.securityMode&&(o.securityMode=e.securityMode),e.optimizedClient&&(o.optimizedClient=e.optimizedClient),e.subscriptionInterval!==void 0&&(o.subscriptionInterval=e.subscriptionInterval),e.logLevel&&(o.logLevel=e.logLevel),e.modelPreload===!1&&(o.modelPreload=!1),e.username&&(o.username=e.username),e.password&&(o.password=e.password);let n=await C(o,e.config);await S(n,O.version)});w.parse();
3
3
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts","../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":";AAAA,OAAS,iBAAAA,MAAqB,SAC9B,OAAS,WAAAC,MAAe,YCDxB,OAAS,eAAAC,MAAmB,cAC5B,OAAS,QAAQC,MAAgB,UAcjC,IAAMC,EAAsB,CAC1B,SAAU,2BACV,KAAM,KACN,KAAM,UACN,aAAc,OACd,gBAAiB,OACjB,qBAAsB,EACtB,SAAU,OACV,aAAc,GACd,mBAAoB,EACtB,EAGA,SAASC,EAAOC,EAAiC,CAC/C,OAAO,QAAQ,IAAIA,CAAG,CACxB,CACA,SAASC,EAAOD,EAAiC,CAC/C,IAAME,EAAI,QAAQ,IAAIF,CAAG,EACzB,OAAOE,EAAI,SAASA,EAAG,EAAE,EAAI,MAC/B,CACA,SAASC,EAAQH,EAAkC,CACjD,IAAME,EAAI,QAAQ,IAAIF,CAAG,EACzB,GAAKE,EACL,OAAOA,IAAM,KAAOA,EAAE,YAAY,IAAM,MAC1C,CAEA,SAASE,GAA8B,CACrC,IAAMC,EAA6B,CAAC,EAC9BC,EAAWP,EAAO,oBAAoB,GAAKA,EAAO,cAAc,EAClEO,IAAUD,EAAO,SAAWC,GAEhC,IAAMC,EAAON,EAAO,UAAU,EAC1BM,IAAS,SAAWF,EAAO,KAAOE,GAEtC,IAAMC,EAAOT,EAAO,UAAU,EAC1BS,IAAMH,EAAO,KAAOG,GAExB,IAAMC,EAAeV,EAAO,yBAAyB,EACjDU,IAAcJ,EAAO,aAAeI,GAExC,IAAMC,EAAkBX,EAAO,4BAA4B,GACvDW,IAAoB,QAAUA,IAAoB,cACpDL,EAAO,gBAAkBK,GAE3B,IAAMC,EAAWV,EAAO,mCAAmC,EACvDU,IAAa,SAAWN,EAAO,qBAAuBM,GAE1D,IAAMC,EAAWb,EAAO,eAAe,EACnCa,IAAUP,EAAO,SAAWO,GAEhC,IAAMC,EAAUV,EAAQ,8BAA8B,EAClDU,IAAY,SAAWR,EAAO,aAAeQ,GAEjD,IAAMC,EAAgBX,EAAQ,yCAAyC,EACvE,OAAIW,IAAkB,SAAWT,EAAO,mBAAqBS,GAEtDT,CACT,CAGA,eAAsBU,EACpBC,EACAC,EACoB,CAEpB,IAAIC,EAAiC,CAAC,EAChCC,EAAWvB,EAAY,MAAO,CAClC,aAAc,CACZ,iBACA,kBACA,kBACA,SACA,cACA,aACA,cACA,cACF,EACA,QAAS,CACP,OAAQ,CAACwB,EAAmBC,IAAoBxB,EAASwB,CAAO,EAChE,QAAS,CAACD,EAAmBC,IAAoBxB,EAASwB,CAAO,CACnE,CACF,CAAC,EAED,GAAI,CACF,IAAMhB,EAASY,EAAa,MAAME,EAAS,KAAKF,CAAU,EAAI,MAAME,EAAS,OAAO,EAChFd,GAAU,CAACA,EAAO,UACpBa,EAAab,EAAO,OAExB,MAAQ,CAER,CAGA,IAAMiB,EAAYlB,EAAQ,EAE1B,MAAO,CACL,GAAGN,EACH,GAAGoB,EACH,GAAGI,EACH,GAAGN,CACL,CACF,CCpHA,OACE,iBAAAO,EACA,kBAAAC,EACA,gBAAAC,EACA,uBAAAC,EACA,gBAAAC,MACK,iBACP,OAAS,eAAAC,EAAa,0BAAAC,MAA8B,4BACpD,OAAS,aAAAC,MAAiB,wBCNnB,SAASC,EACdC,EACAC,EACAC,EACM,CACN,IAAMC,EAAQ,CACZ,GACA,iBAAiBH,CAAO,GACxB,GACA,cAAcC,EAAO,QAAQ,GAC7B,qBAAqBA,EAAO,IAAI,IAAIA,EAAO,IAAI,EACjD,EAEIC,IAAc,QAChBC,EAAM,KAAK,cAAcD,CAAS,QAAQ,EAG5CC,EAAM,KAAK,EAAE,EACbA,EAAM,KAAK,wBAAwB,EACnCA,EAAM,KAAK,EAAE,EAIb,IAAMC,EADS,KAAK,IAAI,GAAGD,EAAM,IAAKE,GAAMA,EAAE,MAAM,CAAC,EAC9B,EAEjBC,EAAK,IAAI,OAAOF,CAAK,EACrBG,EAAM,MAAMD,CAAE,IACdE,EAAM,MAAMF,CAAE,IAEpB,QAAQ,IAAIC,CAAG,EACf,QAAWE,KAAQN,EACjB,QAAQ,IAAI,MAAMM,EAAK,OAAOL,CAAK,CAAC,GAAG,EAEzC,QAAQ,IAAII,CAAG,EACf,QAAQ,IAAI,CACd,CDzBA,eAAsBE,EAAYC,EAAmBC,EAAgC,CACnF,IAAMC,EAASC,EAGTC,EAAc,IAAIC,EACtB,CACE,YAAaL,EAAO,SACpB,aAAcA,EAAO,aACrB,gBAAiBA,EAAO,eAC1B,EACAE,CACF,EACMI,EAAa,IAAIC,EAAuBH,EAAaF,CAAM,EAG3DM,EAAe,IAAIC,EAAaH,EAAYJ,CAAM,EAClDQ,EAAe,IAAIC,EAAaL,EAAYE,EAAcN,CAAM,EAChEU,EAAiB,IAAIC,EAAeP,EAAYE,EAAcN,CAAM,EACpEY,EAAsB,IAAIC,EAC9BT,EACAE,EACAN,EACAF,EAAO,oBACT,EAGMgB,EAAM,MAAMC,EAAU,CAC1B,WAAAX,EACA,aAAAE,EACA,aAAAE,EACA,eAAAE,EACA,oBAAAE,EACA,OAAAZ,CACF,CAAC,EAGD,MAAMI,EAAW,QAAQ,EAGzB,IAAIY,EACJ,GAAIlB,EAAO,aACT,GAAI,CAEFkB,GADc,MAAMV,EAAa,aAAa,GAC5B,UAAU,IAC9B,OAASW,EAAK,CACZjB,EAAO,MAAM,yBAAyB,OAAOiB,CAAG,CAAC,EAAE,EAC/CnB,EAAO,oBAAoB,QAAQ,KAAK,CAAC,CAC/C,CAIF,MAAMgB,EAAI,OAAO,CAAE,KAAMhB,EAAO,KAAM,KAAMA,EAAO,IAAK,CAAC,EAGzDoB,EAAYnB,EAASD,EAAQkB,CAAS,EAGtC,IAAMG,EAAW,SAAY,CAC3BnB,EAAO,KAAK,kBAAkB,EAC9B,MAAMc,EAAI,MAAM,EAChB,MAAMF,EAAoB,MAAM,EAChC,MAAMR,EAAW,WAAW,EAC5B,QAAQ,KAAK,CAAC,CAChB,EACA,QAAQ,GAAG,SAAUe,CAAQ,EAC7B,QAAQ,GAAG,UAAWA,CAAQ,CAChC,CFxEA,IAAMC,EAAUC,EAAc,YAAY,GAAG,EACvCC,EAAMF,EAAQ,iBAAiB,EAE/BG,EAAU,IAAIC,EAEpBD,EACG,KAAK,KAAK,EACV,YAAY,wCAAwC,EACpD,QAAQD,EAAI,OAAO,EACnB,OAAO,uBAAwB,qBAAqB,EACpD,OAAO,oBAAqB,gBAAiB,QAAQ,EACrD,OAAO,oBAAqB,uBAAuB,EACnD,OAAO,yBAA0B,sBAAsB,EACvD,OAAO,4BAA6B,mCAAmC,EACvE,OACC,oCACA,mCACA,QACF,EACC,OAAO,sBAAuB,wCAAwC,EACtE,OAAO,qBAAsB,+BAA+B,EAC5D,OAAO,sBAAuB,qBAAqB,EACnD,OAAO,MAAOG,GAAS,CAEtB,IAAMC,EAA8B,CAAC,EACjCD,EAAK,WAAUC,EAAQ,SAAWD,EAAK,UACvCA,EAAK,OAAS,SAAWC,EAAQ,KAAOD,EAAK,MAC7CA,EAAK,OAAMC,EAAQ,KAAOD,EAAK,MAC/BA,EAAK,eAAcC,EAAQ,aAAeD,EAAK,cAC/CA,EAAK,kBAAiBC,EAAQ,gBAAkBD,EAAK,iBACrDA,EAAK,uBAAyB,SAChCC,EAAQ,qBAAuBD,EAAK,sBAClCA,EAAK,WAAUC,EAAQ,SAAWD,EAAK,UACvCA,EAAK,eAAiB,KAAOC,EAAQ,aAAe,IAExD,IAAMC,EAAS,MAAMC,EAAcF,EAASD,EAAK,MAAM,EACvD,MAAMI,EAAYF,EAAQL,EAAI,OAAO,CACvC,CAAC,EAEHC,EAAQ,MAAM","names":["createRequire","Command","cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","app","createApp","nodeCount","err","printBanner","shutdown","require","createRequire","pkg","program","Command","opts","cliArgs","config","resolveConfig","startServer"]}
1
+ {"version":3,"sources":["../src/cli.ts","../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["createRequire","Command","cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown","require","createRequire","pkg","program","Command","opts","cliArgs","config","resolveConfig","startServer"]}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,8 @@ interface I3xConfig {
8
8
  logLevel: string;
9
9
  modelPreload: boolean;
10
10
  failOnPreloadError: boolean;
11
+ username?: string;
12
+ password?: string;
11
13
  }
12
14
  declare function resolveConfig(cliArgs: Partial<I3xConfig>, configPath?: string): Promise<I3xConfig>;
13
15
 
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{cosmiconfig as C}from"cosmiconfig";import{load as m}from"js-yaml";var x={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1};function d(o){return process.env[o]}function g(o){let e=process.env[o];return e?parseInt(e,10):void 0}function I(o){let e=process.env[o];if(e)return e==="1"||e.toLowerCase()==="true"}function P(){let o={},e=d("I3X_OPCUA_ENDPOINT")??d("I3X_ENDPOINT");e&&(o.endpoint=e);let n=g("I3X_PORT");n!==void 0&&(o.port=n);let r=d("I3X_HOST");r&&(o.host=r);let i=d("I3X_OPCUA_SECURITY_MODE");i&&(o.securityMode=i);let t=d("I3X_OPCUA_OPTIMIZED_CLIENT");(t==="auto"||t==="disabled")&&(o.optimizedClient=t);let s=g("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(o.subscriptionInterval=s);let c=d("I3X_LOG_LEVEL");c&&(o.logLevel=c);let l=I("I3X_MODEL_PRELOAD_ON_STARTUP");l!==void 0&&(o.modelPreload=l);let a=I("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");return a!==void 0&&(o.failOnPreloadError=a),o}async function S(o,e){let n={},r=C("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(t,s)=>m(s),".yaml":(t,s)=>m(s)}});try{let t=e?await r.load(e):await r.search();t&&!t.isEmpty&&(n=t.config)}catch{}let i=P();return{...x,...n,...i,...o}}import{consoleLogger as _,HistoryService as O,ModelService as h,SubscriptionService as E,ValueService as y}from"@node-i3x/core";import{OpcUaClient as w,OpcUaDataSourceAdapter as L}from"@node-i3x/opcua-connector";import{createApp as b}from"@node-i3x/rest-server";function v(o,e,n){let r=["",` i3X Server v${o}`,"",` OPC UA: ${e.endpoint}`,` REST: http://${e.host}:${e.port}`];n!==void 0&&r.push(` Model: ${n} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let t=Math.max(...r.map(a=>a.length))+2,s="-".repeat(t),c=` +${s}+`,l=` +${s}+`;console.log(c);for(let a of r)console.log(` |${a.padEnd(t)}|`);console.log(l),console.log()}async function T(o,e){let n=_,r=new w({endpointUrl:o.endpoint,securityMode:o.securityMode,optimizedClient:o.optimizedClient},n),i=new L(r,n),t=new h(i,n),s=new y(i,t,n),c=new O(i,t,n),l=new E(i,t,n,o.subscriptionInterval),a=await b({dataSource:i,modelService:t,valueService:s,historyService:c,subscriptionService:l,logger:n});await i.connect();let p;if(o.modelPreload)try{p=(await t.preloadModel()).nodesById.size}catch(u){n.error(`Model preload failed: ${String(u)}`),o.failOnPreloadError&&process.exit(1)}await a.listen({port:o.port,host:o.host}),v(e,o,p);let f=async()=>{n.info("Shutting down..."),await a.close(),await l.close(),await i.disconnect(),process.exit(0)};process.on("SIGINT",f),process.on("SIGTERM",f)}export{S as resolveConfig,T as startServer};
1
+ import{cosmiconfig as x}from"cosmiconfig";import{load as g}from"js-yaml";var S={endpoint:"opc.tcp://localhost:4840",port:8080,host:"0.0.0.0",securityMode:"None",optimizedClient:"auto",subscriptionInterval:5,logLevel:"info",modelPreload:!0,failOnPreloadError:!1};function l(e){return process.env[e]}function I(e){let n=process.env[e];return n?parseInt(n,10):void 0}function v(e){let n=process.env[e];if(n)return n==="1"||n.toLowerCase()==="true"}function P(){let e={},n=l("I3X_OPCUA_ENDPOINT")??l("I3X_ENDPOINT");n&&(e.endpoint=n);let o=I("I3X_PORT");o!==void 0&&(e.port=o);let r=l("I3X_HOST");r&&(e.host=r);let i=l("I3X_OPCUA_SECURITY_MODE");i&&(e.securityMode=i);let t=l("I3X_OPCUA_OPTIMIZED_CLIENT");(t==="auto"||t==="disabled")&&(e.optimizedClient=t);let s=I("I3X_SUBSCRIPTION_INTERVAL_SECONDS");s!==void 0&&(e.subscriptionInterval=s);let d=l("I3X_LOG_LEVEL");d&&(e.logLevel=d);let c=v("I3X_MODEL_PRELOAD_ON_STARTUP");c!==void 0&&(e.modelPreload=c);let a=v("I3X_FAIL_STARTUP_ON_MODEL_PRELOAD_ERROR");a!==void 0&&(e.failOnPreloadError=a);let p=l("I3X_OPCUA_USERNAME");p&&(e.username=p);let f=l("I3X_OPCUA_PASSWORD");return f&&(e.password=f),e}async function _(e,n){let o={},r=x("i3x",{searchPlaces:["i3x.config.yml","i3x.config.yaml","i3x.config.json",".i3xrc",".i3xrc.json",".i3xrc.yml",".i3xrc.yaml","package.json"],loaders:{".yml":(t,s)=>g(s),".yaml":(t,s)=>g(s)}});try{let t=n?await r.load(n):await r.search();t&&!t.isEmpty&&(o=t.config)}catch{}let i=P();return{...S,...o,...i,...e}}import{consoleLogger as O,HistoryService as y,ModelService as E,SubscriptionService as w,TypeService as h,ValueService as L}from"@node-i3x/core";import{OpcUaClient as T,OpcUaDataSourceAdapter as b}from"@node-i3x/opcua-connector";import{createApp as A}from"@node-i3x/rest-server";function C(e,n,o){let r=["",` i3X Server v${e}`,"",` OPC UA: ${n.endpoint}`,` REST: http://${n.host}:${n.port}`];o!==void 0&&r.push(` Model: ${o} nodes`),r.push(""),r.push(" Press Ctrl+C to stop"),r.push("");let t=Math.max(...r.map(a=>a.length))+2,s="-".repeat(t),d=` +${s}+`,c=` +${s}+`;console.log(d);for(let a of r)console.log(` |${a.padEnd(t)}|`);console.log(c),console.log()}async function M(e,n){let o=O,r=new T({endpointUrl:e.endpoint,securityMode:e.securityMode,optimizedClient:e.optimizedClient,username:e.username,password:e.password},o),i=new b(r,o),t=new E(i,o),s=new L(i,t,o),d=new y(i,t,o),c=new w(i,t,o,e.subscriptionInterval),a=new h(i,o),p=await A({dataSource:i,modelService:t,typeService:a,valueService:s,historyService:d,subscriptionService:c,logger:o});await i.connect();let f;if(e.modelPreload)try{f=(await t.preloadModel()).nodesById.size,await a.preloadTypes()}catch(m){o.error(`Model preload failed: ${String(m)}`),e.failOnPreloadError&&process.exit(1)}await p.listen({port:e.port,host:e.host}),C(n,e,f);let u=async()=>{o.info("Shutting down..."),await p.close(),await c.close(),await i.disconnect(),process.exit(0)};process.on("SIGINT",u),process.on("SIGTERM",u)}export{_ as resolveConfig,M as startServer};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","app","createApp","nodeCount","err","printBanner","shutdown"]}
1
+ {"version":3,"sources":["../src/config.ts","../src/server.ts","../src/banner.ts"],"mappings":"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","names":["cosmiconfig","loadYaml","DEFAULTS","envStr","key","envInt","v","envBool","fromEnv","result","endpoint","port","host","securityMode","optimizedClient","interval","logLevel","preload","failOnPreload","username","password","resolveConfig","cliArgs","configPath","fileConfig","explorer","_filepath","content","envConfig","consoleLogger","HistoryService","ModelService","SubscriptionService","TypeService","ValueService","OpcUaClient","OpcUaDataSourceAdapter","createApp","printBanner","version","config","nodeCount","lines","width","l","hr","top","bot","line","startServer","config","version","logger","consoleLogger","opcuaClient","OpcUaClient","dataSource","OpcUaDataSourceAdapter","modelService","ModelService","valueService","ValueService","historyService","HistoryService","subscriptionService","SubscriptionService","typeService","TypeService","app","createApp","nodeCount","err","printBanner","shutdown"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-i3x/app",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "i3X CLI -- expose OPC UA servers as i3X REST APIs",
5
5
  "license": "AGPL-3.0-or-later OR LicenseRef-Sterfive-Commercial",
6
6
  "author": "Sterfive SAS <contact@sterfive.com> (https://sterfive.com)",
@@ -39,9 +39,9 @@
39
39
  "typecheck": "tsc --noEmit"
40
40
  },
41
41
  "dependencies": {
42
- "@node-i3x/core": "0.3.1",
43
- "@node-i3x/opcua-connector": "0.3.1",
44
- "@node-i3x/rest-server": "0.3.1",
42
+ "@node-i3x/core": "0.3.3",
43
+ "@node-i3x/opcua-connector": "0.3.3",
44
+ "@node-i3x/rest-server": "0.3.3",
45
45
  "commander": "^15.0.0",
46
46
  "cosmiconfig": "^9.0.2",
47
47
  "fastify": "^5.8.5",