drash

A microframework for building JavaScript HTTP applications. Runtime-agnostic. Strongly typed.

GPL-3.0 License

Downloads
119
Stars
1.1K
Committers
20

Bot releases are hidden (Show)

drash - 2024-01-03 / v3.0.0-beta.2 Latest Release

Published by crookse 10 months ago

Summary

Build No. 2 for v3.x Beta.

Docs / Guides

Full documentation and guides are at https://drash.land/drash-v3.x.

Registries

Import from your registry of choice:

Example Apps

View the GitHub repo directory below for tiny example apps:

https://github.com/drashland/drash/tree/v3.x/examples

Deno Deploy Playground

The Deno Deploy Playground is at https://dash.deno.com/playground/drash-v3x-beta-1.

drash - 2023-11-04 / v3.0.0-beta.1

Published by crookse 12 months ago

Summary

Build No. 1 for v3.x Beta.

Docs / Guides

Full documentation and guides are at https://drash.land/drash-v3.x.

Registries

Import from your registry of choice:

Example Apps

View the GitHub repo directory below for tiny example apps:

https://github.com/drashland/drash/tree/v3.x-beta/examples

Deno Deploy Playground

The Deno Deploy Playground is at https://dash.deno.com/playground/drash-v3x-beta-1.

drash - 2023-11-02 / v3.0.0-preview.4

Published by crookse 12 months ago

Test

Target branch: v3.x-beta

drash - 2023-11-01 / v3.0.0-preview.3

Published by crookse 12 months ago

Test

drash - 2023-11-01 / v3.0.0-preview.2

Published by crookse 12 months ago

Test

drash - 2023-10-17 / v3.0.0-preview.01

Published by crookse about 1 year ago

Test

drash - v2.7.1

Published by crookse about 2 years ago

Compatibility

Requires Deno v1.26.0
Uses Deno Standard Modules 0.158.0

Documentation

Usage

  1. Create a deps.ts file.
// deps.ts

export * as Drash from "https://deno.land/x/[email protected]/mod.ts";
  1. Import Drash from your deps.ts file.
import { Drash } from "./deps.ts"

... your
... code
... here

