{"id":20765329,"url":"https://github.com/nodefony/nodefony-client","last_synced_at":"2026-05-05T15:39:05.399Z","repository":{"id":65424792,"uuid":"303807145","full_name":"nodefony/nodefony-client","owner":"nodefony","description":"Client Side Nodefony Framework","archived":false,"fork":false,"pushed_at":"2023-11-06T14:17:45.000Z","size":25710,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-18T23:45:48.582Z","etag":null,"topics":["cdn","container","event-management","library-chunks","mediastream","nodefony","nodefony-client","sdp","service","sip","syslog","webaudio-api","webpack","webrtc"],"latest_commit_sha":null,"homepage":"https://nodefony.github.io/nodefony-client/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nodefony.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["ccamensuli"]}},"created_at":"2020-10-13T19:22:35.000Z","updated_at":"2021-12-31T14:59:36.000Z","dependencies_parsed_at":"2025-01-18T06:11:47.806Z","dependency_job_id":"f85e13d3-6809-4807-999a-86546b3732e2","html_url":"https://github.com/nodefony/nodefony-client","commit_stats":{"total_commits":109,"total_committers":2,"mean_commits":54.5,"dds":0.00917431192660545,"last_synced_commit":"18c56db9894935ba41ff659194202cf048344826"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodefony%2Fnodefony-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodefony%2Fnodefony-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodefony%2Fnodefony-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nodefony%2Fnodefony-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nodefony","download_url":"https://codeload.github.com/nodefony/nodefony-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243093048,"owners_count":20235283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cdn","container","event-management","library-chunks","mediastream","nodefony","nodefony-client","sdp","service","sip","syslog","webaudio-api","webpack","webrtc"],"created_at":"2024-11-17T11:16:13.342Z","updated_at":"2025-12-07T15:01:52.004Z","avatar_url":"https://github.com/nodefony.png","language":"JavaScript","funding_links":["https://github.com/sponsors/ccamensuli"],"categories":[],"sub_categories":[],"readme":"\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/nodefony/nodefony/raw/master/src/nodefony/bundles/framework-bundle/Resources/public/images/nodefony-logo.png\"\u003e\u003cbr\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eNODEFONY CLIENT\u003c/h1\u003e\n\n![nodefony-client CI](https://github.com/nodefony/nodefony-client/workflows/nodefony-client%20CI/badge.svg?branch=main)\n\n# Library Install\n```bash\n$ npm install nodefony-client\n#or\n$ yarn add nodefony-client\n```\n\n# Webpack Analyzer\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/nodefony/nodefony-client/raw/main/tools/img/webpack.png\"\u003e\n\u003c/p\u003e\n\n```js\n\nconsole.log(nodefony)\n{\n  version: \"6.0.0-beta.4\",\n  environment: \"development\",\n  isRegExp: ƒ,\n  isObject: ƒ,\n  isFunction: ƒ,\n  Api: ƒ Api()\n  Container: ƒ Container(services, parameters)\n  Error: ƒ nodefonyError(message, code)\n  Events: ƒ Notification(settings, context)\n  ExtendedScope: ƒ ExtendedScope(name, parent)\n  PDU: ƒ PDU(pci, severity, moduleName, msgid, msg, date)\n  Scope: ƒ Scope(name, parent)\n  Service: ƒ Service(name, container, notificationsCenter)\n  Socket: ƒ Socket(url)\n  Storage: ƒ Storage(name)\n  Syslog: ƒ Syslog(settings)\n  URL: {parse: ƒ, resolve: ƒ, resolveObject: ƒ, format: ƒ, Url: ƒ}\n  WebSocket: ƒ Websocket(url)\n  browser: {flag: \"chrome\", name: \"Chrome\", version: \"86.0.4240.80\"}\n  environment: \"development\"\n  inspect: ƒ inspect(obj, opts)\n  isArray: ƒ isArray(ar)\n  isFunction: ƒ isFunction(arg)\n  isNullOrUndefined: ƒ isNullOrUndefined(arg)\n  isObject: ƒ isObject(arg)\n  isRegExp: ƒ isRegExp(re)\n  isUndefined: ƒ isUndefined(arg)\n  medias: Medias {MediaStream: ƒ}\n  nativeWebSocket: true\n  protocols: {Bayeux: ƒ}\n  util: {types: {…}, format: ƒ, deprecate: ƒ, debuglog: ƒ, inspect: ƒ, …}\n  version: \"6.0.0-beta.4\"\n  webAudio: {audioContext: ƒ, Mixer: ƒ, AudioBus: ƒ, Track: ƒ}  \n}\n```\n\n# Use With CDN\n## cdn.jsdelivr.net\n\n### latest base library\n```html\n\u003cscript type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/nodefony-client\"\u003e\u003c/script\u003e\n```\n### latest library + chunks\n```html\n\u003cscript type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/nodefony-client/dist/nodefony.js?medias=true\u0026socket=true\"\u003e\u003c/script\u003e\n```\n### version library + chunks\n```html\n\u003cscript type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/nodefony-client@6.0.0/dist/nodefony.js?medias=true\u0026socket=true\"\u003e\u003c/script\u003e\n```\n\n## unpkg.com\n\n### latest base library\n```html\n\u003cscript type=\"text/javascript\" src=\"https://unpkg.com/nodefony-client\"\u003e\u003c/script\u003e\n```\n### latest library + chunks\n```html\n\u003cscript type=\"text/javascript\" src=\"https://unpkg.com/nodefony-client@6.0.0/dist/nodefony.js?medias=true\u0026socket=true\"\u003e\u003c/script\u003e\n```\n### version library + chunks\n```html\n\u003cscript type=\"text/javascript\" src=\"https://cdn.jsdelivr.net/npm/nodefony-client@6.0.0/dist/nodefony.js?medias=true\u0026socket=true\"\u003e\u003c/script\u003e\n```\n\n### CDN Available Library Chunks query : ?medias\u0026sip\n```  \nmedias\nsocket\nwebaudio\nsip\n```\n### CDN Available Library environment query : ?debug=true\u0026environment=development\n```  \ndebug = sip,socket,webaudio,medias | true | flase\nenvironment = production | development\n```\n\n# Use Nodefony-client In Webpack\n##  Release\n```js\n  // import base library\n  import nodefony from \"nodefony-client\";\n  // import chunk medias\n  import media from \"nodefony-client/src/medias/medias\";\n  media(nodefony);\n  // import chunk webaudio\n  import webaudio from \"nodefony-client/src/webaudio/webaudio\";\n  webaudio(nodefony);\n  // import chunk socket\n  import socket from \"nodefony-client/src/transports/socket/socket\";\n  socket(nodefony);\n```\n\n## CommonJS modules\n```js\nconst nodefony = require('nodefony-client')\n//chunk\nconst socket = require(\"nodefony-client/src/transports/socket/socket\");\nsocket.default(nodefony);\n```\n\n\n# Base Library\n## Events\n```js\nconst notificationsCenter = new nodefony.Events();\n\nnotificationsCenter.on(\"myEvent\", (count, args) =\u003e {\n  console.log(count, args)\n});\n\nconst obj = {foo:\"bar\"};\nlet i = 0;\nnotificationsCenter.emit(\"myEvent\", i, obj);\nnotificationsCenter.emit(\"myEvent\", ++i, obj);\n\n// 0 {foo: \"bar\"}\n// 1 {foo: \"bar\"}\n```\n\n## Service\n```js\n// nodefony.Service =\u003e (name, container = null, events = null, settings = {})\n\nclass myService extends nodefony.Service {\n  constructor(){\n    super(\"myService\");\n  }\n}\nconst instance = new myService();\n\nconsole.log(instance)\n{\n  container: Container {scope: {…}, services: C…r.protoService, parameters: C…r.protoParameters, protoService: ƒ, protoParameters: ƒ}\n  name: \"myService\"\n  notificationsCenter: Events {_events: {…}, _eventsCount: 1, _maxListeners: 20}\n  options: {}\n  settingsSyslog: {moduleName: \"myService\", defaultSeverity: \"INFO\"}\n  syslog: Syslog {_events: {…}, _eventsCount: 0, _maxListeners: undefined, settings: {…}, ringStack: Array(0), …}\n}\n```\n\n## Syslog\n```js\nconst syslog = new nodefony.Syslog();\nsyslog.init();\nsyslog.log('info', \"INFO\");\nsyslog.log('debug', \"DEBUG\");\nsyslog.log('notice', \"NOTICE\");\nsyslog.log('warning', \"WARNING\");\nsyslog.log('error', \"ERROR\");\nsyslog.log('alert', \"ALERT\");\nsyslog.log('critic', \"CRITIC\");\nsyslog.log('emergency', \"EMERGENCY\");\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodefony%2Fnodefony-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnodefony%2Fnodefony-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnodefony%2Fnodefony-client/lists"}