@adonisjs/assembler 6.1.3-6 → 6.1.3-8
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/build/index.d.ts +0 -1
- package/build/index.js +8 -0
- package/build/src/assets_dev_server.d.ts +22 -1
- package/build/src/assets_dev_server.js +63 -0
- package/build/src/bundler.d.ts +9 -1
- package/build/src/bundler.js +73 -1
- package/build/src/dev_server.d.ts +28 -1
- package/build/src/dev_server.js +82 -2
- package/build/src/helpers.d.ts +31 -1
- package/build/src/helpers.js +56 -0
- package/build/src/test_runner.d.ts +28 -1
- package/build/src/test_runner.js +103 -9
- package/build/src/types.d.ts +32 -2
- package/build/src/types.js +8 -0
- package/package.json +35 -62
- package/build/index.d.ts.map +0 -1
- package/build/src/assets_dev_server.d.ts.map +0 -1
- package/build/src/bundler.d.ts.map +0 -1
- package/build/src/dev_server.d.ts.map +0 -1
- package/build/src/helpers.d.ts.map +0 -1
- package/build/src/test_runner.d.ts.map +0 -1
- package/build/src/types.d.ts.map +0 -1
- package/index.ts +0 -12
- package/src/assets_dev_server.ts +0 -182
- package/src/bundler.ts +0 -267
- package/src/dev_server.ts +0 -307
- package/src/helpers.ts +0 -162
- package/src/test_runner.ts +0 -339
- package/src/types.ts +0 -110
package/build/src/helpers.js
CHANGED
|
@@ -1,13 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/assembler
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import getRandomPort from 'get-port';
|
|
2
10
|
import { fileURLToPath } from 'node:url';
|
|
3
11
|
import { execaNode, execa } from 'execa';
|
|
4
12
|
import { EnvLoader, EnvParser } from '@adonisjs/env';
|
|
5
13
|
import { ConfigParser, Watcher } from '@poppinss/chokidar-ts';
|
|
14
|
+
/**
|
|
15
|
+
* Default set of args to pass in order to run TypeScript
|
|
16
|
+
* source. Used by "run" and "runNode" scripts
|
|
17
|
+
*/
|
|
6
18
|
const DEFAULT_NODE_ARGS = [
|
|
19
|
+
// Use ts-node/esm loader. The project must install it
|
|
7
20
|
'--loader=ts-node/esm',
|
|
21
|
+
// Disable annonying warnings
|
|
8
22
|
'--no-warnings',
|
|
23
|
+
// Enable expiremental meta resolve for cases where someone uses magic import string
|
|
9
24
|
'--experimental-import-meta-resolve',
|
|
10
25
|
];
|
|
26
|
+
/**
|
|
27
|
+
* Parses tsconfig.json and prints errors using typescript compiler
|
|
28
|
+
* host
|
|
29
|
+
*/
|
|
11
30
|
export function parseConfig(cwd, ts) {
|
|
12
31
|
const { config, error } = new ConfigParser(cwd, 'tsconfig.json', ts).parse();
|
|
13
32
|
if (error) {
|
|
@@ -22,6 +41,9 @@ export function parseConfig(cwd, ts) {
|
|
|
22
41
|
}
|
|
23
42
|
return config;
|
|
24
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Runs a Node.js script as a child process and inherits the stdio streams
|
|
46
|
+
*/
|
|
25
47
|
export function runNode(cwd, options) {
|
|
26
48
|
const childProcess = execaNode(options.script, options.scriptArgs, {
|
|
27
49
|
nodeOptions: DEFAULT_NODE_ARGS.concat(options.nodeArgs),
|
|
@@ -38,6 +60,9 @@ export function runNode(cwd, options) {
|
|
|
38
60
|
});
|
|
39
61
|
return childProcess;
|
|
40
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Runs a script as a child process and inherits the stdio streams
|
|
65
|
+
*/
|
|
41
66
|
export function run(cwd, options) {
|
|
42
67
|
const childProcess = execa(options.script, options.scriptArgs, {
|
|
43
68
|
preferLocal: true,
|
|
@@ -53,6 +78,9 @@ export function run(cwd, options) {
|
|
|
53
78
|
});
|
|
54
79
|
return childProcess;
|
|
55
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Watches the file system using tsconfig file
|
|
83
|
+
*/
|
|
56
84
|
export function watch(cwd, ts, options) {
|
|
57
85
|
const config = parseConfig(cwd, ts);
|
|
58
86
|
if (!config) {
|
|
@@ -62,19 +90,44 @@ export function watch(cwd, ts, options) {
|
|
|
62
90
|
const chokidar = watcher.watch(['.'], { usePolling: options.poll });
|
|
63
91
|
return { watcher, chokidar };
|
|
64
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if file is an .env file
|
|
95
|
+
*/
|
|
65
96
|
export function isDotEnvFile(filePath) {
|
|
66
97
|
if (filePath === '.env') {
|
|
67
98
|
return true;
|
|
68
99
|
}
|
|
69
100
|
return filePath.includes('.env.');
|
|
70
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Check if file is .adonisrc.json file
|
|
104
|
+
*/
|
|
71
105
|
export function isRcFile(filePath) {
|
|
72
106
|
return filePath === '.adonisrc.json';
|
|
73
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* Returns the port to use after inspect the dot-env files inside
|
|
110
|
+
* a given directory.
|
|
111
|
+
*
|
|
112
|
+
* A random port is used when the specified port is in use. Following
|
|
113
|
+
* is the logic for finding a specified port.
|
|
114
|
+
*
|
|
115
|
+
* - The "process.env.PORT" value is used if exists.
|
|
116
|
+
* - The dot-env files are loaded using the "EnvLoader" and the PORT
|
|
117
|
+
* value is by iterating over all the loaded files. The iteration
|
|
118
|
+
* stops after first find.
|
|
119
|
+
*/
|
|
74
120
|
export async function getPort(cwd) {
|
|
121
|
+
/**
|
|
122
|
+
* Use existing port if exists
|
|
123
|
+
*/
|
|
75
124
|
if (process.env.PORT) {
|
|
76
125
|
return getRandomPort({ port: Number(process.env.PORT) });
|
|
77
126
|
}
|
|
127
|
+
/**
|
|
128
|
+
* Loop over files and use the port from their contents. Stops
|
|
129
|
+
* after first match
|
|
130
|
+
*/
|
|
78
131
|
const files = await new EnvLoader(cwd).load();
|
|
79
132
|
for (let file of files) {
|
|
80
133
|
const envVariables = new EnvParser(file.contents).parse();
|
|
@@ -82,5 +135,8 @@ export async function getPort(cwd) {
|
|
|
82
135
|
return getRandomPort({ port: Number(envVariables.PORT) });
|
|
83
136
|
}
|
|
84
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Use 3333 as the port
|
|
140
|
+
*/
|
|
85
141
|
return getRandomPort({ port: 3333 });
|
|
86
142
|
}
|
|
@@ -2,15 +2,42 @@
|
|
|
2
2
|
import type tsStatic from 'typescript';
|
|
3
3
|
import { type Logger } from '@poppinss/cliui';
|
|
4
4
|
import type { TestRunnerOptions } from './types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Exposes the API to start the development. Optionally, the watch API can be
|
|
7
|
+
* used to watch for file changes and restart the development server.
|
|
8
|
+
*
|
|
9
|
+
* The Dev server performs the following actions
|
|
10
|
+
*
|
|
11
|
+
* - Assigns a random PORT, when PORT inside .env file is in use
|
|
12
|
+
* - Uses tsconfig.json file to collect a list of files to watch.
|
|
13
|
+
* - Uses metaFiles from .adonisrc.json file to collect a list of files to watch.
|
|
14
|
+
* - Restart HTTP server on every file change.
|
|
15
|
+
*/
|
|
5
16
|
export declare class TestRunner {
|
|
6
17
|
#private;
|
|
7
18
|
constructor(cwd: URL, options: TestRunnerOptions);
|
|
19
|
+
/**
|
|
20
|
+
* Set a custom CLI UI logger
|
|
21
|
+
*/
|
|
8
22
|
setLogger(logger: Logger): this;
|
|
23
|
+
/**
|
|
24
|
+
* Add listener to get notified when dev server is
|
|
25
|
+
* closed
|
|
26
|
+
*/
|
|
9
27
|
onClose(callback: (exitCode: number) => any): this;
|
|
28
|
+
/**
|
|
29
|
+
* Add listener to get notified when dev server exists
|
|
30
|
+
* with an error
|
|
31
|
+
*/
|
|
10
32
|
onError(callback: (error: any) => any): this;
|
|
33
|
+
/**
|
|
34
|
+
* Runs tests
|
|
35
|
+
*/
|
|
11
36
|
run(): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Run tests in watch mode
|
|
39
|
+
*/
|
|
12
40
|
runAndWatch(ts: typeof tsStatic, options?: {
|
|
13
41
|
poll: boolean;
|
|
14
42
|
}): Promise<void>;
|
|
15
43
|
}
|
|
16
|
-
//# sourceMappingURL=test_runner.d.ts.map
|
package/build/src/test_runner.js
CHANGED
|
@@ -1,8 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* @adonisjs/assembler
|
|
3
|
+
*
|
|
4
|
+
* (c) AdonisJS
|
|
5
|
+
*
|
|
6
|
+
* For the full copyright and license information, please view the LICENSE
|
|
7
|
+
* file that was distributed with this source code.
|
|
8
|
+
*/
|
|
1
9
|
import picomatch from 'picomatch';
|
|
2
10
|
import { cliui } from '@poppinss/cliui';
|
|
3
11
|
import { AssetsDevServer } from './assets_dev_server.js';
|
|
4
12
|
import { getPort, isDotEnvFile, runNode, watch } from './helpers.js';
|
|
13
|
+
/**
|
|
14
|
+
* Instance of CLIUI
|
|
15
|
+
*/
|
|
5
16
|
const ui = cliui();
|
|
17
|
+
/**
|
|
18
|
+
* Exposes the API to start the development. Optionally, the watch API can be
|
|
19
|
+
* used to watch for file changes and restart the development server.
|
|
20
|
+
*
|
|
21
|
+
* The Dev server performs the following actions
|
|
22
|
+
*
|
|
23
|
+
* - Assigns a random PORT, when PORT inside .env file is in use
|
|
24
|
+
* - Uses tsconfig.json file to collect a list of files to watch.
|
|
25
|
+
* - Uses metaFiles from .adonisrc.json file to collect a list of files to watch.
|
|
26
|
+
* - Restart HTTP server on every file change.
|
|
27
|
+
*/
|
|
6
28
|
export class TestRunner {
|
|
7
29
|
#cwd;
|
|
8
30
|
#logger = ui.logger;
|
|
@@ -10,12 +32,21 @@ export class TestRunner {
|
|
|
10
32
|
#scriptFile = 'bin/test.js';
|
|
11
33
|
#isMetaFile;
|
|
12
34
|
#isTestFile;
|
|
35
|
+
/**
|
|
36
|
+
* In watch mode, after a file is changed, we wait for the current
|
|
37
|
+
* set of tests to finish before triggering a re-run. Therefore,
|
|
38
|
+
* we use this flag to know if we are already busy in running
|
|
39
|
+
* tests and ignore file-changes.
|
|
40
|
+
*/
|
|
13
41
|
#isBusy = false;
|
|
14
42
|
#onError;
|
|
15
43
|
#onClose;
|
|
16
44
|
#testScript;
|
|
17
45
|
#watcher;
|
|
18
46
|
#assetsServer;
|
|
47
|
+
/**
|
|
48
|
+
* Getting reference to colors library from logger
|
|
49
|
+
*/
|
|
19
50
|
get #colors() {
|
|
20
51
|
return this.#logger.getColors();
|
|
21
52
|
}
|
|
@@ -33,6 +64,13 @@ export class TestRunner {
|
|
|
33
64
|
.map((suite) => suite.files)
|
|
34
65
|
.flat(1));
|
|
35
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Converts all known filters to CLI args.
|
|
69
|
+
*
|
|
70
|
+
* The following code snippet may seem like repetitive code. But, it
|
|
71
|
+
* is done intentionally to have visibility around how each filter
|
|
72
|
+
* is converted to an arg.
|
|
73
|
+
*/
|
|
36
74
|
#convertFiltersToArgs(filters) {
|
|
37
75
|
const args = [];
|
|
38
76
|
if (filters.suites) {
|
|
@@ -58,17 +96,19 @@ export class TestRunner {
|
|
|
58
96
|
args.push('--ignore-tests');
|
|
59
97
|
args.push(filters.tests.join(','));
|
|
60
98
|
}
|
|
61
|
-
if (filters.match) {
|
|
62
|
-
args.push('--match');
|
|
63
|
-
args.push(filters.match.join(','));
|
|
64
|
-
}
|
|
65
99
|
return args;
|
|
66
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Conditionally clear the terminal screen
|
|
103
|
+
*/
|
|
67
104
|
#clearScreen() {
|
|
68
105
|
if (this.#options.clearScreen) {
|
|
69
106
|
process.stdout.write('\u001Bc');
|
|
70
107
|
}
|
|
71
108
|
}
|
|
109
|
+
/**
|
|
110
|
+
* Runs tests
|
|
111
|
+
*/
|
|
72
112
|
#runTests(port, filtersArgs, mode) {
|
|
73
113
|
this.#isBusy = true;
|
|
74
114
|
this.#testScript = runNode(this.#cwd, {
|
|
@@ -86,21 +126,32 @@ export class TestRunner {
|
|
|
86
126
|
}
|
|
87
127
|
})
|
|
88
128
|
.catch((error) => {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Since the tests runner set the `process.exitCode = 1`, execa will
|
|
131
|
+
* throw an exception. However, we should ignore it and keep the
|
|
132
|
+
* watcher on.
|
|
133
|
+
*/
|
|
134
|
+
if (mode === 'nonblocking') {
|
|
135
|
+
this.#onError?.(error);
|
|
136
|
+
this.#watcher?.close();
|
|
137
|
+
this.#assetsServer?.stop();
|
|
138
|
+
}
|
|
94
139
|
})
|
|
95
140
|
.finally(() => {
|
|
96
141
|
this.#isBusy = false;
|
|
97
142
|
});
|
|
98
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* Starts the assets server
|
|
146
|
+
*/
|
|
99
147
|
#startAssetsServer() {
|
|
100
148
|
this.#assetsServer = new AssetsDevServer(this.#cwd, this.#options.assets);
|
|
101
149
|
this.#assetsServer.setLogger(this.#logger);
|
|
102
150
|
this.#assetsServer.start();
|
|
103
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Handles a non TypeScript file change
|
|
154
|
+
*/
|
|
104
155
|
#handleFileChange(action, port, filters, relativePath) {
|
|
105
156
|
if (this.#isBusy) {
|
|
106
157
|
return;
|
|
@@ -111,12 +162,19 @@ export class TestRunner {
|
|
|
111
162
|
this.#runTests(port, filters, 'blocking');
|
|
112
163
|
}
|
|
113
164
|
}
|
|
165
|
+
/**
|
|
166
|
+
* Handles TypeScript source file change
|
|
167
|
+
*/
|
|
114
168
|
#handleSourceFileChange(action, port, filters, relativePath) {
|
|
115
169
|
if (this.#isBusy) {
|
|
116
170
|
return;
|
|
117
171
|
}
|
|
118
172
|
this.#clearScreen();
|
|
119
173
|
this.#logger.log(`${this.#colors.green(action)} ${relativePath}`);
|
|
174
|
+
/**
|
|
175
|
+
* If changed file is a test file after considering the initial filters,
|
|
176
|
+
* then only run that file
|
|
177
|
+
*/
|
|
120
178
|
if (this.#isTestFile(relativePath)) {
|
|
121
179
|
this.#runTests(port, this.#convertFiltersToArgs({
|
|
122
180
|
...this.#options.filters,
|
|
@@ -126,19 +184,33 @@ export class TestRunner {
|
|
|
126
184
|
}
|
|
127
185
|
this.#runTests(port, filters, 'blocking');
|
|
128
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Set a custom CLI UI logger
|
|
189
|
+
*/
|
|
129
190
|
setLogger(logger) {
|
|
130
191
|
this.#logger = logger;
|
|
131
192
|
this.#assetsServer?.setLogger(logger);
|
|
132
193
|
return this;
|
|
133
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* Add listener to get notified when dev server is
|
|
197
|
+
* closed
|
|
198
|
+
*/
|
|
134
199
|
onClose(callback) {
|
|
135
200
|
this.#onClose = callback;
|
|
136
201
|
return this;
|
|
137
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Add listener to get notified when dev server exists
|
|
205
|
+
* with an error
|
|
206
|
+
*/
|
|
138
207
|
onError(callback) {
|
|
139
208
|
this.#onError = callback;
|
|
140
209
|
return this;
|
|
141
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Runs tests
|
|
213
|
+
*/
|
|
142
214
|
async run() {
|
|
143
215
|
const port = String(await getPort(this.#cwd));
|
|
144
216
|
const initialFilters = this.#convertFiltersToArgs(this.#options.filters);
|
|
@@ -147,6 +219,9 @@ export class TestRunner {
|
|
|
147
219
|
this.#logger.info('booting application to run tests...');
|
|
148
220
|
this.#runTests(port, initialFilters, 'nonblocking');
|
|
149
221
|
}
|
|
222
|
+
/**
|
|
223
|
+
* Run tests in watch mode
|
|
224
|
+
*/
|
|
150
225
|
async runAndWatch(ts, options) {
|
|
151
226
|
const port = String(await getPort(this.#cwd));
|
|
152
227
|
const initialFilters = this.#convertFiltersToArgs(this.#options.filters);
|
|
@@ -154,24 +229,43 @@ export class TestRunner {
|
|
|
154
229
|
this.#startAssetsServer();
|
|
155
230
|
this.#logger.info('booting application to run tests...');
|
|
156
231
|
this.#runTests(port, initialFilters, 'blocking');
|
|
232
|
+
/**
|
|
233
|
+
* Create watcher using tsconfig.json file
|
|
234
|
+
*/
|
|
157
235
|
const output = watch(this.#cwd, ts, options || {});
|
|
158
236
|
if (!output) {
|
|
159
237
|
this.#onClose?.(1);
|
|
160
238
|
return;
|
|
161
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* Storing reference to watcher, so that we can close it
|
|
242
|
+
* when HTTP server exists with error
|
|
243
|
+
*/
|
|
162
244
|
this.#watcher = output.chokidar;
|
|
245
|
+
/**
|
|
246
|
+
* Notify the watcher is ready
|
|
247
|
+
*/
|
|
163
248
|
output.watcher.on('watcher:ready', () => {
|
|
164
249
|
this.#logger.info('watching file system for changes...');
|
|
165
250
|
});
|
|
251
|
+
/**
|
|
252
|
+
* Cleanup when watcher dies
|
|
253
|
+
*/
|
|
166
254
|
output.chokidar.on('error', (error) => {
|
|
167
255
|
this.#logger.warning('file system watcher failure');
|
|
168
256
|
this.#logger.fatal(error);
|
|
169
257
|
this.#onError?.(error);
|
|
170
258
|
output.chokidar.close();
|
|
171
259
|
});
|
|
260
|
+
/**
|
|
261
|
+
* Changes in TypeScript source file
|
|
262
|
+
*/
|
|
172
263
|
output.watcher.on('source:add', ({ relativePath }) => this.#handleSourceFileChange('add', port, initialFilters, relativePath));
|
|
173
264
|
output.watcher.on('source:change', ({ relativePath }) => this.#handleSourceFileChange('update', port, initialFilters, relativePath));
|
|
174
265
|
output.watcher.on('source:unlink', ({ relativePath }) => this.#handleSourceFileChange('delete', port, initialFilters, relativePath));
|
|
266
|
+
/**
|
|
267
|
+
* Changes in non-TypeScript source files
|
|
268
|
+
*/
|
|
175
269
|
output.watcher.on('add', ({ relativePath }) => this.#handleFileChange('add', port, initialFilters, relativePath));
|
|
176
270
|
output.watcher.on('change', ({ relativePath }) => this.#handleFileChange('update', port, initialFilters, relativePath));
|
|
177
271
|
output.watcher.on('unlink', ({ relativePath }) => this.#handleFileChange('delete', port, initialFilters, relativePath));
|
package/build/src/types.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
/**
|
|
3
|
+
* Options needed to run a script file
|
|
4
|
+
*/
|
|
2
5
|
export type RunOptions = {
|
|
3
6
|
script: string;
|
|
4
7
|
scriptArgs: string[];
|
|
@@ -6,17 +9,29 @@ export type RunOptions = {
|
|
|
6
9
|
stdio?: 'pipe' | 'inherit';
|
|
7
10
|
env?: NodeJS.ProcessEnv;
|
|
8
11
|
};
|
|
12
|
+
/**
|
|
13
|
+
* Watcher options
|
|
14
|
+
*/
|
|
9
15
|
export type WatchOptions = {
|
|
10
16
|
poll?: boolean;
|
|
11
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Meta file config defined in ".adonisrc.json" file
|
|
20
|
+
*/
|
|
12
21
|
export type MetaFile = {
|
|
13
22
|
pattern: string;
|
|
14
23
|
reloadServer: boolean;
|
|
15
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Test suite defined in ".adonisrc.json" file
|
|
27
|
+
*/
|
|
16
28
|
export type Suite = {
|
|
17
29
|
files: string[];
|
|
18
30
|
name: string;
|
|
19
31
|
};
|
|
32
|
+
/**
|
|
33
|
+
* Options accepted by assets bundler
|
|
34
|
+
*/
|
|
20
35
|
export type AssetsBundlerOptions = {
|
|
21
36
|
serve: false;
|
|
22
37
|
args?: string[];
|
|
@@ -28,6 +43,9 @@ export type AssetsBundlerOptions = {
|
|
|
28
43
|
driver: string;
|
|
29
44
|
cmd: string;
|
|
30
45
|
};
|
|
46
|
+
/**
|
|
47
|
+
* Options accepted by the dev server
|
|
48
|
+
*/
|
|
31
49
|
export type DevServerOptions = {
|
|
32
50
|
scriptArgs: string[];
|
|
33
51
|
nodeArgs: string[];
|
|
@@ -36,16 +54,26 @@ export type DevServerOptions = {
|
|
|
36
54
|
metaFiles?: MetaFile[];
|
|
37
55
|
assets?: AssetsBundlerOptions;
|
|
38
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* Options accepted by the test runner
|
|
59
|
+
*/
|
|
39
60
|
export type TestRunnerOptions = {
|
|
61
|
+
/**
|
|
62
|
+
* Filter arguments are provided as a key-value
|
|
63
|
+
* pair, so that we can mutate them (if needed)
|
|
64
|
+
*/
|
|
40
65
|
filters: Partial<{
|
|
41
66
|
tests: string[];
|
|
42
67
|
suites: string[];
|
|
43
68
|
groups: string[];
|
|
44
69
|
files: string[];
|
|
45
|
-
match: string[];
|
|
46
70
|
tags: string[];
|
|
47
71
|
ignoreTags: string[];
|
|
48
72
|
}>;
|
|
73
|
+
/**
|
|
74
|
+
* All other tags are provided as a collection of
|
|
75
|
+
* arguments
|
|
76
|
+
*/
|
|
49
77
|
scriptArgs: string[];
|
|
50
78
|
nodeArgs: string[];
|
|
51
79
|
clearScreen?: boolean;
|
|
@@ -54,8 +82,10 @@ export type TestRunnerOptions = {
|
|
|
54
82
|
assets?: AssetsBundlerOptions;
|
|
55
83
|
suites: Suite[];
|
|
56
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Options accepted by the project bundler
|
|
87
|
+
*/
|
|
57
88
|
export type BundlerOptions = {
|
|
58
89
|
metaFiles?: MetaFile[];
|
|
59
90
|
assets?: AssetsBundlerOptions;
|
|
60
91
|
};
|
|
61
|
-
//# sourceMappingURL=types.d.ts.map
|
package/build/src/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonisjs/assembler",
|
|
3
|
-
"version": "6.1.3-
|
|
3
|
+
"version": "6.1.3-8",
|
|
4
4
|
"description": "Provides utilities to run AdonisJS development server and build project for production",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
|
-
"src",
|
|
9
|
-
"index.ts",
|
|
10
8
|
"build/src",
|
|
11
9
|
"build/index.d.ts",
|
|
12
|
-
"build/index.d.ts.map",
|
|
13
10
|
"build/index.js"
|
|
14
11
|
],
|
|
15
12
|
"exports": {
|
|
16
13
|
".": "./build/index.js",
|
|
17
14
|
"./types": "./build/src/types.js"
|
|
18
15
|
},
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=18.16.0"
|
|
18
|
+
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"pretest": "npm run lint",
|
|
21
|
-
"test": "cross-env NODE_DEBUG=chokidar:ts c8 npm run
|
|
21
|
+
"test": "cross-env NODE_DEBUG=chokidar:ts c8 npm run quick:test",
|
|
22
22
|
"lint": "eslint . --ext=.ts",
|
|
23
23
|
"clean": "del-cli build",
|
|
24
|
+
"typecheck": "tsc --noEmit",
|
|
24
25
|
"compile": "npm run lint && npm run clean && tsc",
|
|
25
26
|
"build": "npm run compile",
|
|
26
27
|
"release": "np",
|
|
@@ -28,7 +29,7 @@
|
|
|
28
29
|
"sync-labels": "github-label-sync --labels .github/labels.json adonisjs/assembler",
|
|
29
30
|
"format": "prettier --write .",
|
|
30
31
|
"prepublishOnly": "npm run build",
|
|
31
|
-
"
|
|
32
|
+
"quick:test": "node --loader=ts-node/esm bin/test.ts"
|
|
32
33
|
},
|
|
33
34
|
"keywords": [
|
|
34
35
|
"adonisjs",
|
|
@@ -38,40 +39,38 @@
|
|
|
38
39
|
"author": "virk,adonisjs",
|
|
39
40
|
"license": "MIT",
|
|
40
41
|
"devDependencies": {
|
|
41
|
-
"@
|
|
42
|
-
"@
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
45
|
-
"@
|
|
46
|
-
"@japa/
|
|
47
|
-
"@japa/
|
|
48
|
-
"@
|
|
49
|
-
"@
|
|
50
|
-
"
|
|
42
|
+
"@adonisjs/eslint-config": "^1.1.7",
|
|
43
|
+
"@adonisjs/prettier-config": "^1.1.7",
|
|
44
|
+
"@adonisjs/tsconfig": "^1.1.7",
|
|
45
|
+
"@commitlint/cli": "^17.6.6",
|
|
46
|
+
"@commitlint/config-conventional": "^17.6.6",
|
|
47
|
+
"@japa/assert": "^2.0.0-1",
|
|
48
|
+
"@japa/file-system": "^2.0.0-1",
|
|
49
|
+
"@japa/runner": "^3.0.0-3",
|
|
50
|
+
"@swc/core": "^1.3.67",
|
|
51
|
+
"@types/node": "^20.3.3",
|
|
52
|
+
"@types/picomatch": "^2.3.0",
|
|
53
|
+
"c8": "^8.0.0",
|
|
51
54
|
"cross-env": "^7.0.3",
|
|
52
55
|
"del-cli": "^5.0.0",
|
|
53
|
-
"eslint": "^8.
|
|
54
|
-
"eslint-config-prettier": "^8.8.0",
|
|
55
|
-
"eslint-plugin-adonis": "^3.0.3",
|
|
56
|
-
"eslint-plugin-prettier": "^4.2.1",
|
|
56
|
+
"eslint": "^8.44.0",
|
|
57
57
|
"github-label-sync": "^2.3.1",
|
|
58
58
|
"husky": "^8.0.3",
|
|
59
|
-
"np": "^
|
|
60
|
-
"p-event": "^
|
|
61
|
-
"prettier": "^2.8.
|
|
59
|
+
"np": "^8.0.4",
|
|
60
|
+
"p-event": "^6.0.0",
|
|
61
|
+
"prettier": "^2.8.8",
|
|
62
62
|
"ts-node": "^10.9.1",
|
|
63
|
-
"typescript": "^5.
|
|
63
|
+
"typescript": "^5.1.6"
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@adonisjs/env": "^4.2.0-
|
|
67
|
-
"@poppinss/chokidar-ts": "^4.1.0-
|
|
68
|
-
"@poppinss/cliui": "^6.1.1-
|
|
69
|
-
"
|
|
70
|
-
"cpy": "^9.0.1",
|
|
66
|
+
"@adonisjs/env": "^4.2.0-3",
|
|
67
|
+
"@poppinss/chokidar-ts": "^4.1.0-4",
|
|
68
|
+
"@poppinss/cliui": "^6.1.1-3",
|
|
69
|
+
"cpy": "^8.1.2",
|
|
71
70
|
"execa": "^7.0.0",
|
|
72
|
-
"get-port": "^
|
|
71
|
+
"get-port": "^7.0.0",
|
|
73
72
|
"picomatch": "^2.3.1",
|
|
74
|
-
"slash": "^5.
|
|
73
|
+
"slash": "^5.1.0"
|
|
75
74
|
},
|
|
76
75
|
"peerDependencies": {
|
|
77
76
|
"typescript": "^4.0.0 || ^5.0.0"
|
|
@@ -84,36 +83,6 @@
|
|
|
84
83
|
"url": "https://github.com/adonisjs/assembler/issues"
|
|
85
84
|
},
|
|
86
85
|
"homepage": "https://github.com/adonisjs/assembler#readme",
|
|
87
|
-
"eslintConfig": {
|
|
88
|
-
"extends": [
|
|
89
|
-
"plugin:adonis/typescriptPackage",
|
|
90
|
-
"prettier"
|
|
91
|
-
],
|
|
92
|
-
"plugins": [
|
|
93
|
-
"prettier"
|
|
94
|
-
],
|
|
95
|
-
"rules": {
|
|
96
|
-
"prettier/prettier": [
|
|
97
|
-
"error",
|
|
98
|
-
{
|
|
99
|
-
"endOfLine": "auto"
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
|
-
"eslintIgnore": [
|
|
105
|
-
"build"
|
|
106
|
-
],
|
|
107
|
-
"prettier": {
|
|
108
|
-
"trailingComma": "es5",
|
|
109
|
-
"semi": false,
|
|
110
|
-
"singleQuote": true,
|
|
111
|
-
"useTabs": false,
|
|
112
|
-
"quoteProps": "consistent",
|
|
113
|
-
"bracketSpacing": true,
|
|
114
|
-
"arrowParens": "always",
|
|
115
|
-
"printWidth": 100
|
|
116
|
-
},
|
|
117
86
|
"commitlint": {
|
|
118
87
|
"extends": [
|
|
119
88
|
"@commitlint/config-conventional"
|
|
@@ -139,5 +108,9 @@
|
|
|
139
108
|
"build/**",
|
|
140
109
|
"examples/**"
|
|
141
110
|
]
|
|
142
|
-
}
|
|
111
|
+
},
|
|
112
|
+
"eslintConfig": {
|
|
113
|
+
"extends": "@adonisjs/eslint-config/package"
|
|
114
|
+
},
|
|
115
|
+
"prettier": "@adonisjs/prettier-config"
|
|
143
116
|
}
|
package/build/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"assets_dev_server.d.ts","sourceRoot":"","sources":["../../src/assets_dev_server.ts"],"names":[],"mappings":";AAUA,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,iBAAiB,CAAA;AAGpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAkBtD,qBAAa,eAAe;;gBAad,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,oBAAoB;IAgEpD,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,KAAK;IAwDL,IAAI;CAOL"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/bundler.ts"],"names":[],"mappings":";AAYA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAGtC,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAUhD,qBAAa,OAAO;;gBAcN,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,QAAQ,EAAE,OAAO,EAAE,cAAc;IAkIlE,SAAS,CAAC,MAAM,EAAE,MAAM;IAQlB,MAAM,CACV,WAAW,GAAE,OAAc,EAC3B,MAAM,GAAE,KAAK,GAAG,MAAM,GAAG,MAAc,GACtC,OAAO,CAAC,OAAO,CAAC;CAmFpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dev_server.d.ts","sourceRoot":"","sources":["../../src/dev_server.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAoBlD,qBAAa,SAAS;;gBAuBR,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,gBAAgB;IA8I/C,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GAAG,IAAI;IASlD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAQtC,KAAK;IAUL,aAAa,CAAC,EAAE,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE;CAqErE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAItC,OAAO,EAAgB,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAmB1D,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,QAAQ,0CAejE;AAKD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,6CAgB7D;AAKD,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,6CAe3E;AAKD,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,QAAQ,EAAE,OAAO,EAAE,YAAY;;;cASlF;AAKD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,WAM5C;AAKD,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,WAExC;AAcD,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAwBvD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/test_runner.ts"],"names":[],"mappings":";AAUA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAA;AAEtC,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAoBnD,qBAAa,UAAU;;gBA8BT,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB;IAoKhD,SAAS,CAAC,MAAM,EAAE,MAAM;IAUxB,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,GAAG,IAAI;IASlD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAQtC,GAAG;IAcH,WAAW,CAAC,EAAE,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE;CAoEnE"}
|
package/build/src/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAYA,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;CACxB,CAAA;AAKD,MAAM,MAAM,YAAY,GAAG;IACzB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA;AAKD,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;CACtB,CAAA;AAKD,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAKD,MAAM,MAAM,oBAAoB,GAC5B;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GACD;IACE,KAAK,EAAE,IAAI,CAAA;IACX,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAKL,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAA;CAC9B,CAAA;AAKD,MAAM,MAAM,iBAAiB,GAAG;IAK9B,OAAO,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,MAAM,EAAE,MAAM,EAAE,CAAA;QAChB,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,UAAU,EAAE,MAAM,EAAE,CAAA;KACrB,CAAC,CAAA;IAMF,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAA;IAC7B,MAAM,EAAE,KAAK,EAAE,CAAA;CAChB,CAAA;AAKD,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAA;IACtB,MAAM,CAAC,EAAE,oBAAoB,CAAA;CAC9B,CAAA"}
|