Welcome to Trex!
Trex 🐱🐉
Package management for deno
What is Trex?
is a "Package management" for deno to implement an import_map.json for your imports is an easiest way to make imports in deno.
// import_map.json
{
"imports": {
"http/": "https://deno.land/std/http/"
}
}
For more information about the import maps in deno import maps
Guide:
installation:
Download the repository and open the terminal in the folder of the repository and write:
deno install --allow-read --allow-write --allow-net --allow-run --unstable Trex.ts
note: You should have the last version 1.0.0 >= of deno for no errors.
or in your terminal you can write
deno install --allow-read --allow-write --allow-net --allow-run --unstable https://deno.land/x/trex/Trex.ts
update trex using
Trex update
check for the installation of the Trex tool writing in the terminal:
Trex --version
and the console should presente the Trex version.
for any help of the commands of Trex write:
Trex --help
and the console should present:
help:
* flags:
--map: for install a library
--version: logs version
--custom: for install custom package
* install module using:
Trex install --map fs http
* install custom module usig:
Trex --custom module_name=module_url
* uninstall module using:
Trex delete module_name
* install Tool using:
Trex getTool tool_name
for a better implementation of this tool you can use the tool Commands of deno Commands
How to use
in your command line write:
$ Trex install --map fs http fmt
note: you can use Trex i --map fs http fmt
an import_map.json file will be created with the following.
{
"imports": {
"fs/": "https://deno.land/std/fs/",
"http/": "https://deno.land/std/http/",
"fmt/": "https://deno.land/std/fmt/"
}
}
Usage example.
create a test file
// server.ts
import { serve } from "http/server.ts"
import { green } from "fmt/colors.ts"
const server = serve({ port: 8000 });
console.log(green("http://localhost:8000/"));
for await (const req of server) {
req.respond({ body: "Hello World\n" });
}
run in terminal
$ deno run --allow-net --importmap=import_map.json --unstable server.ts
note: it is important to use --importmap=import_map.json --unstable
using third party modules
example using oak
$ Trex i --map oak
in import_map.json
{
"imports": {
"fs/": "https://deno.land/std/fs/",
"http/": "https://deno.land/std/http/",
"fmt/": "https://deno.land/std/fmt/",
"oak": "https://deno.land/x/oak/mod.ts"
}
}
note: third party modules are added using mod.ts
in server.ts
// server.ts
import { Application } from "oak";
const app = new Application();
app.use((ctx) => {
ctx.response.body = "Hello World!";
});
await app.listen({ port: 8000 });
run in terminal
$ deno run --allow-net --importmap=import_map.json --unstable server.ts
add custom module
in your command line write:
$ Trex --custom React=https://dev.jspm.io/react/index.js
in import_map.json
{
"imports": {
"fs/": "https://deno.land/std/fs/",
"http/": "https://deno.land/std/http/",
"fmt/": "https://deno.land/std/fmt/",
"oak": "https://deno.land/x/oak/mod.ts",
"React": "https://dev.jspm.io/react/index.js"
}
}
velociraptor or Commands
install tools likein your command line write:
$ Trex getTool Commands
this will install the tool
note: this feature is currently unstable
delete module
in your command line write:
$ Trex delete React
in import_map.json
{
"imports": {
"fs/": "https://deno.land/std/fs/",
"http/": "https://deno.land/std/http/",
"fmt/": "https://deno.land/std/fmt/",
"oak": "https://deno.land/x/oak/mod.ts"
}
}
update Trex
in your command line write:
$ deno install -f --allow-read --allow-write --allow-net --allow-run --unstable https://deno.land/x/trex/Trex.ts
flags
view Trex version
$ Trex --version
view help
$ Trex --help
Todo
install std modules and third party modules in deno.land/x.
delete modules from import_map.json.
support for custom module outside of deno third party modules.
sort modules names in import_map.json.
support to install tools like Commands (!unstable).
- if you want add your tool in database edit this file database.json
update using:
Trex update
support to choose install other versions of modules. (!unstable):
Trex install --map fs@0.50.0