{"id":15548278,"url":"https://github.com/mongodben/app-services-local-dx","last_synced_at":"2025-11-12T02:22:41.620Z","repository":{"id":132733424,"uuid":"564899646","full_name":"mongodben/app-services-local-dx","owner":"mongodben","description":null,"archived":false,"fork":false,"pushed_at":"2023-03-29T19:30:41.000Z","size":78,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T01:26:58.692Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/mongodben.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-11T19:12:11.000Z","updated_at":"2023-03-31T21:47:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"38cd72c9-58d5-4b43-8a59-6a51b5d9ed3b","html_url":"https://github.com/mongodben/app-services-local-dx","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mongodben/app-services-local-dx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodben%2Fapp-services-local-dx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodben%2Fapp-services-local-dx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodben%2Fapp-services-local-dx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodben%2Fapp-services-local-dx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mongodben","download_url":"https://codeload.github.com/mongodben/app-services-local-dx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongodben%2Fapp-services-local-dx/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261622628,"owners_count":23185982,"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":[],"created_at":"2024-10-02T13:20:58.183Z","updated_at":"2025-11-12T02:22:36.595Z","avatar_url":"https://github.com/mongodben.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atlas Functions Local DX Improvements\n\nThis project is a prototype showing how you can use ESLint and TypeScript to\nenhance the developer experience of using Atlas Functions.\n\nHow it works:\n\n- Uses ESLint to add App Services custom global modules and enforce runtime constraints\n- Uses TypeScript to provide type-ahead for App Services global variables\n\n**Note**: This was only tested with my VSCode set up, with my plugins. Not sure how it'd work in other editors.\nI assume it'll work with most other JavaScript developers' setups, but should be tested out.\n\n## Usage\n\n1. Clone this repo `git clone https://github.com/mongodben/app-services-local-dx.git`\n1. Open project in VSCode\n1. In the `example` directory, run `npm install`\n1. Go to file `example/app-services-function-example.js`\n1. You should see ESLint applying rules and VSCode Intellisense working\n\n## Files\n\n- `atlas-function-types` - TypeScript config package, specifying that runs on standard JS files\n- `example/.eslintrc.js` - ESLint config, specifying custom globals and runtime rules\n  - Note: this should be made an ESLint plugin at some point\n- `example/jsconfig.json` - Configuring the JavaScript to use the TypeScript types\n- `example/package.json` - Project config importing TS rules from `atlas-function-types`\n\nAll these files are annotated with comments showing what's going on.\n\nYou can find all relevant code by searching for comments beginning with `LOOK_AT_ME:`.\n\n## Potential Next Steps\n\n1. Extend ESLint config to cover whole App Services runtime\n1. bundle ESLint config in a [shareable config](https://eslint.org/docs/latest/developer-guide/shareable-configs)\n1. Do all the TypeScript typing\n1. ~create a shareable tsconfig \u0026\u0026 move to `jsconfig.json` file (i need to validate how jsconfig.json works...learned [this is a thing](https://code.visualstudio.com/docs/languages/jsconfig#_using-webpack-aliases) today)~\n1. look at how to elegantly publish and add to project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongodben%2Fapp-services-local-dx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmongodben%2Fapp-services-local-dx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongodben%2Fapp-services-local-dx/lists"}