@arikajs/cli 0.0.1

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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +366 -0
  3. package/dist/bin/arika.d.ts +3 -0
  4. package/dist/bin/arika.d.ts.map +1 -0
  5. package/dist/bin/arika.js +21 -0
  6. package/dist/bin/arika.js.map +1 -0
  7. package/dist/src/ApplicationLoader.d.ts +8 -0
  8. package/dist/src/ApplicationLoader.d.ts.map +1 -0
  9. package/dist/src/ApplicationLoader.js +31 -0
  10. package/dist/src/ApplicationLoader.js.map +1 -0
  11. package/dist/src/Bootstrap.d.ts +5 -0
  12. package/dist/src/Bootstrap.d.ts.map +1 -0
  13. package/dist/src/Bootstrap.js +66 -0
  14. package/dist/src/Bootstrap.js.map +1 -0
  15. package/dist/src/Commands/CacheTableCommand.d.ts +7 -0
  16. package/dist/src/Commands/CacheTableCommand.d.ts.map +1 -0
  17. package/dist/src/Commands/CacheTableCommand.js +45 -0
  18. package/dist/src/Commands/CacheTableCommand.js.map +1 -0
  19. package/dist/src/Commands/DatabaseCommand.d.ts +11 -0
  20. package/dist/src/Commands/DatabaseCommand.d.ts.map +1 -0
  21. package/dist/src/Commands/DatabaseCommand.js +94 -0
  22. package/dist/src/Commands/DatabaseCommand.js.map +1 -0
  23. package/dist/src/Commands/DbSeedCommand.d.ts +10 -0
  24. package/dist/src/Commands/DbSeedCommand.d.ts.map +1 -0
  25. package/dist/src/Commands/DbSeedCommand.js +70 -0
  26. package/dist/src/Commands/DbSeedCommand.js.map +1 -0
  27. package/dist/src/Commands/DocsGenerateCommand.d.ts +8 -0
  28. package/dist/src/Commands/DocsGenerateCommand.d.ts.map +1 -0
  29. package/dist/src/Commands/DocsGenerateCommand.js +102 -0
  30. package/dist/src/Commands/DocsGenerateCommand.js.map +1 -0
  31. package/dist/src/Commands/KeyGenerateCommand.d.ts +9 -0
  32. package/dist/src/Commands/KeyGenerateCommand.d.ts.map +1 -0
  33. package/dist/src/Commands/KeyGenerateCommand.js +44 -0
  34. package/dist/src/Commands/KeyGenerateCommand.js.map +1 -0
  35. package/dist/src/Commands/ListCommand.d.ts +7 -0
  36. package/dist/src/Commands/ListCommand.d.ts.map +1 -0
  37. package/dist/src/Commands/ListCommand.js +26 -0
  38. package/dist/src/Commands/ListCommand.js.map +1 -0
  39. package/dist/src/Commands/MakeMigrationCommand.d.ts +14 -0
  40. package/dist/src/Commands/MakeMigrationCommand.d.ts.map +1 -0
  41. package/dist/src/Commands/MakeMigrationCommand.js +72 -0
  42. package/dist/src/Commands/MakeMigrationCommand.js.map +1 -0
  43. package/dist/src/Commands/MakeSeederCommand.d.ts +14 -0
  44. package/dist/src/Commands/MakeSeederCommand.d.ts.map +1 -0
  45. package/dist/src/Commands/MakeSeederCommand.js +56 -0
  46. package/dist/src/Commands/MakeSeederCommand.js.map +1 -0
  47. package/dist/src/Commands/MigrateCommand.d.ts +10 -0
  48. package/dist/src/Commands/MigrateCommand.d.ts.map +1 -0
  49. package/dist/src/Commands/MigrateCommand.js +69 -0
  50. package/dist/src/Commands/MigrateCommand.js.map +1 -0
  51. package/dist/src/Commands/MigrateRollbackCommand.d.ts +10 -0
  52. package/dist/src/Commands/MigrateRollbackCommand.d.ts.map +1 -0
  53. package/dist/src/Commands/MigrateRollbackCommand.js +69 -0
  54. package/dist/src/Commands/MigrateRollbackCommand.js.map +1 -0
  55. package/dist/src/Commands/NewCommand.d.ts +8 -0
  56. package/dist/src/Commands/NewCommand.d.ts.map +1 -0
  57. package/dist/src/Commands/NewCommand.js +112 -0
  58. package/dist/src/Commands/NewCommand.js.map +1 -0
  59. package/dist/src/Commands/QueueTableCommand.d.ts +7 -0
  60. package/dist/src/Commands/QueueTableCommand.d.ts.map +1 -0
  61. package/dist/src/Commands/QueueTableCommand.js +49 -0
  62. package/dist/src/Commands/QueueTableCommand.js.map +1 -0
  63. package/dist/src/Commands/ServeCommand.d.ts +7 -0
  64. package/dist/src/Commands/ServeCommand.d.ts.map +1 -0
  65. package/dist/src/Commands/ServeCommand.js +60 -0
  66. package/dist/src/Commands/ServeCommand.js.map +1 -0
  67. package/dist/src/TemplateManager.d.ts +19 -0
  68. package/dist/src/TemplateManager.d.ts.map +1 -0
  69. package/dist/src/TemplateManager.js +133 -0
  70. package/dist/src/TemplateManager.js.map +1 -0
  71. package/dist/src/index.d.ts +3 -0
  72. package/dist/src/index.d.ts.map +1 -0
  73. package/dist/src/index.js +8 -0
  74. package/dist/src/index.js.map +1 -0
  75. package/dist/tests/Cli.test.d.ts +2 -0
  76. package/dist/tests/Cli.test.d.ts.map +1 -0
  77. package/dist/tests/Cli.test.js +16 -0
  78. package/dist/tests/Cli.test.js.map +1 -0
  79. package/package.json +55 -0
  80. package/templates/app/.env.example +47 -0
  81. package/templates/app/app/Controllers/UserController.ts +88 -0
  82. package/templates/app/app/Http/Kernel.ts +18 -0
  83. package/templates/app/app/Models/User.ts +15 -0
  84. package/templates/app/bootstrap/app.ts +13 -0
  85. package/templates/app/config/app.ts +9 -0
  86. package/templates/app/config/cache.ts +37 -0
  87. package/templates/app/config/database.ts +36 -0
  88. package/templates/app/config/filesystems.ts +33 -0
  89. package/templates/app/config/http.ts +5 -0
  90. package/templates/app/config/logging.ts +35 -0
  91. package/templates/app/config/mail.ts +27 -0
  92. package/templates/app/config/queue.ts +40 -0
  93. package/templates/app/database/migrations/0001_create_users_table.ts +23 -0
  94. package/templates/app/package.json +21 -0
  95. package/templates/app/resources/views/welcome.html +470 -0
  96. package/templates/app/routes/api.ts +34 -0
  97. package/templates/app/routes/web.ts +6 -0
  98. package/templates/app/server.ts +16 -0
  99. package/templates/app/tsconfig.json +15 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const node_test_1 = require("node:test");
