{"id":13755419,"url":"https://github.com/javanile/yamlinc","last_synced_at":"2025-07-08T08:06:42.224Z","repository":{"id":45077354,"uuid":"121181254","full_name":"javanile/yamlinc","owner":"javanile","description":"Compose multiple YAML files into one with $include tag. Split Swagger/OpenAPI into multiple YAML files.","archived":false,"fork":false,"pushed_at":"2025-04-18T10:01:20.000Z","size":227,"stargazers_count":116,"open_issues_count":23,"forks_count":24,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-14T01:57:01.471Z","etag":null,"topics":["include","npm-module","openapi","swagger","yaml","yaml-parser"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/javanile.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2018-02-12T00:19:38.000Z","updated_at":"2025-04-18T10:01:23.000Z","dependencies_parsed_at":"2024-01-15T22:44:13.402Z","dependency_job_id":"81f48d34-a717-45cb-9776-a298f9dac998","html_url":"https://github.com/javanile/yamlinc","commit_stats":{"total_commits":80,"total_committers":8,"mean_commits":10.0,"dds":"0.15000000000000002","last_synced_commit":"55b5ee5e9b7f629b91c04c85910ece2dfca01c31"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/javanile/yamlinc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javanile%2Fyamlinc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javanile%2Fyamlinc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javanile%2Fyamlinc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javanile%2Fyamlinc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/javanile","download_url":"https://codeload.github.com/javanile/yamlinc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/javanile%2Fyamlinc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260975408,"owners_count":23091483,"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":["include","npm-module","openapi","swagger","yaml","yaml-parser"],"created_at":"2024-08-03T10:00:53.972Z","updated_at":"2025-07-08T08:06:42.214Z","avatar_url":"https://github.com/javanile.png","language":"JavaScript","funding_links":[],"categories":["Parsers","yaml","Projects"],"sub_categories":["YAML is a **supserset of JSON**"],"readme":"\u003cdiv align=\"center\"\u003e\n\n\n\u003ca href=\"https://www.javanile.org/hackathon/\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/javanile/hackathon/refs/heads/main/assets/images/devops-hackathon-banner.svg\" /\u003e\n\u003c/a\u003e\n\n\n\u003c/div\u003e\n\n---\n\n# Yamlinc\n\nCreate a composed YAML file using $include tag.\n\n[![NPM](https://nodei.co/npm/yamlinc.png?compact=true)](https://nodei.co/npm/yamlinc/)\n\n[![Build Status](https://travis-ci.org/javanile-bot/yamlinc.svg?branch=master)](https://travis-ci.org/javanile-bot/yamlinc)\n[![Test Coverage](https://api.codeclimate.com/v1/badges/43662de1f27dc3629953/test_coverage)](https://codeclimate.com/github/javanile-bot/yamlinc/test_coverage)\n[![Maintainability](https://api.codeclimate.com/v1/badges/43662de1f27dc3629953/maintainability)](https://codeclimate.com/github/javanile-bot/yamlinc/maintainability)\n\n## Simple usage\n\n**STEP #1** - Install global yamlinc command-line utility\n```bash\n$ npm install -g yamlinc\n```\n\n**STEP #2** - Create \"my_swagger_doc.yml\" and split it into multiple file  \n```yaml\n## file: my_swagger_doc.yml\nversion: '2.0'\n$include: ./tags.yml\n$include: ./paths.yml\n```\n```yaml\n## file: tags.yml\ntags:\n- FirstTag\n- SecondTag\n```\n```yaml\n## file: paths.yml\npaths:\n  /api/me:\n    get: ...      \n  /api/you:\n    post: ...\n  $include: others-paths.yml\n```\n```yaml\n## file: others-paths.yml\n/api/other/one:\n  get: ...      \n/api/other/two:\n  post: ...\n```\n\n**STEP #3** - Simply compile the entry point 'my_swagger_doc.yml'\n```bash\n$ yamlinc my_swagger_doc.yml\n```\n\n**STEP #4** - Get your compiled file 'my_swagger_doc.inc.yml'\n\u003e **NOTICE:** Yamlinc appends '*.inc.yml' extension to compiled file.\n\n## Development watcher\nDuring development you need constantily updated compiled file by watching changes of dependencies\n\n```bash\n$ yamlinc --watch spectacle -d my_swagger_doc.yml\n```\n\nThis example generates documentation with [spectacle](https://github.com/sourcey/spectacle)\n\n## Feed your .inc.yml file\nIf your application needs a compiled file as parameter you can simply compound and feed\n\n```bash\n$ yamlinc --exec docker-compose -f docker-compose.yml\n```\n\n## Redirect output to another command\nIf your application needs send output to another command or chaining using pipe follow this example\n\n```bash\n$ yamlinc --output - input.yml | nc seashells.io 1337\n```\n\n## Parse files to find syntax errors\nIf your application needs stop after a syntax error or missing file inclusion use strict mode\n\n```bash\n$ yamlinc --strict settings.yml\n```\n\n### Use an external schema\nIf you have your own or a third party schema you can pass it to yamlinc like this\n\n```bash\n$ yamlinc --schema ../node_modules/cloudformation-schema-js-yaml\n```\n\n## Create your scenario\nIf you have custom scenario with YAML file please place issues on the following page\n\nhttps://github.com/javanile/yamlinc/issues/new\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavanile%2Fyamlinc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjavanile%2Fyamlinc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjavanile%2Fyamlinc/lists"}