{"_id":"@ambler/circleci-config-sdk","_rev":"2-20f26fa8f68377223e6e4a118697ca22","name":"@ambler/circleci-config-sdk","dist-tags":{"latest":"0.12.16"},"versions":{"0.12.15":{"name":"@ambler/circleci-config-sdk","version":"0.12.15","keywords":["circleci"],"author":{"name":"Kyle Tryon","email":"community-partner@circleci.com"},"license":"MIT","_id":"@ambler/circleci-config-sdk@0.12.15","maintainers":[{"name":"chabou","email":"chabup@delean.fr"},{"name":"nbarray","email":"nbarray@gmail.com"},{"name":"rhaven","email":"seb91.lm@gmail.com"}],"homepage":"https://github.com/CircleCI-Public/circleci-config-sdk-ts#readme","bugs":{"url":"https://github.com/CircleCI-Public/circleci-config-sdk-ts/issues"},"dist":{"shasum":"ea8ae43493ea49920eba39935cb509d05b4cc0d5","tarball":"https://registry.npmjs.org/@ambler/circleci-config-sdk/-/circleci-config-sdk-0.12.15.tgz","fileCount":9,"integrity":"sha512-YOvayymEcA9GoiJ2Jl4yi0xKEDo4Xer0tlKywCfJ0pvuTKdebPhA4VXkDDWs9UJhEXOfSxcMUKtv10AfG65wfw==","signatures":[{"sig":"MEUCICIFsrlNIjpFF36BbelPZuT7DWHn2Tk+VE/O4rqu2gI+AiEA6EXi2MjmprMji4kegRvyQ38j/Jyvr1GUaEU4dL+hbtU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":736295},"main":"dist/index.js","types":"dist/src/index.d.ts","gitHead":"6d0f25789b88dbe5e6496befcc092a421d8a10ce","scripts":{"lint":"eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0","test":"npx jest","build":"rm -rf ./dist && npx webpack --mode production","prettier":"prettier --write .","build:docs":"typedoc --tsconfig ./tsconfig.json --logLevel Verbose --excludeInternal --internalNamespace internalTypes","prettier:ci":"prettier --check ."},"_npmUser":{"name":"chabou","email":"chabup@delean.fr"},"stability":"stable","repository":{"url":"git+https://github.com/CircleCI-Public/circleci-config-sdk-ts.git","type":"git"},"_npmVersion":"11.11.0","description":"An SDK for building CircleCI Configuration files with JavaScript.","directories":{"doc":"docs","test":"tests"},"_nodeVersion":"24.14.1","dependencies":{"yaml":"2.3.1","browser-or-node":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^28.1.3","husky":"^8.0.1","eslint":"^7.23.0","ts-jest":"^28.0.7","ts-node":"^10.9.1","typedoc":"^0.22.5","webpack":"^5.58.2","prettier":"^2.3.1","ts-loader":"^9.3.1","typescript":"^4.3.5","@types/jest":"^27.5.2","@types/node":"^14.18.33","webpack-cli":"^4.9.1","@types/webpack":"^5.0.0","@commitlint/cli":"^17.0.3","eslint-plugin-tsdoc":"^0.2.11","eslint-plugin-prettier":"^3.4.0","eslint-plugin-security":"^1.4.0","webpack-node-externals":"^2.5.2","@typescript-eslint/parser":"^5.33.0","@types/webpack-node-externals":"^2.5.3","@types/wicg-file-system-access":"^2020.9.5","typedoc-plugin-missing-exports":"^0.22.3","@commitlint/config-conventional":"^17.0.3","@typescript-eslint/eslint-plugin":"^5.33.0"},"_npmOperationalInternal":{"tmp":"tmp/circleci-config-sdk_0.12.15_1781685948629_0.6861218340371456","host":"s3://npm-registry-packages-npm-production"}},"0.12.16":{"name":"@ambler/circleci-config-sdk","version":"0.12.16","description":"An SDK for building CircleCI Configuration files with JavaScript.","main":"dist/index.js","types":"dist/src/index.d.ts","scripts":{"test":"npx jest","lint":"eslint . --ext .js,.jsx,.ts,.tsx --max-warnings 0","prettier":"prettier --write .","prettier:ci":"prettier --check .","build":"rm -rf ./dist && npx webpack --mode production && npx tsc -p tsconfig.build.json","build:docs":"typedoc --tsconfig ./tsconfig.json --logLevel Verbose --excludeInternal --internalNamespace internalTypes"},"repository":{"type":"git","url":"git+https://github.com/CircleCI-Public/circleci-config-sdk-ts.git"},"author":{"name":"Kyle Tryon","email":"community-partner@circleci.com"},"license":"MIT","bugs":{"url":"https://github.com/CircleCI-Public/circleci-config-sdk-ts/issues"},"homepage":"https://github.com/CircleCI-Public/circleci-config-sdk-ts#readme","devDependencies":{"@commitlint/cli":"^17.0.3","@commitlint/config-conventional":"^17.0.3","@types/jest":"^27.5.2","@types/node":"^14.18.33","@types/webpack":"^5.0.0","@types/webpack-node-externals":"^2.5.3","@types/wicg-file-system-access":"^2020.9.5","@typescript-eslint/eslint-plugin":"^5.33.0","@typescript-eslint/parser":"^5.33.0","eslint":"^7.23.0","eslint-plugin-prettier":"^3.4.0","eslint-plugin-security":"^1.4.0","eslint-plugin-tsdoc":"^0.2.11","husky":"^8.0.1","jest":"^28.1.3","prettier":"^2.3.1","ts-jest":"^28.0.7","ts-loader":"^9.3.1","ts-node":"^10.9.1","typedoc":"^0.22.5","typedoc-plugin-missing-exports":"^0.22.3","typescript":"^4.3.5","webpack":"^5.58.2","webpack-cli":"^4.9.1","webpack-node-externals":"^2.5.2"},"dependencies":{"browser-or-node":"^2.0.0","yaml":"2.3.1"},"directories":{"doc":"docs","test":"tests"},"keywords":["circleci"],"stability":"stable","gitHead":"6d0f25789b88dbe5e6496befcc092a421d8a10ce","_id":"@ambler/circleci-config-sdk@0.12.16","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-t6Nwp3OTHQnZ2EoIBscVpNjamtfi0+zdHOtaNJ1IIgaJHfStFTdz8Aba/dHTK5TuCXW09GTGOw+bCdjf/Ll/7g==","shasum":"bdbc5885baa75a003bc632c2a86307025f785546","tarball":"https://registry.npmjs.org/@ambler/circleci-config-sdk/-/circleci-config-sdk-0.12.16.tgz","fileCount":169,"unpackedSize":887205,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDHf5n+xTRC9n5yj9FzToCLqZRcT5WUvkTUm5a8NgsplwIhAIZd1CcssmR898KGqSnMJAWO+GRBprJXRPvvzq0sKZ+a"}]},"_npmUser":{"name":"chabou","email":"chabup@delean.fr"},"maintainers":[{"name":"chabou","email":"chabup@delean.fr"},{"name":"nbarray","email":"nbarray@gmail.com"},{"name":"rhaven","email":"seb91.lm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/circleci-config-sdk_0.12.16_1781689598953_0.0871918728117973"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-17T08:45:48.278Z","modified":"2026-06-17T09:46:39.276Z","0.12.15":"2026-06-17T08:45:48.846Z","0.12.16":"2026-06-17T09:46:39.135Z"},"bugs":{"url":"https://github.com/CircleCI-Public/circleci-config-sdk-ts/issues"},"author":{"name":"Kyle Tryon","email":"community-partner@circleci.com"},"license":"MIT","homepage":"https://github.com/CircleCI-Public/circleci-config-sdk-ts#readme","keywords":["circleci"],"repository":{"type":"git","url":"git+https://github.com/CircleCI-Public/circleci-config-sdk-ts.git"},"description":"An SDK for building CircleCI Configuration files with JavaScript.","maintainers":[{"name":"chabou","email":"chabup@delean.fr"},{"name":"nbarray","email":"nbarray@gmail.com"},{"name":"rhaven","email":"seb91.lm@gmail.com"}],"readme":"# CircleCI Config SDK\n\n## Warning ⚠️\n**This repo is no longer maintained, supported, or monitored by CircleCI. It will be archived in the next 90 days. It can be forked for those that would like to continue using it.**\n\n**This SDK is provided on an ‘as-is’ and ‘as available’ basis without any warranties of any kind. CircleCI disclaims all warranties, express or implied, including, but not limited to, all implied warranties of merchantability, title, fitness for a particular purpose, and noninfringement.**\n\n\n[![GitHub](https://img.shields.io/github/license/CircleCI-Public/circleci-config-sdk-ts)](https://github.com/CircleCI-Public/circleci-config-sdk-ts/blob/main/LICENSE)\n[![CircleCI](https://img.shields.io/circleci/build/gh/CircleCI-Public/circleci-config-sdk-ts/main?logo=circleci&token=5fcb5715c180e9f7d3a076d95779cd88f75d2093)](https://app.circleci.com/pipelines/github/CircleCI-Public/circleci-config-sdk-ts)\n[![npm](https://img.shields.io/npm/v/@circleci/circleci-config-sdk?logo=npm)](https://www.npmjs.com/package/@circleci/circleci-config-sdk)\n[![codecov](https://codecov.io/gh/CircleCI-Public/circleci-config-sdk-ts/branch/main/graph/badge.svg?token=Z4C4RXABS7)](https://codecov.io/gh/CircleCI-Public/circleci-config-sdk-ts)\n[![npm](https://img.shields.io/npm/dm/@circleci/circleci-config-sdk?logo=npm)](https://www.npmjs.com/package/@circleci/circleci-config-sdk)\n![GitHub Repo stars](https://img.shields.io/github/stars/CircleCI-Public/circleci-config-sdk-ts?style=social)\n\nCreate and manage your [CircleCI](https://circleci.com/) configuration files with JavaScript and\nTypeScript.\n\n## Table of Contents\n\n- [CircleCI Config SDK](#circleci-config-sdk)\n  - [Table of Contents](#table-of-contents)\n  - [Getting Started](#getting-started)\n    - [Installation](#installation)\n      - [Usage](#usage)\n    - [Example](#example)\n  - [Getting Help](#getting-help)\n    - [Resources](#resources)\n- [Contributing](#contributing)\n- [Related](#related)\n\n## Getting Started\n\n📖 [Getting Started Wiki](https://github.com/CircleCI-Public/circleci-config-sdk-ts/wiki)\n\n📖 [SDK API Docs](https://circleci-public.github.io/circleci-config-sdk-ts/)\n\n💻 [Examples](https://github.com/CircleCI-Public/circleci-config-sdk-ts/tree/main/sample)\n\n---\n\n### Installation\n\nUsing npm:\n\n```shell\n$ npm i @circleci/circleci-config-sdk\n```\n\nUsing yarn:\n\n```shell\n$ yarn add @circleci/circleci-config-sdk\n```\n\n#### Usage\n\nIn Browser:\n\n```typescript\nimport CircleCI from '@circleci/circleci-config-sdk';\n```\n\nIn Node.js:\n\n```javascript\nconst CircleCI = require('@circleci/circleci-config-sdk');\n```\n\n### Example\n\nGenerate a CircleCI config using TypeScript/Javascript, properly typed for full\nIntelliSense support.\n\n```typescript\nconst CircleCI = require('@circleci/circleci-config-sdk');\n// Instantiate new Config\nconst myConfig = new CircleCI.Config();\n// Create new Workflow\nconst myWorkflow = new CircleCI.Workflow('myWorkflow');\nmyConfig.addWorkflow(myWorkflow);\n\n// Create an executor instance\n// Executors are used directly in jobs\n// and do not need to be added to the config separately\nconst nodeExecutor = new CircleCI.executors.DockerExecutor('cimg/node:lts');\n\n// Create Job and add it to the config\nconst nodeTestJob = new CircleCI.Job('node-test', nodeExecutor);\nmyConfig.addJob(nodeTestJob);\n\n// Add steps to job\nnodeTestJob\n  .addStep(new CircleCI.commands.Checkout())\n  .addStep(\n    new CircleCI.commands.Run({\n      command: 'npm install',\n      name: 'NPM Install',\n    }),\n  )\n  .addStep(\n    new CircleCI.commands.Run({\n      command: 'npm run test',\n      name: 'Run tests',\n    }),\n  );\n\n// Add Jobs to Workflow\nmyWorkflow.addJob(nodeTestJob);\n\n// The `stringify()` function on `CircleCI.Config` will return the CircleCI YAML equivalent.\nconst MyYamlConfig = myConfig.stringify();\n\n// Save the config to a file in Node.js or the browser. Note, use in the browser requires user interaction.\nmyConfig.writeFile('config.yml');\n```\n\n`MyYamlConfig` will hold the following string (A valid CircleCI Config).\n\n```yaml\nversion: 2.1\nsetup: false\njobs:\n  node-test:\n    docker:\n      - image: cimg/node:lts\n    resource_class: medium\n    steps:\n      - checkout: {}\n      - run:\n          command: npm install\n          name: NPM Install\n      - run:\n          command: npm run test\n          name: Run tests\nworkflows:\n  myWorkflow:\n    jobs:\n      - node-test: {}\n```\n\n## Getting Help\n\nThis open-source project utilized GitHub issues and project boards to manage\nrequests and support.\n\nIf you can not find an answer to your question in an existing\n[issue](https://github.com/CircleCI-Public/circleci-config-sdk-ts/issues?q=),\nyou may open a new issue with the appropriate template. Issues are the best way\nfor the CircleCI team and the open-source community to track and interact with\nyour questions.\n\n### Resources\n\nConsider checking the following common resources before opening a new issue.\n\n- [CircleCI Config Reference](https://circleci.com/docs/2.0/configuration-reference/)\n- [Config SDK API Documentation](https://circleci-public.github.io/circleci-config-sdk-ts/)\n- [FAQ](https://github.com/CircleCI-Public/circleci-config-sdk-ts/wiki/FAQ#what-features-of-circleci-config-are-not-supported-by-this-sdk)\n\n# Contributing\n\nThis [repository](https://github.com/CircleCI-Public/circleci-config-sdk-ts) welcomes community contributions! See our\n[CONTRIBUTING.md](https://github.com/CircleCI-Public/circleci-config-sdk-ts/blob/main/CONTRIBUTING.md)\nfor guidance on configuring your development environment and how to submit\nquality pull requests.\n\n# Related\n\n- [Visual Config Editor](https://github.com/CircleCI-Public/visual-config-editor)\n","readmeFilename":"README.md"}