{"id":13801765,"url":"https://github.com/dpmland/dpm","last_synced_at":"2025-04-13T18:34:20.599Z","repository":{"id":41315940,"uuid":"449428149","full_name":"dpmland/dpm","owner":"dpmland","description":"Deno Package Manager (Unofficial)  :sauropod:   NPM Experience for Deno","archived":false,"fork":false,"pushed_at":"2024-11-18T19:49:33.000Z","size":995,"stargazers_count":40,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T23:33:52.620Z","etag":null,"topics":["deno","deno-tools","denoland","hacktoberfest","package-manager","typescript"],"latest_commit_sha":null,"homepage":"https://deno.land/x/dpm","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dpmland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-01-18T19:57:33.000Z","updated_at":"2025-02-16T06:03:04.000Z","dependencies_parsed_at":"2024-06-21T16:48:23.765Z","dependency_job_id":"72389efe-b0a4-4b07-a8e7-e388632d350b","html_url":"https://github.com/dpmland/dpm","commit_stats":{"total_commits":117,"total_committers":2,"mean_commits":58.5,"dds":0.008547008547008517,"last_synced_commit":"59a32145a9bd50e85651443231a75730af1b1fb3"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpmland%2Fdpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpmland%2Fdpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpmland%2Fdpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpmland%2Fdpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpmland","download_url":"https://codeload.github.com/dpmland/dpm/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248760886,"owners_count":21157452,"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":["deno","deno-tools","denoland","hacktoberfest","package-manager","typescript"],"created_at":"2024-08-04T00:01:27.049Z","updated_at":"2025-04-13T18:34:20.579Z","avatar_url":"https://github.com/dpmland.png","language":"TypeScript","funding_links":[],"categories":["Tools"],"sub_categories":["XML"],"readme":"\u003cimg src=\"https://avatars.githubusercontent.com/u/97813425\" align=\"right\" alt=\"Dpm Logo\" width=\"100\"\u003e\n\n## Dpm - CLI :sauropod:\n\n[![Discord](https://img.shields.io/discord/932381618851692565?label=Discord\u0026logo=discord\u0026logoColor=white)](https://discord.gg/Um27YPJKud)\n[![Twitter](https://img.shields.io/twitter/follow/dpm_land?label=Dpm%20Land\u0026style=social)](https://twitter.com/intent/follow?screen_name=dpm_land)\n[![GitHub license](https://img.shields.io/github/license/dpmland/cli?label=License)](./LICENSE)\n![GitHub Workflow](https://img.shields.io/github/workflow/status/dpmland/cli/CI)\n\nDpm `Deno Package Manager` is a _simple_, _modern_ and _easy way_ to **manage\nthe Deno modules and dependencies** that help to write and manage the Deno\nmodules and in general any TypeScript or JavaScript code\n\n## Features :computer:\n\n- Build all with TypeScript\n- `deno lint` and `deno fmt` commands support\n- Config generator for `deno lint`, `deno fmt` and `deno test`\n- Manage all in a `dpm.json` file with the same syntax of the `package.json` and\n  more features\n- Generate all dependencies from a `import_map.json` file\n- Offline documentation manager\n- Tools helper manager: install all tools for a better Deno development\n- Update the dependencies manager\n- Information about some directories and versions\n- Powerful logger system\n\n## Installation :rocket:\n\nStable Version:\n\n```sh\ndeno run -A --unstable https://dpmland.deno.dev/install stable\n```\n\nDevelopment Version can check the features roadmap\n[here](https://github.com/dpmland/dpm/pull/7):\n\n```sh\ndeno run -A --unstable https://dpmland.deno.dev/install canary\n```\n\n\u003e Recommendation for Windows with the EMOJIS :alien:\n\nWell I found a bug with emojis in the CLI and tried to find a solution and found\nthis comment about this issue and what causes this issue.\n\n```\nThere is an issue with Deno.stdout.write which doesn't handle unicode characters well. There is already an deno issue denoland/deno#6001.\nBut i found a workaround here denoland/deno#6131 (comment).\nYou have to enable utf8 character encoding in windows than it should work.\n```\n\n_Source [Here](https://github.com/c4spar/deno-cliffy/issues/113)_\n\nAnd the solution proposed is added this to the top of the `profile.ps1` file can\nbe accessibly with this command `notepad $PROFILE` on Powershell!\n\n```ps1\n[Console]::OutputEncoding = [Text.UTF8Encoding]::UTF8\n```\n\n# Basic usage :nerd_face:\n\nWell is very very simple make a project with DPM help and for this example can\nmake a basic http server with the DPM Help.\n\n1. For start the DPM files you can run this:\n\n```sh\n# Here exists maaaaaany ways but here explain the ways very simple\n\n# -A or --all -\u003e Write all files what support DPM printing the content with  ** many colors out :) **\n# -y or --yes -\u003e Write only the DPM File, DPM Imports and the Deno file only basic setup\n# -M or --minimalist -\u003e Write all files what support DPM but without print the content ** no colors out :( **\n\n# We start only with the necessary files..\ndpm init -y\n```\n\n2. After this is necessary install the dependencies for make 2 servers with\n   third party dependencies and with the std dependencies\n\n```sh\n# For the third party server we are going to use oak for install this you need run:\n\ndpm install oak # Done!\n\n# For the std dependencies only need the http module and for this you need only run:\n\ndpm install --std http # Don't forget the --std flag\n```\n\n3. Done the setup for the dependencies well this repository maybe need a task\n   for start this\n\n```jsonc\n// Well in our dpm.json we need add this...\n{\n  \"$schema\": \"https://dpmland.deno.dev/schema\",\n  \"name\": \"dpm-tutorial\",\n  \"version\": \"0.1.0\",\n  \"description\": \"A example dpm package\",\n  \"author\": \"A cool coder human\",\n  \"license\": \"ISC\",\n  \"main\": \"mod.ts\",\n  \"scripts\": {\n    \"test\": \"deno test -A --unstable\",\n    \"fmt\": \"deno fmt -c deno.json\",\n    \"lint\": \"deno lint -c deno.json\",\n    \"fmt:check\": \"deno fmt -c deno.json --check \u0026\u0026 deno lint -c deno.json\",\n    // The start scripts for the oak and http files\n    \"start:oak\": \"deno run -A oak.ts\",\n    \"start:http\": \"deno run -A http.ts\"\n  },\n  \"dependencies\": {\n    \"oak/\": \"v10.6.0\",\n    \"http/\": \"0.152.0\"\n  }\n}\n```\n\nAfter this is necessary run the update command for the tasks:\n\n```sh\n# With this command you can merge the dpm.json and deno.json tasks in one.\ndpm task -u\n```\n\n4. How can make the editor works with the module completions?\n\nWell now your editor not works with completions for DPM and if you add the code\nin the next step you see many errors in your editor but this is easy to solve.\n\n```sh\n# Many editors are supported with the auto config generator with this command\ndpm init -f editor\n# If your editor is not found you can run\ndpm init -f editor-cfg\n# This is the content of the file you only need copy the content to the deno-lsp config in your editor :)\n```\n\n5. Well with this need the code for start this servers:\n\n- The Oak Code.\n\n```ts\n// oak.ts file\nimport { Application } from '\"oak/mod.ts';\nconst app = new Application();\n\napp.use((ctx) =\u003e {\n  ctx.response.body = 'Hello DPM!';\n});\n\nawait app.listen({ port: 8000 });\n```\n\nWith this the server are ready to run you only need run `deno task start:oak`\nand done the setup with DPM is very simple and fast :smiley:\n\n- The Http Code.\n\n```ts\nimport { serve } from 'http/server.ts';\nserve((_req) =\u003e new Response('Hello DPM!'), { port: 8000 });\n```\n\nWith this the server are ready to run you only need run `deno task start:http`\nand done the setup with DPM is very simple and fast :smiley:\n\n# Commands :robot:\n\n\u003e For see all documentation of DPM with a pretty UI you can go to\n\u003e [here](https://dpmland.github.io)\n\n- **[about || me](https://dpmland.github.io/commands/about/)**: Here you can\n  found the information and some tools for learn more about dpm.\n\n- **bundle**: Here you can merge all dependencies from the `import_map.json`\n  file into a `TypeScript Dependency` file!\n\n- **[docs || doc](https://dpmland.github.io/commands/docs/)**: Here you can get\n  the documentation and download, clean and update the docs.\n\n- **init || create**: Here you can generate some files for work with dpm and\n  tools for a better development with Deno.\n\n- **uninstall || clean**: Here you can uninstall the dependencies from the\n  _import_map.json_ file and if you want remove one or many of this deps can you\n  do it!\n\n- **install || add**: If you want use external packages and dependencies can you\n  use this tool!\n\n- **[tools](https://dpmland.github.io/commands/tools/)**: Here you can install\n  tools for a better development with deno and for complement the dpm cli.\n\n- **[task || run](https://dpmland.github.io/commands/task/)**: With this command\n  you can run scripts like `npm scripts` you can define this in the `dpm.json`\n  file.\n\n- **update**: Here you can check if the file are updated `import_map.json`\n  dependencies and the new version available\n\n- **upgrade**: Upgrade dpm executable to latest or given version.\n\n- **exec || x**: With this tool you can run Deno X modules without installation.\n\n- **template || tmpl**: Well you need a start a project and need a template here\n  are all templates!!\n\n- **publish**: For publish your package to the world you can run this!\n\n- **[completions](https://dpmland.github.io/commands/completions)**: Generate\n  shell completions\n\n## Contribution Guides :books:\n\nThanks for want to help to this project, to contribute you can check the\n[contributing file](./CONTRIBUTING.md)\n\n---\n\nMade with :heart: in :earth_americas:\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpmland%2Fdpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpmland%2Fdpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpmland%2Fdpm/lists"}