{"_id":"@aalzehla/nokia-network-as-code","name":"@aalzehla/nokia-network-as-code","dist-tags":{"latest":"7.0.0"},"versions":{"7.0.0":{"name":"@aalzehla/nokia-network-as-code","version":"7.0.0","description":"Network as Code SDK for TypeScript","main":"dist/esm/index.js","types":"dist/@types/index.d.ts","type":"module","scripts":{"build":"npm run build:esm && npm run addjsextension && npm run build:types","build:esm":"node config/cleanup esm && tsc -p config/tsconfig.esm.json","build:types":"node config/cleanup @types && tsc -p config/tsconfig.types.json","addjsextension":"ts-add-js-extension --dir=dist/esm","lint":"eslint src/**/*","test":"jest","integration":"jest -c jest.config.integration.ts"},"repository":{"type":"git","url":"git@gitlabe2.ext.net.nokia.com:nwac/sdk-ts.git"},"author":{"name":"Sami Lahtinen","email":"sami.lahtinen@nokia.com"},"license":"Apache-2.0","devDependencies":{"@babel/core":"^7.23.3","@babel/preset-env":"^7.23.3","@babel/preset-typescript":"^7.23.3","@eslint/js":"9.33.0","@fetch-mock/jest":"0.2.16","@jest/globals":"^29.7.0","@types/async-retry":"1.4.9","@types/jest":"^29.5.8","@typescript-eslint/eslint-plugin":"8.39.1","@typescript-eslint/parser":"8.39.1","babel-jest":"^29.7.0","dotenv":"17.2.1","eslint":"9.33.0","fetch-mock":"12.5.3","jest":"^29.7.0","npm-run-all":"4.1.5","ts-add-js-extension":"^1.6.6","ts-jest":"^29.1.1","ts-node":"^10.9.1","typescript":"5.9.2","typescript-eslint":"8.39.1","uuid":"11.1.0"},"dependencies":{"async-retry":"1.3.3","node-fetch":"3.3.2","proxy-agent":"6.5.0"},"overrides":{"glob":"10.4.5"},"_id":"@aalzehla/nokia-network-as-code@7.0.0","gitHead":"e346d4bfbe5f871890ac12ff1a404708d1c0f8da","_nodeVersion":"22.12.0","_npmVersion":"10.9.0","dist":{"integrity":"sha512-0Ncq14nmPM/8pr4CmHXNKjA2IBiiZet0B5AMyu5CyvEJ7a3lgalTSDu3O4qeRUsZmcH+QTSdEGsOG72oVXdiPg==","shasum":"c3d7ce6b6bfdfd443d6e8f130f68a3012ab50401","tarball":"https://registry.npmjs.org/@aalzehla/nokia-network-as-code/-/nokia-network-as-code-7.0.0.tgz","fileCount":81,"unpackedSize":272652,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQC9WXVFOhHWBx2LuNLHz1wPP/cHSiLY8LqCiu3PXJfHfgIhANjZdmHKAStINBQ5juWLPIzcvJORj5iOW2PRSkuT+oza"}]},"_npmUser":{"name":"aalzehla","email":"aalzehla@gmail.com"},"directories":{},"maintainers":[{"name":"aalzehla","email":"aalzehla@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nokia-network-as-code_7.0.0_1777045076157_0.060726512826211776"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-24T15:37:56.050Z","7.0.0":"2026-04-24T15:37:56.327Z","modified":"2026-04-24T15:37:56.494Z"},"maintainers":[{"name":"aalzehla","email":"aalzehla@gmail.com"}],"description":"Network as Code SDK for TypeScript","repository":{"type":"git","url":"git@gitlabe2.ext.net.nokia.com:nwac/sdk-ts.git"},"author":{"name":"Sami Lahtinen","email":"sami.lahtinen@nokia.com"},"license":"Apache-2.0","readme":"# Network as Code\n\nThis repository contains the TypeScript library for Nokia's Network as Code platform,\nallowing Python programs to easily call network APIs to query information or to\nmanage mobile network elements.\n\n## What is Network as Code?\n\nNetwork as Code is a network API aggregator platform developed by Nokia to expose\nnetwork capabilities of mobile networks to applications. It provides numerous\ncapabilities ranging from quality-of-service to network-based location services\nand analytics.\n\nYou can find more information over [at the Nokia home page](https://www.nokia.com/networks/network-as-code/) \nor by going directly to the developer portal: https://developer.networkascode.nokia.io/\n\n## Getting started\n\nYou can find a full Getting Started guide on the developer portal: https://developer.networkascode.nokia.io/docs/getting-started\n\n## Documentation and Examples\n\nFull documentation is available on the developer portal: https://developer.networkascode.nokia.io/docs\n\nWe also provide some basic usage examples in the [examples](./examples) directory. \n\n## License\n\nThe Network as Code TypeScript SDK is open-source software available under the Apache 2.0 license.\n\n## Development\n\n### Commands\n\n- `npm install` - install project dependencies\n- `npm build` - compile the project using `tsc`\n- `npm test` - run unit tests against mocks\n- `npm run integration` - run integration tests against development APIs\n\n### Architecture\n\nThis project is structured into `models`, `api` and `namespaces`\nmodules. The `models` and `namespaces` modules represent the public\nAPI of the SDK and provide abstractions that allow data to be queried\nand modified on the Network as Code platform. The `api` module implements\nthe communication layer that will actually talk to the NaC web APIs and\nhandle transmission and receipt of data to and from the platform.\n\nThe basic design principle is that functionality should be discoverable\nand logically organized. To achieve that, most actions are carried out\nthrough the `NetworkAsCodeClient` object, which provides access to the\nnamespaces in the `namespaces` module. These namespaces typically provide\nways to query and create different types of data objects in the NaC\nplatform. The data objects themselves have representations in the `models`\nmodule, and are enriched with methods that operate on the individual\ndata object.\n\nNew features typically require modifications to at least the `models`\nand `api` modules. New namespaces are introduced as required, typically\nwhen a new API product is launched. However, the namespaces are intended\nto be an organizational tool and as such should be used whenever a concept\nfalls into a new kind of category and to avoid clutter.\n\n### Development process\n\nThis project is developed using principles from Test-Driven Development.\nThis means that for new bugs fixed and features implemented, there should\nbe matching test cases written.\n\nTests split into `tests` which are test cases against mocks and intended\nto work offline and without need to actually connect to an external system.\nWe also have `integration-tests` which use a development version of the APIs\nto track compatibility. Both test suites are run in CI/CD and failures are\nconsidered blocking.\n\nTest cases should be added to as part of regular development activity and\nold test cases should be kept up-to-date. \n\nNew features and changes to old ones should also be documented as soon\nas possible. This means that developers ought to be in contact with the\ntechnical writers whenever a change is introduced. It is also recommended\nto add an example or update old examples in the `examples` folder to help\ncommunicate functionality and changes to the documentation writers. If\nno technical writer is present then the responsibility of writing documentation \nfalls on the developers. Developers also need to be able to provide input\nto the technical writers to ensure accurate and high-quality documentation.\n\nThe branching strategy is based on a split between new releases and\nbug fixes. The main branch should contain functionality that either\nhas been released or will be released shortly + bug fixes. For\nunreleased features a specific release branch for that release will be\nused and merged to main on release. This way the main branch can be\nkept in sync between GitHub and internal GitLab without worrying about\nunreleased content.\n\nThe overall workflow for a release content is like so:\n\n1. When new release is started, a release-YY.M branch is created from main\n2. All planned features will be created on feature branches and MR'd towards the release branch\n3. Bug fixes affecting existing releases will be MR'd towards main branch and release branch rebased on main\n4. Bug fix releases can be tagged from main, these bug fixes should also be pushed to GitHub\n5. Once release content is ready, the release branch is MR'd to main\n6. Main should be synchronized with GitHub\n7. New release is tagged from main\n\nBug fixes and new features originating from GitHub should follow the same\nprocess, except the GitHub release branch will not contain internal, unfinished\ncode. This branch should be created when a PR is first created for the\nGitHub repository and will be merged with main after step 6. Bug fixes can\nbe merged directly to main and synchronized with internal GitLab.\n","readmeFilename":"README.md","_rev":"1-7ac7c8c1515d00539454a12c7d78443b"}