Release Summary

  • chore: Update deps to support Deno v1.26.0 and Deno Standard Modules 0.158.0 (#680)
  • chore: Bump ResourceLoaderService to Deno Standard Modules 0.158.0 (#685) (@tweenietomatoes)
drash - v2.0.0

Published by crookse almost 3 years ago

Compatibility

Requires Deno 1.15.3
Uses Deno Standard Modules 0.113.0

Documentation

Usage

  1. Create a deps.ts file.
// deps.ts

export * as Drash from "https://deno.land/x/[email protected]/mod.ts";
  1. Import Drash from your deps.ts file.
import { Drash } from "./deps.ts"

... your
... code
... here

Release Summary

  • Added use of Deno's native HTTP server
  • Added deno-drash-middleware to the repository
    • Middleware is now referred to as services in Drash v2.x
    • Middleware names have changed from SomeName to SomeService (e.g., Paladin is now PaladinService) and are required to extend the Drash.Service class
    • Removed requirement of tsconfig.json for resource-level services
    • Removed use of decorators for resource-level services
  • Added helper methods to the response object
    • response.download()
    • response.file()
    • response.json()
    • response.html()
    • response.send<T>()
    • response.text()
    • response.xml()
  • Added support for Deno Deploy (has not been tested)
  • Changed syntax on importing Drash namespace
  • Changed <ResourceClass>.paths property from static to public
  • Changed HTTP methods in resources to require request and response arguments
  • Changed HTTP methods in resources to return void instead of Drash.Http.Response
  • Changed Server class instantiation configs
  • Changed the term "exception" to "error" (also changes Exception classes to Error classes)
  • Changed request.getPathParam() to request.pathParam()
  • Changed request.getBodyParam() to request.bodyParam<T>()
  • Changed request.getBodyFile() to request.bodyParam<BodyFile[]>()
  • Changed request.getUrlQueryParam() to request.queryParam()
  • Removed code to get all parameters off the request object (possible future implementation)
  • Removed static file serving
    • This can be done using a FilesResource that serves files based on a path param:
      import { Drash } from "./deps.ts";
      
      class FilesResource extends Drash.Resource {
        public paths = ["/public/:filepath"];
      
        public GET(request: Drash.Request, response: Drash.Response): void {
          const filepath = request.pathParam("filepath");
          return response.file(filepath!);
        }
      }
      
  • Removed Http namespace
  • Removed Exceptions namespace
  • Removed CoreLoggers namespace
  • Removed StringService class
  • Removed HttpService class
  • Removed Drash.addLogger()
  • Removed Drash.addMember()
  • Removed configs from server.run() call
  • Removed pretty links
  • Works in progress (to be released in future versions)
    • CORSService (formerly Cors in deno-drash-middleware repository)
    • TengineService (formerly Tengine in deno-drash-middleware repository)
drash - v2.0.0-beta-1

Published by crookse almost 3 years ago

Beta-1 version of v2. Documentation is still being written and when finished, will follow an official v2 release. Not production ready as there is no migration guide available yet

drash - v2.0.0-beta

Published by ebebbington about 3 years ago

Beta version of v2.

Documentation is still being written and when finished, will follow an official v2 release. Not production ready as there is no migration guide available yet

drash - v1.2.4

Published by ebebbington about 4 years ago

Compatibility

  • Requires Deno v1.2.0 or higher (or 1.4.0 if using --unstable)
  • Uses Deno [email protected]

Importing

  • Import this latest release by using the following in your project(s):
    import { Drash } from "https://deno.land/x/[email protected]/mod.ts";
    

Updates

  • chore: bump versions and update dependencies (#372)
  • fix: Correct imports/exports to adjust to using --unstable (#371)
drash - v1.2.3

Published by ebebbington about 4 years ago

Compatibility

Importing

  • Import this latest release by using the following in your project(s):
    import { Drash } from "https://deno.land/x/[email protected]/mod.ts";
    

Updates

  • chore: Improve types for codebase, being more descriptive and remove any; PR #359
  • chore: Update std to 0.65.0
  • fix: default response content type not being respected in browser requests; #361
drash - v1.2.2

Published by crookse about 4 years ago

Compatibility

  • Requires Deno v1.2.0. or higher
  • Uses Deno [email protected]
  • Due to the changes that occurred in the deno.land/x registry today, branch imports are no longer supported, so please do not import using v1.x as it will not work

Importing

  • Import this latest release by using the following in your project(s):
    import { Drash } from "https://deno.land/x/[email protected]/mod.ts";
    

Updates

  • fix: compatibility issues with deno std when importing deno std modules using a "v" prefix
drash - v1.2.1

Published by crookse about 4 years ago

Compatibility

  • Requires Deno v1.2.x or higher
  • Uses Deno Standard Modules v0.62.0

Upgrading

  • If you are importing the v1.x branch, then you can upgrade from the command line using the following:

    deno run --reload https://deno.land/x/[email protected]/mod.ts
    
  • If you're importing specific versions of Drash, then make sure you upgrade accordingly in your project(s):

    import { Drash } from "https://deno.land/x/[email protected]/mod.ts";
    

Updates

  • fix: create_app script not working; issue #350; PR #351
  • tests: add more unit tests around MIME type handling and pretty links; PR #346
  • ci: use GITHUB_HEAD_REF or master depending on where the create_app script is running; PR #355
drash - v1.2.0

Published by ebebbington about 4 years ago

Compatibility

  • Requires Deno v1.2.x or higher
  • Uses Deno Standard Modules v0.62.0

Upgrading

  • If you are importing the v1.x branch, then you can upgrade from the command line using the following:

    deno run --reload https://deno.land/x/[email protected]/mod.ts
    
  • If you're importing specific versions of Drash, then make sure you upgrade accordingly in your project(s):

    import { Drash } from "https://deno.land/x/[email protected]/mod.ts";
    

Updates

  • feat: add support for optional path parameters; PR #337; Docs here
  • fix: create_app script to build from local cache and properly build in windows; PR #342 (b48c60d148df65a340f00937ae0d8931ef36bf5c, 51dd4821fbc81a5e3bb029e48720a8b305d751b0, 33345c4c47d3d2710f32fec122889b931575b478)
  • chore: clean up filesystem (#342)
drash - v1.1.1

Published by crookse about 4 years ago

Requires Deno v1.x
Uses Deno Standard Modules v0.61.0

Upgrading

If you're importing the v1.x branch, then you can upgrade from the command line using the following:

deno run --reload https://deno.land/x/[email protected]/mod.ts

If you're importing specific versions of Drash, then make sure you upgrade accordingly in your .ts file(s):

import { Drash } from "https://deno.land/x/[email protected]/mod.ts";

Updates

  • fix: Return correct MIME type for requests to static path assets; PR #332
drash - v1.1.0

Published by crookse over 4 years ago

Requires Deno v1.x
Uses Deno Standard Modules v0.61.0

Upgrading

If you're importing the v1.x branch, then you can upgrade from the command line using the following:

deno run --reload https://deno.land/x/[email protected]/mod.ts

If you're importing specific versions of Drash, then make sure you upgrade accordingly in your .ts` file(s):

import { Drash } from "https://deno.land/x/[email protected]/mod.ts";

Updates

  • feat: Allow middleware to execute before and after requests to static path assets; Issue #324; PR #325
drash - v1.0.8

Published by ebebbington over 4 years ago

Older versions of Drash do not support Deno v1.2.0. Use Drash v1.0.8 if you're using Deno v1.2.0.

Requires Deno v1.x
Uses Deno Standard Modules v0.61.0

  • docs: Improved API documentation; Issue #289; PR 292;
drash - v1.0.7

Published by crookse over 4 years ago

Requires Deno v1.x (Does not support Deno v1.2.0. Upgrade to Drash v1.0.8 to use Deno v1.2.0)
Uses Deno Standard Modules v0.59.0

  • fix: use the Accept header if it's provided; issue #271; PR #273
  • fix: most lint issues; issue #264; PR #274
  • fix: response fails to parse body when content type is JSON and body is falsey; issue #270; PR #278
  • fix: this.request.getBodyParam() and this.request.getBodyFile not considering request body as multipart/form-data; issue #269; PR #280
  • Drash is now available in nest.land as well! 🎉
drash - v1.0.6

Published by crookse over 4 years ago

Requires Deno v1.x (Does not support Deno v1.2.0. Upgrade to Drash v1.0.8 to use Deno v1.2.0)
Uses Deno Standard Modules v0.57.0

  • Fix: Add missing permission to create app script help message; PR #238
  • Fix: Create App not working on windows; PR #244
  • Tests: Restructure unit tests; add integration tests; improve coverage
  • CI: Add integration tests
  • CI: Add bumper workflow to bump Deno std modules automatically and make PR if version bumps are needed
Package Rankings
Top 1.1% on Deno.land
Top 24.17% on Npmjs.org
Badges
Extracted from project README
Drash Land Discord