7
+ const node_assert_1 = __importDefault(require("node:assert"));
8
+ const src_1 = require("../src");
9
+ (0, node_test_1.describe)('CLI Bootstrap', () => {
10
+ (0, node_test_1.it)('boots correctly and returns a CommandRegistry', async () => {
11
+ const registry = await src_1.Bootstrap.boot();
12
+ node_assert_1.default.ok(registry !== null);
13
+ node_assert_1.default.strictEqual(typeof registry.run, 'function');
14
+ });
15
+ });
16
+ //# sourceMappingURL=Cli.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Cli.test.js","sourceRoot":"","sources":["../../tests/Cli.test.ts"],"names":[],"mappings":";;;;;AACA,yCAA+C;AAC/C,8DAAiC;AACjC,gCAAmC;AAEnC,IAAA,oBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC3B,IAAA,cAAE,EAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,QAAQ,GAAG,MAAM,eAAS,CAAC,IAAI,EAAE,CAAC;QACxC,qBAAM,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;QAC7B,qBAAM,CAAC,WAAW,CAAC,OAAO,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@arikajs/cli",
3
+ "version": "0.0.1",
4
+ "description": "The command-line interface for the ArikaJS framework.",
5
+ "license": "MIT",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "arika": "dist/bin/arika.js"
10
+ },
11
+ "scripts": {
12
+ "build": "tsc -p tsconfig.json && chmod +x dist/bin/arika.js",
13
+ "build:tests": "tsc -p tsconfig.test.json",
14
+ "clean": "rm -rf dist",
15
+ "prepare": "echo skip",
16
+ "test": "npm run build && npm run build:tests && node --test 'dist/tests/**/*.test.js'",
17
+ "test:watch": "npm run build && npm run build:tests && node --test --watch 'dist/tests/**/*.test.js'"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "templates"
22
+ ],
23
+ "keywords": [
24
+ "arika",
25
+ "arika-js",
26
+ "cli",
27
+ "console",
28
+ "scaffolding"
29
+ ],
30
+ "engines": {
31
+ "node": ">=20.0.0"
32
+ },
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/arikajs/cli.git"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/arikajs/cli/issues"
39
+ },
40
+ "homepage": "https://github.com/arikajs/cli#readme",
41
+ "dependencies": {
42
+ "@arikajs/console": "^0.0.1",
43
+ "@arikajs/database": "^0.0.1",
44
+ "@arikajs/docs": "^0.0.1",
45
+ "inquirer": "^8.2.7",
46
+ "dotenv": "^16.4.5"
47
+ },
48
+ "devDependencies": {
49
+ "@types/dotenv": "^8.2.3",
50
+ "@types/inquirer": "^8.2.12",
51
+ "@types/node": "^20.11.24",
52
+ "typescript": "^5.3.3"
53
+ },
54
+ "author": "Prakash Tank"
55
+ }
@@ -0,0 +1,47 @@
1
+ APP_NAME=ArikaApp
2
+ APP_ENV=development
3
+ APP_PORT=3000
4
+ APP_DEBUG=true
5
+ APP_KEY=
6
+ APP_URL=http://localhost:3000
7
+ APP_TIMEZONE=UTC
8
+
9
+ DB_CONNECTION=mysql
10
+ DB_HOST=127.0.0.1
11
+ DB_PORT=3306
12
+ DB_DATABASE=arikajs
13
+ DB_USERNAME=root
14
+ DB_PASSWORD=
15
+
16
+ REDIS_CLIENT=ioredis
17
+ REDIS_HOST=127.0.0.1
18
+ REDIS_PASSWORD=null
19
+ REDIS_PORT=6379
20
+ REDIS_DB=0
21
+
22
+ MAIL_MAILER=log
23
+ MAIL_HOST=127.0.0.1
24
+ MAIL_PORT=2525
25
+ MAIL_USERNAME=
26
+ MAIL_PASSWORD=
27
+ MAIL_ENCRYPTION=tls
28
+ MAIL_FROM_ADDRESS="hello@example.com"
29
+ MAIL_FROM_NAME="${APP_NAME}"
30
+
31
+ FILESYSTEM_DISK=local
32
+
33
+ AWS_ACCESS_KEY_ID=
34
+ AWS_SECRET_ACCESS_KEY=
35
+ AWS_DEFAULT_REGION=us-east-1
36
+ AWS_BUCKET=
37
+ AWS_URL=
38
+ AWS_ENDPOINT=
39
+ AWS_USE_PATH_STYLE_ENDPOINT=false
40
+
41
+ LOG_CHANNEL=stack
42
+ LOG_LEVEL=debug
43
+
44
+ QUEUE_CONNECTION=sync
45
+
46
+ CACHE_STORE=database
47
+ CACHE_PREFIX=arika_cache
@@ -0,0 +1,88 @@
1
+ import { User } from '../Models/User';
2
+
3
+ export class UserController {
4
+ /**
5
+ * Display a listing of users.
6
+ */
7
+ async index(req: any, res: any) {
8
+ const users = await User.all();
9
+ return res.json(users);
10
+ }
11
+
12
+ /**
13
+ * Display the specified user.
14
+ */
15
+ async show(req: any, res: any) {
16
+ const user = await User.find(req.params.id);
17
+
18
+ if (!user) {
19
+ return res.status(404).json({
20
+ message: 'User not found'
21
+ });
22
+ }
23
+
24
+ return res.json(user);
25
+ }
26
+
27
+ /**
28
+ * Store a newly created user.
29
+ */
30
+ async store(req: any, res: any) {
31
+ const { name, email, password } = req.body;
32
+
33
+ // Basic validation
34
+ if (!name || !email || !password) {
35
+ return res.status(400).json({
36
+ message: 'Name, email, and password are required'
37
+ });
38
+ }
39
+
40
+ const user = await User.create({
41
+ name,
42
+ email,
43
+ password
44
+ });
45
+
46
+ return res.status(201).json(user);
47
+ }
48
+
49
+ /**
50
+ * Update the specified user.
51
+ */
52
+ async update(req: any, res: any) {
53
+ const user = await User.find(req.params.id);
54
+
55
+ if (!user) {
56
+ return res.status(404).json({
57
+ message: 'User not found'
58
+ });
59
+ }
60
+
61
+ const { name, email, password } = req.body;
62
+
63
+ await user.update({
64
+ ...(name && { name }),
65
+ ...(email && { email }),
66
+ ...(password && { password })
67
+ });
68
+
69
+ return res.json(user);
70
+ }
71
+
72
+ /**
73
+ * Remove the specified user.
74
+ */
75
+ async destroy(req: any, res: any) {
76
+ const user = await User.find(req.params.id);
77
+
78
+ if (!user) {
79
+ return res.status(404).json({
80
+ message: 'User not found'
81
+ });
82
+ }
83
+
84
+ await user.delete();
85
+
86
+ return res.status(204).send();
87
+ }
88
+ }
@@ -0,0 +1,18 @@
1
+ import { Kernel as BaseKernel } from 'arikajs';
2
+
3
+ export class Kernel extends BaseKernel {
4
+ /**
5
+ * The application's route middleware groups.
6
+ */
7
+ protected middlewareGroups = {
8
+ web: [],
9
+ api: [],
10
+ };
11
+
12
+ /**
13
+ * The application's route middleware aliases.
14
+ */
15
+ protected routeMiddleware = {
16
+ 'auth': (request: any, next: any) => next(request), // dummy for now
17
+ };
18
+ }
@@ -0,0 +1,15 @@
1
+ import { Model } from 'arikajs';
2
+
3
+ export class User extends Model {
4
+ static table = 'users';
5
+
6
+ static fillable = [
7
+ 'name',
8
+ 'email',
9
+ 'password'
10
+ ];
11
+
12
+ static hidden = [
13
+ 'password'
14
+ ];
15
+ }
@@ -0,0 +1,13 @@
1
+ import { createApp } from 'arikajs';
2
+ import path from 'path';
3
+
4
+ const app = createApp(
5
+ path.resolve(__dirname, '../')
6
+ );
7
+
8
+ import { Kernel } from '../app/Http/Kernel';
9
+ import { Kernel as BaseKernel } from 'arikajs';
10
+
11
+ app.singleton(BaseKernel, () => new Kernel(app));
12
+
13
+ export default app;
@@ -0,0 +1,9 @@
1
+
2
+ export default {
3
+ name: process.env.APP_NAME || 'ArikaJS',
4
+ env: process.env.APP_ENV || 'production',
5
+ debug: process.env.APP_DEBUG === 'true',
6
+ url: process.env.APP_URL || 'http://localhost',
7
+ timezone: process.env.APP_TIMEZONE || 'UTC',
8
+ key: process.env.APP_KEY,
9
+ };
@@ -0,0 +1,37 @@
1
+ export default {
2
+ /**
3
+ * Default Cache Store
4
+ */
5
+ default: process.env.CACHE_STORE || 'database',
6
+
7
+ /**
8
+ * Cache Stores
9
+ */
10
+ stores: {
11
+ memory: {
12
+ driver: 'memory',
13
+ },
14
+
15
+ database: {
16
+ driver: 'database',
17
+ table: 'cache',
18
+ connection: null,
19
+ lock_connection: null,
20
+ },
21
+
22
+ redis: {
23
+ driver: 'redis',
24
+ connection: 'default',
25
+ mode: process.env.REDIS_MODE || 'standalone', // standalone, sentinel, cluster
26
+ host: process.env.REDIS_HOST || '127.0.0.1',
27
+ password: process.env.REDIS_PASSWORD || null,
28
+ port: process.env.REDIS_PORT || 6379,
29
+ database: process.env.REDIS_DB || 0,
30
+ },
31
+ },
32
+
33
+ /**
34
+ * Cache Key Prefix
35
+ */
36
+ prefix: process.env.CACHE_PREFIX || 'arika_cache',
37
+ };
@@ -0,0 +1,36 @@
1
+
2
+ export default {
3
+ default: process.env.DB_CONNECTION || 'sqlite',
4
+
5
+ connections: {
6
+ sqlite: {
7
+ client: 'sqlite3',
8
+ connection: {
9
+ filename: process.env.DB_DATABASE || './database.sqlite'
10
+ },
11
+ useNullAsDefault: true
12
+ },
13
+
14
+ mysql: {
15
+ client: 'mysql2',
16
+ connection: {
17
+ host: process.env.DB_HOST || '127.0.0.1',
18
+ port: parseInt(process.env.DB_PORT || '3306'),
19
+ database: process.env.DB_DATABASE || 'arika',
20
+ user: process.env.DB_USERNAME || 'root',
21
+ password: process.env.DB_PASSWORD || ''
22
+ }
23
+ },
24
+
25
+ postgres: {
26
+ client: 'pg',
27
+ connection: {
28
+ host: process.env.DB_HOST || '127.0.0.1',
29
+ port: parseInt(process.env.DB_PORT || '5432'),
30
+ database: process.env.DB_DATABASE || 'arika',
31
+ user: process.env.DB_USERNAME || 'postgres',
32
+ password: process.env.DB_PASSWORD || ''
33
+ }
34
+ }
35
+ }
36
+ };
@@ -0,0 +1,33 @@
1
+ export default {
2
+ /**
3
+ * Default Filesystem Disk
4
+ */
5
+ default: process.env.FILESYSTEM_DISK || 'local',
6
+
7
+ /**
8
+ * Filesystem Disks
9
+ */
10
+ disks: {
11
+ local: {
12
+ driver: 'local',
13
+ root: './storage/app',
14
+ },
15
+
16
+ public: {
17
+ driver: 'local',
18
+ root: './storage/public',
19
+ url: (process.env.APP_URL || 'http://localhost:3000') + '/storage',
20
+ },
21
+
22
+ s3: {
23
+ driver: 's3',
24
+ key: process.env.AWS_ACCESS_KEY_ID,
25
+ secret: process.env.AWS_SECRET_ACCESS_KEY,
26
+ region: process.env.AWS_DEFAULT_REGION || 'us-east-1',
27
+ bucket: process.env.AWS_BUCKET,
28
+ url: process.env.AWS_URL,
29
+ endpoint: process.env.AWS_ENDPOINT,
30
+ forcePathStyle: process.env.AWS_USE_PATH_STYLE_ENDPOINT === 'true',
31
+ },
32
+ },
33
+ };
@@ -0,0 +1,5 @@
1
+
2
+ export default {
3
+ port: parseInt(process.env.APP_PORT || '3000', 10),
4
+ host: process.env.APP_HOST || '0.0.0.0',
5
+ };
@@ -0,0 +1,35 @@
1
+ export default {
2
+ /**
3
+ * Default Log Channel
4
+ */
5
+ default: process.env.LOG_CHANNEL || 'stack',
6
+
7
+ /**
8
+ * Log Channels
9
+ */
10
+ channels: {
11
+ stack: {
12
+ driver: 'stack',
13
+ channels: ['console', 'single'],
14
+ ignore_exceptions: false,
15
+ },
16
+
17
+ single: {
18
+ driver: 'file',
19
+ path: './storage/logs/arika.log',
20
+ level: process.env.LOG_LEVEL || 'debug',
21
+ },
22
+
23
+ daily: {
24
+ driver: 'daily',
25
+ path: './storage/logs/arika.log',
26
+ level: process.env.LOG_LEVEL || 'debug',
27
+ days: 14,
28
+ },
29
+
30
+ console: {
31
+ driver: 'console',
32
+ level: process.env.LOG_LEVEL || 'debug',
33
+ },
34
+ },
35
+ };
@@ -0,0 +1,27 @@
1
+ export default {
2
+ default: process.env.MAIL_MAILER || 'log',
3
+
4
+ mailers: {
5
+ smtp: {
6
+ transport: 'smtp',
7
+ host: process.env.MAIL_HOST || '127.0.0.1',
8
+ port: Number(process.env.MAIL_PORT || 2525),
9
+ encryption: process.env.MAIL_ENCRYPTION || 'tls',
10
+ username: process.env.MAIL_USERNAME,
11
+ password: process.env.MAIL_PASSWORD,
12
+ },
13
+
14
+ log: {
15
+ transport: 'log',
16
+ },
17
+
18
+ array: {
19
+ transport: 'array',
20
+ },
21
+ },
22
+
23
+ from: {
24
+ address: process.env.MAIL_FROM_ADDRESS || 'hello@example.com',
25
+ name: process.env.MAIL_FROM_NAME || 'Example',
26
+ },
27
+ };
@@ -0,0 +1,40 @@
1
+ export default {
2
+ /**
3
+ * Default Queue Connection Name
4
+ */
5
+ default: process.env.QUEUE_CONNECTION || 'sync',
6
+
7
+ /**
8
+ * Queue Connections
9
+ */
10
+ connections: {
11
+ sync: {
12
+ driver: 'sync',
13
+ },
14
+
15
+ database: {
16
+ driver: 'database',
17
+ table: 'jobs',
18
+ queue: 'default',
19
+ retry_after: 90,
20
+ after_commit: false,
21
+ },
22
+ },
23
+
24
+ /**
25
+ * Job Batching
26
+ */
27
+ batching: {
28
+ database: process.env.DB_CONNECTION || 'mysql',
29
+ table: 'job_batches',
30
+ },
31
+
32
+ /**
33
+ * Failed Queue Jobs
34
+ */
35
+ failed: {
36
+ driver: process.env.QUEUE_FAILED_DRIVER || 'database-uuids',
37
+ database: process.env.DB_CONNECTION || 'mysql',
38
+ table: 'failed_jobs',
39
+ },
40
+ };
@@ -0,0 +1,23 @@
1
+ import { Migration, SchemaBuilder } from '@arikajs/database';
2
+
3
+ export default class CreateUsersTable extends Migration {
4
+ /**
5
+ * Run the migrations.
6
+ */
7
+ public async up(schema: SchemaBuilder): Promise<void> {
8
+ await schema.create('users', (table: any) => {
9
+ table.id();
10
+ table.string('name');
11
+ table.string('email').unique();
12
+ table.string('password');
13
+ table.timestamps();
14
+ });
15
+ }
16
+
17
+ /**
18
+ * Reverse the migrations.
19
+ */
20
+ public async down(schema: SchemaBuilder): Promise<void> {
21
+ await schema.dropIfExists('users');
22
+ }
23
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "name": "rest-api-demo",
3
+ "version": "1.0.0",
4
+ "description": "ArikaJS API Project",
5
+ "private": true,
6
+ "scripts": {
7
+ "dev": "arika serve --dev",
8
+ "start": "arika serve",
9
+ "build": "tsc"
10
+ },
11
+ "dependencies": {
12
+ "arikajs": "^0.1.4"
13
+ },
14
+ "devDependencies": {
15
+ "@arikajs/cli": "^0.1.4",
16
+ "typescript": "^5.0.0",
17
+ "tsx": "^4.0.0",
18
+ "@types/node": "^20.0.0"
19
+ },
20
+ "author": "Prakash Tank"
21
+ }