Skip to content

Commit

Permalink
feat: add support for defining providers, aceProviders inside rcfile
Browse files Browse the repository at this point in the history
  • Loading branch information
thetutlage committed Nov 25, 2019
1 parent e294be7 commit 36e010f
Show file tree
Hide file tree
Showing 4 changed files with 103 additions and 1 deletion.
2 changes: 2 additions & 0 deletions adonis-typings/application.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ declare module '@ioc:Adonis/Core/Application' {
preloads: PreloadNode[],
metaFiles: MetaFileNode[],
commands: string[],
providers: string[],
aceProviders: string[],
directories: {
[key: string]: string,
},
Expand Down
14 changes: 13 additions & 1 deletion adonisrc.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,19 @@
"items": {
"type": "string"
}
},
"providers": {
"type": "array",
"items": {
"type": "string"
}
},
"aceProviders": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [ "exceptionHandlerNamespace", "typescript" ]
"required": [ "exceptionHandlerNamespace", "typescript", "providers" ]
}
4 changes: 4 additions & 0 deletions src/rcParser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ export function parse (contents: any): RcFile {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
}, contents)

return {
Expand Down Expand Up @@ -94,5 +96,7 @@ export function parse (contents: any): RcFile {
}
}),
commands: contents.commands,
providers: contents.providers,
aceProviders: contents.aceProviders,
}
}
84 changes: 84 additions & 0 deletions test/rcfile-parser.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -68,6 +70,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -107,6 +111,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -141,6 +147,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -185,6 +193,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -219,6 +229,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [{ pattern: 'foo.json', reloadServer: true }],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -253,6 +265,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [{ pattern: 'foo.json', reloadServer: false }],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -295,6 +309,8 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: [],
})
})

Expand Down Expand Up @@ -326,6 +342,74 @@ test.group('Rc Parser', () => {
autoloads: {},
metaFiles: [],
commands: ['./foo/bar'],
providers: [],
aceProviders: [],
})
})

test('define custom providers', (assert) => {
assert.deepEqual(parse({
providers: ['@adonisjs/core'],
}), {
typescript: true,
exceptionHandlerNamespace: 'App/Exceptions/Handler',
directories: {
config: 'config',
contracts: 'contracts',
providers: 'providers',
database: 'database',
migrations: 'database/migrations',
public: 'public',
resources: 'resources',
seeds: 'database/seeds',
views: 'resources/views',
start: 'start',
tmp: 'tmp',
},
namespaces: {
httpControllers: 'App/Controllers/Http',
eventListeners: 'App/Listeners',
redisListeners: 'App/Listeners',
},
preloads: [],
autoloads: {},
metaFiles: [],
commands: [],
providers: ['@adonisjs/core'],
aceProviders: [],
})
})

test('define custom commands', (assert) => {
assert.deepEqual(parse({
aceProviders: ['@adonisjs/commands'],
}), {
typescript: true,
exceptionHandlerNamespace: 'App/Exceptions/Handler',
directories: {
config: 'config',
contracts: 'contracts',
providers: 'providers',
database: 'database',
migrations: 'database/migrations',
public: 'public',
resources: 'resources',
seeds: 'database/seeds',
views: 'resources/views',
start: 'start',
tmp: 'tmp',
},
namespaces: {
httpControllers: 'App/Controllers/Http',
eventListeners: 'App/Listeners',
redisListeners: 'App/Listeners',
},
preloads: [],
autoloads: {},
metaFiles: [],
commands: [],
providers: [],
aceProviders: ['@adonisjs/commands'],
})
})
})

0 comments on commit 36e010f

Please sign in to comment.