{"id":19989655,"url":"https://github.com/wavesoft/eilos","last_synced_at":"2026-06-09T12:31:05.762Z","repository":{"id":47636778,"uuid":"272711961","full_name":"wavesoft/eilos","owner":"wavesoft","description":"An opinionated JS project build system, with pluggable opinions","archived":false,"fork":false,"pushed_at":"2023-03-14T17:09:14.000Z","size":1326,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-01T20:02:11.831Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/wavesoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-06-16T13:13:20.000Z","updated_at":"2022-01-04T12:57:30.000Z","dependencies_parsed_at":"2022-09-23T14:30:20.646Z","dependency_job_id":null,"html_url":"https://github.com/wavesoft/eilos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wavesoft/eilos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2Feilos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2Feilos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2Feilos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2Feilos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wavesoft","download_url":"https://codeload.github.com/wavesoft/eilos/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavesoft%2Feilos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34107865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-13T04:48:51.627Z","updated_at":"2026-06-09T12:31:05.734Z","avatar_url":"https://github.com/wavesoft.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏋️‍♂️ εἵλως (eilos)\n\n\u003e The hard working, opinionated build toolset for javascript applications, with pluggable opinions\n\n`eilos` makes it easy to use and maintain the lifecycle operations of your node project while keeping the amount of dependencies and configuration you need to a minimum.\n\nIt is heavily inspired by [aegir](https://github.com/ipfs/aegir), but is focused more on the versatility of the \"opinitions\" rather than forcing a specific paradigm to the user.\n\n\n## Usage\n\nRight after you have configured your node module, do the following:\n\n1. Add `eilos` to your dependencies:\n\n  ```\n  yarn add -D eilos\n  ```\n\n2. Add an eilos preset you like to your dependencies:\n\n  ```\n  yarn add -D eilos-preset-typescript\n  ```\n\n3. Use `eilos` for every life-cycle script on your project:\n\n  ```json\n  {\n    \"scripts\": {\n      \"build\": \"eilos build\",\n      \"dev\": \"eilos dev\",\n      \"test\": \"eilos test\",\n      \"lint\": \"eilos lint\",\n    }\n  }\n  ```\n\n## Configuration\n\n`eilos` aims to minimise the amount of configuration required by assuming some deafults.\n\nThe base package has no configuration options. They are all provided by the preset you are using. \n\nFor example, when using the `eilos-preset-typescript` preset:\n\n* The default entry point is `src/index.ts`\n* The default static files directory is `static/`\n* The default build directory is `build/`\n\nYou can override these defaults by providing a `.eilos.js` configuration file:\n\n```js\n/** @typedef { import('eilos-preset-typescript').UserConfig } UserConfig */\n\n/**\n * @type {UserConfig}\n */\nmodule.exports = {\n  // Define the entry point\n  entry: \"src/index.js\",\n  // Define thestatic files\n  staticSrcDir: \"static\",\n\n  // Manually override specific configuration options for the packages used\n  // by the profile (refer to the profile documentation)\n\n  webpack: {\n    // Webbpack options\n  },\n  typescript: {\n    // Typescript compiler options\n  },\n  jest: {\n    // Jest options\n  },\n  prettier: {\n    // Prettier options\n  }\n}\n```\n\n## Preset Development\n\nRefer to the [Preset Development Tutorial](./docs/Preset%20Development.md) to learn how to define your own preset.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavesoft%2Feilos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwavesoft%2Feilos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavesoft%2Feilos/lists"}