{"id":20944147,"url":"https://github.com/diversable/deno_scaffold","last_synced_at":"2025-10-07T08:05:23.025Z","repository":{"id":54628288,"uuid":"268386162","full_name":"diversable/deno_scaffold","owner":"diversable","description":"Quick way to set up a Deno project with some \"best practices\" described in the Deno manual","archived":false,"fork":false,"pushed_at":"2020-08-20T12:57:52.000Z","size":52,"stargazers_count":46,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-14T02:13:01.403Z","etag":null,"topics":["deno","javascript","typescript"],"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/diversable.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-01T00:06:50.000Z","updated_at":"2023-10-11T05:15:37.000Z","dependencies_parsed_at":"2022-08-13T22:00:49.563Z","dependency_job_id":null,"html_url":"https://github.com/diversable/deno_scaffold","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/diversable/deno_scaffold","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diversable%2Fdeno_scaffold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diversable%2Fdeno_scaffold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diversable%2Fdeno_scaffold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diversable%2Fdeno_scaffold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/diversable","download_url":"https://codeload.github.com/diversable/deno_scaffold/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/diversable%2Fdeno_scaffold/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278740839,"owners_count":26037481,"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","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"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":["deno","javascript","typescript"],"created_at":"2024-11-18T23:39:21.883Z","updated_at":"2025-10-07T08:05:22.978Z","avatar_url":"https://github.com/diversable.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deno Scaffold\n\nThis repo is intended as a quick way to set up a [Deno](https://deno.land/) project with some \"best practices\" described in the Deno manual.\n\n--- NB: This repo is open to pull requests which will make this starter template easier to use - anything that helps you get up and running quickly without regard to the type of project being implemented (CLI, web server, etc) ---\n\nNote: If you haven't yet installed Deno on your machine, see the installation instructions at the bottom of this document, or go read up on Deno here: \n\nDeno Website: https://deno.land/  \u003cbr\u003e\nDeno Manual: https://deno.land/manual/introduction\n\n## \"Best Practices\" - from the [Deno Manual](https://deno.land/manual/introduction)\n\n### The `./src/deps.ts` file: Working with ES Module Dependencies Easily\n\nFor reference, read the Deno Manual's section on [\"Linking to External Code\"](https://deno.land/manual/linking_to_external_code):\n\nThe Deno manual recommends creating a `./src/deps.ts` file to store your project's dependencies in. In this scaffold, the full suite of Deno's native testing utilities have been re-exported from deps.ts to allow quick access in your own test files.\nJust import them in your test files like this:\n```js\n// in *.test.ts or *.test.js, using ES modules style syntax...\nimport { assertEquals, runTests, test } from \"./deps.ts\";\n\nassertEquals(\"hello\", \"hello\");\nassertEquals(\"world\", \"world\");\n\nconsole.log(\"I asserted correctly! 🎉\");\n\n// your test code\n\n```\n\nNOTE: Deno recommends versioning your imports so that your projects don't unexpectedly break if you need to re-load your code. For example, note the version number in the following URL import from Deno's standard library:\n```js\nimport { Response } from \"https://deno.land/std@0.53.0/http/server.ts\";\n```\n**Note**: In this repo, the export in `deps.ts` is not versioned so that this template doesn't continually become outdated as updates are made to Deno. \nIn general, though, following the advice to version your imports/re-exports will make your life easier :)\n\n### Caching dependencies locally\n\nA `./deno_dir` folder has been added in which you can cache your dependencies locally (rather than in the global, default deno cache, which differs depending on your OS). \n\nTo download remote dependencies \u0026 update the dependency cache, type the following command into your terminal:\n```bash\nDENO_DIR=./deno_dir deno cache src/deps.ts\n```\n\nThis will also help others collaborate on your projects with you :)\nFor more info, see the [Deno Manual's notes on dependency caching](https://deno.land/manual/linking_to_external_code)\n\n### Integrity checking \u0026 lock files\n\nThere is a `lock.json` file included at the root of this repo, similar to a lock file you would find in a node.js project.\n\nIn Deno, the lock file is not automatically generated (at this point in Deno's development, anyway). \n\nHowever, you can create/update a lock file any time you choose using the following command:\n```bash\n# Create/update the lock file \"lock.json\".\ndeno cache --lock=lock.json --lock-write src/deps.ts\n```\nFor more info, refer to the Deno Manual's section on [\"Integrity Checking and Lock Files\"](https://deno.land/manual/linking_to_external_code/integrity_checking).\n\nTo run your code, **remember that Deno is a secure runtime**; you need to explicitly enable permissions to allow things like network \u0026 file access. \n\nThe available permissions are:\n\n#### Permissions list\n\n- Allow all permissions. This disables all security.\n\n`-A, --allow-all`\n\n- Allow environment access for things like getting and setting of environment variables.\n\n`--allow-env`\n\n- Allow high resolution time measurement. High resolution time can be used in timing attacks and fingerprinting.\n\n`--allow-hrtime `\n\n- Allow network access. You can specify an optional, comma separated list of domains to provide a whitelist of allowed domains.\n\n`--allow-net=\\\u003callow-net\u003e `\n\n- Allow loading plugins. Please note that --allow-plugin is an unstable feature.\n\n`--allow-plugin`\n\n- Allow file system read access. You can specify an optional, comma separated list of directories or files to provide a whitelist of allowed file system access.\n\n`--allow-read=\\\u003callow-read\u003e`\n\n- Allow running subprocesses. Be aware that subprocesses are not run in a sandbox and therefore do not have the same security restrictions as the deno process. Therefore, use with caution.\n\n`--allow-run`\n\n- Allow file system write access. You can specify an optional, comma separated list of directories or files to provide a whitelist of allowed file system access.\n\n`--allow-write=\\\u003callow-write\u003e `\n\n\nThe syntax to run a Deno program which allows read access *to the entire filesystem* is:\n```bash\ndeno run --allow-read ./src/main.ts\n```\n\nTo restrict the permissions to a particular directory, use:\n```bash\ndeno run --allow-read=\"./src\" ./src/main.ts\n```\n\n### Getting Going\n\n#### [Installation Instructions](https://deno.land/#installation)\n\nDeno installation instructions, straight from the Deno homepage:\n\n\"\"\"\u003cbr\u003e\nDeno ships as a single executable with no dependencies. You can install it using the installers below, or download a release binary from the releases page.\n\nShell (Mac, Linux):\n`curl -fsSL https://deno.land/x/install/install.sh | sh`\n\nPowerShell (Windows):\n`iwr https://deno.land/x/install/install.ps1 -useb | iex`\n\nHomebrew (Mac):\n`brew install deno`\n\nChocolatey (Windows):\n`choco install deno`\n\nScoop (Windows):\n`scoop install deno`\n\nBuild and install from source using Cargo\n`cargo install deno`\n\u003cbr\u003e\"\"\"\n\n\n**Check out what's in available already in the Deno runtime by reading the [API Docs](https://doc.deno.land/https/github.com/denoland/deno/releases/latest/download/lib.deno.d.ts)**.\n\n**For 3rd party libraries from the quickly-evolving Deno ecosystem, see here: https://deno.land/x**\n\n\n_**Happy Coding!!!**_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiversable%2Fdeno_scaffold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiversable%2Fdeno_scaffold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiversable%2Fdeno_scaffold/lists"}