rajt 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,13 @@
1
- <p align="left">
2
- <a href="https://npmjs.com/package/rajt"><img src="https://img.shields.io/npm/v/rajt.svg" alt="npm package"></a>
3
- <a href="https://pr.new/attla/rajt"><img src="https://developer.stackblitz.com/img/start_pr_dark_small.svg" alt="Start new PR in StackBlitz Codeflow"></a>
4
- </p>
1
+ <h1 align="left">Rajt λ<br/><a href="https://pr.new/attla/rajt"><img align="right" src="https://developer.stackblitz.com/img/start_pr_dark_small.svg" alt="Start new PR in StackBlitz Codeflow"></a><a href="https://npmjs.com/package/rajt"><img align="right" src="https://img.shields.io/npm/v/rajt.svg" alt="npm package"></a></h1>
5
2
  <br/>
6
3
 
7
- # Rajt λ
8
-
9
4
  > This framework is fully geared towards the serverless world, specifically AWS Lambda (Node.js and LLRT) / Cloudflare Workers.
10
5
 
11
6
  - 💡 Instant Server Start
12
7
  - ⚡️ Fast Cold Start
13
8
  - 📦 Optimized Build
14
9
 
15
- [Read the Docs to Learn More](DOCS.md).
10
+ [Read the Docs to Learn More](https://github.com/attla/rajt/blob/main/DOCS.md).
16
11
 
17
12
  ## Packages
18
13
 
@@ -23,4 +18,4 @@
23
18
 
24
19
  ## License
25
20
 
26
- This package is licensed under the [MIT license](LICENSE) © [Zunq](https://zunq.com).
21
+ This package is licensed under the [MIT license](https://github.com/attla/rajt/blob/main/LICENSE) © [Zunq](https://zunq.com).
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "rajt",
3
- "version": "0.0.2",
3
+ "description": "A serverless bundler layer, fully typed for AWS Lambda (Node.js and LLRT) and Cloudflare Workers.",
4
+ "version": "0.0.4",
4
5
  "type": "module",
5
6
  "main": "dist/index.js",
6
7
  "exports": {
@@ -16,17 +17,17 @@
16
17
  "dev": "tsx watch src/dev.ts",
17
18
  "prod": "bun run build && bun run sam",
18
19
  "build": "bun run cache:routes && bun run export && bun run clean:temp",
19
- "build:watch": "chokidar \"{actions,src,models,utils,configs}/**/*.ts\" -c \"bun run build\" --initial",
20
- "export": "esbuild --bundle --minify --outfile=dist/index.js --platform=node --target=node20 --format=esm --tree-shaking=true --legal-comments=none src/prod.ts",
20
+ "build:watch": "chokidar \"../../{actions,configs,models,utils}/**/*.ts\" -c \"bun run build\" --initial",
21
+ "export": "esbuild --bundle --minify --outfile=../../dist/index.js --platform=node --target=node20 --format=esm --tree-shaking=true --legal-comments=none src/prod.ts",
21
22
  "cache:routes": "tsx src/scripts/cache-routes.ts",
22
- "ensure-dirs": "rm -rf dist tmp && mkdir -p ./tmp && chmod 755 ./tmp && mkdir -p ./dist && chmod 755 ./dist",
23
- "clean": "rm -rf dist tmp",
24
- "clean:build": "rm -rf dist",
25
- "clean:temp": "rm -rf tmp",
26
- "zip": "zip -j lambda.zip dist/index.js",
27
- "update": "aws lambda update-function-code --zip-file fileb://lambda.zip --function-name hello",
23
+ "ensure-dirs": "rm -rf ../../dist ../../tmp && mkdir -p ../../tmp && chmod 755 ../../tmp && mkdir -p ../../dist && chmod 755 ../../dist",
24
+ "clean": "rm -rf ../../dist ../../tmp",
25
+ "clean:build": "rm -rf ../../dist",
26
+ "clean:temp": "rm -rf ../../tmp",
27
+ "zip": "zip -j lambda.zip ../../dist/index.js",
28
+ "update": "aws lambda update-function-code --zip-file fileb://../../lambda.zip --function-name hello",
28
29
  "deploy": "run-s build zip update",
29
- "start": "node dist/index.js"
30
+ "start": "node ../../dist/index.js"
30
31
  },
31
32
  "dependencies": {
32
33
  "@hono/node-server": "^1.14.1",
@@ -39,5 +40,28 @@
39
40
  "tsconfig-paths": "^4.2.0",
40
41
  "tsx": "^4.19.3",
41
42
  "typescript": "^5.8.3"
42
- }
43
+ },
44
+ "publishConfig": {
45
+ "registry": "https://registry.npmjs.org"
46
+ },
47
+ "author": "Zunq <open-source@zunq.com>",
48
+ "homepage": "https://zunq.dev",
49
+ "repository": "git://github.com/attla/rajt",
50
+ "bugs": "https://github.com/attla/rajt/issues",
51
+ "keywords": [
52
+ "rajt",
53
+ "aws",
54
+ "lambda",
55
+ "llrt",
56
+ "app",
57
+ "http",
58
+ "application",
59
+ "framework",
60
+ "router",
61
+ "cloudflare",
62
+ "workers",
63
+ "deno",
64
+ "bun",
65
+ "nodejs"
66
+ ]
43
67
  }
package/src/create-app.ts CHANGED
@@ -116,6 +116,7 @@ export const createApp = <E extends Env>(options?: ServerOptions<E>) => {
116
116
 
117
117
  function mw(...objs: string[]): Function[] {
118
118
  return objs.flatMap(obj => {
119
+ if (typeof obj !== 'string') return null
119
120
  // @ts-ignore
120
121
  return getHandler(obj)?.mw || null
121
122
  }).flat().filter(Boolean)
package/src/prod.ts CHANGED
@@ -5,10 +5,10 @@ import createApp from './create-app'
5
5
  config({ path: '.env.prod' })
6
6
 
7
7
  // @ts-ignore
8
- await import('../tmp/import-routes.mjs')
8
+ await import('../../../tmp/import-routes.mjs')
9
9
 
10
10
  // @ts-ignore
11
- const routes = (await import('../tmp/routes.json')).default
11
+ const routes = (await import('../../../tmp/routes.json')).default
12
12
  // @ts-ignore
13
13
  const app = createApp({ routes })
14
14
 
package/src/routes.ts CHANGED
@@ -49,7 +49,7 @@ export default async function getRoutes(all: boolean = false, baseDir: string =
49
49
  method: handle.m.toLowerCase(),
50
50
  path: handle.p,
51
51
  name: handle.name.replace(/\.ts$/, ''),
52
- file: relative(process.cwd(), fullPath),
52
+ file: baseDir + fullPath.split(baseDir)[1],
53
53
  middlewares,
54
54
  handle,
55
55
  })
@@ -58,6 +58,6 @@ export default async function getRoutes(all: boolean = false, baseDir: string =
58
58
  }
59
59
  }
60
60
 
61
- await walk(path.resolve(__dirname, '..', baseDir))
61
+ await walk(path.resolve(__dirname, '../../..', baseDir))
62
62
  return routes
63
63
  }
@@ -5,10 +5,10 @@ import ensureDir from '../utils/ensuredir'
5
5
  async function cacheRoutes() {
6
6
  const routes = await getRoutes(true)
7
7
 
8
- const iPath = './tmp/import-routes.mjs'
8
+ const iPath = '../../tmp/import-routes.mjs'
9
9
  ensureDir(iPath)
10
10
  writeFileSync(iPath, `// AUTO-GENERATED FILE - DO NOT EDIT
11
- import { registerHandler } from '../src/register'
11
+ import { registerHandler } from '../node_modules/rajt/src/register'
12
12
 
13
13
  ${routes.map(r => `import ${r.name} from '../${normalizePath(r.file)}'`).join('\n')}
14
14
 
@@ -20,12 +20,12 @@ try {
20
20
  registerHandler(name, handler)
21
21
  }
22
22
  }
23
- } catch (error) {
24
- console.error('Failed to register handlers:', error)
23
+ } catch (e) {
24
+ console.error('Failed to register handlers:', e)
25
25
  }
26
26
  `)
27
27
 
28
- const rPath = './tmp/routes.json'
28
+ const rPath = '../../tmp/routes.json'
29
29
  ensureDir(rPath)
30
30
  writeFileSync(rPath, JSON.stringify(routes.filter(r => r.method && r.path).map(route => [
31
31
  route.method,