Skip to content

Commit 9d3c287

Browse files
committed
chore(optimizer): no srcInputs, fix input handling
we only need to provide default inputs when none are provided
1 parent 545087f commit 9d3c287

File tree

3 files changed

+17
-67
lines changed

3 files changed

+17
-67
lines changed

.changeset/large-houses-watch.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@qwik.dev/core': patch
3+
---
4+
5+
FIX: the `srcInput` option to `qwikVite` is deprecated because it's unused.

packages/qwik/src/optimizer/src/plugins/plugin.ts

Lines changed: 12 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -220,70 +220,33 @@ export function createQwikPlugin(optimizerOptions: OptimizerOptions = {}) {
220220
if (typeof updatedOpts.srcDir === 'string') {
221221
opts.srcDir = normalizePath(path.resolve(opts.rootDir, updatedOpts.srcDir));
222222
srcDir = opts.srcDir;
223-
opts.srcInputs = null;
224-
} else if (Array.isArray(updatedOpts.srcInputs)) {
225-
opts.srcInputs = [...updatedOpts.srcInputs];
226-
opts.srcDir = null;
227223
} else {
228224
opts.srcDir ||= srcDir;
229225
}
226+
opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir)));
230227

231228
if (Array.isArray(updatedOpts.tsconfigFileNames) && updatedOpts.tsconfigFileNames.length > 0) {
232229
opts.tsconfigFileNames = updatedOpts.tsconfigFileNames;
233230
}
234231

235-
if (Array.isArray(opts.srcInputs)) {
236-
opts.srcInputs.forEach((i) => {
237-
i.path = normalizePath(path.resolve(opts.rootDir, i.path));
238-
});
239-
} else if (typeof opts.srcDir === 'string') {
240-
opts.srcDir = normalizePath(path.resolve(opts.rootDir, normalizePath(opts.srcDir)));
241-
}
242-
243232
if (!updatedOpts.csr) {
244-
if (Array.isArray(updatedOpts.input)) {
245-
opts.input = [...updatedOpts.input];
246-
} else if (typeof updatedOpts.input === 'string') {
247-
opts.input = [updatedOpts.input];
248-
} else {
233+
if (!updatedOpts.input) {
249234
if (opts.target === 'ssr') {
250-
// ssr input default
251-
opts.input ||= [path.resolve(srcDir, 'entry.ssr')];
235+
// ssr input default - should actually never be used
236+
const ssrInput = path.resolve(srcDir, 'entry.ssr');
237+
opts.input = [ssrInput];
252238
} else if (opts.target === 'client') {
253239
// client input default
254-
opts.input ||= [path.resolve(srcDir, 'root')];
240+
const clientInput = path.resolve(srcDir, 'root');
241+
opts.input = [clientInput];
255242
} else if (opts.target === 'lib') {
256-
if (typeof updatedOpts.input === 'object') {
257-
for (const key in updatedOpts.input) {
258-
const resolvedPaths: { [key: string]: string } = {};
259-
if (Object.hasOwnProperty.call(updatedOpts.input, key)) {
260-
const relativePath = updatedOpts.input[key];
261-
const absolutePath = path.resolve(opts.rootDir, relativePath);
262-
resolvedPaths[key] = absolutePath;
263-
}
264-
265-
opts.input = { ...opts.input, ...resolvedPaths };
266-
}
267-
} else {
268-
// lib input default
269-
opts.input ||= [path.resolve(srcDir, 'index.ts')];
270-
}
243+
// lib input default
244+
const libInput = path.resolve(srcDir, 'index.ts');
245+
opts.input = [libInput];
271246
} else {
272-
opts.input ||= [];
247+
opts.input = undefined!;
273248
}
274249
}
275-
if (Array.isArray(opts.input)) {
276-
opts.input = opts.input.reduce((inputs, i) => {
277-
let input = i;
278-
if (!i.startsWith('@') && !i.startsWith('~') && !i.startsWith('#')) {
279-
input = normalizePath(path.resolve(opts.rootDir, i));
280-
}
281-
if (!inputs.includes(input)) {
282-
inputs.push(input);
283-
}
284-
return inputs;
285-
}, [] as string[]);
286-
}
287250

288251
if (typeof updatedOpts.outDir === 'string') {
289252
opts.outDir = normalizePath(path.resolve(opts.rootDir, normalizePath(updatedOpts.outDir)));
@@ -395,20 +358,6 @@ export function createQwikPlugin(optimizerOptions: OptimizerOptions = {}) {
395358
}
396359
}
397360

398-
const path = getPath();
399-
400-
if (Array.isArray(opts.srcInputs)) {
401-
optimizer.sys.getInputFiles = async (rootDir) =>
402-
opts.srcInputs!.map((i) => {
403-
const relInput: TransformModuleInput = {
404-
path: normalizePath(path.relative(rootDir, i.path)),
405-
code: i.code,
406-
};
407-
return relInput;
408-
});
409-
debug(`buildStart() opts.srcInputs (${opts.srcInputs.length} files)`);
410-
}
411-
412361
debug(`transformedOutputs.clear()`);
413362
clientTransformedOutputs.clear();
414363
serverTransformedOutputs.clear();
@@ -1177,6 +1126,7 @@ export interface QwikPluginOptions {
11771126
assetsDir?: string;
11781127
srcDir?: string | null;
11791128
scope?: string | null;
1129+
/** @deprecated Not used */
11801130
srcInputs?: TransformModuleInput[] | null;
11811131
sourcemap?: boolean;
11821132
resolveQwikBuild?: boolean;

packages/qwik/src/optimizer/src/plugins/plugin.unit.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ test('defaults', async () => {
2727
assert.deepEqual(opts.manifestInput, null);
2828
assert.deepEqual(opts.manifestOutput, null);
2929
assert.deepEqual(opts.srcDir, normalizePath(resolve(cwd, 'src')));
30-
assert.deepEqual(opts.srcInputs, null);
3130
});
3231

3332
test('defaults (buildMode: production)', async () => {
@@ -45,7 +44,6 @@ test('defaults (buildMode: production)', async () => {
4544
assert.deepEqual(opts.manifestInput, null);
4645
assert.deepEqual(opts.manifestOutput, null);
4746
assert.deepEqual(opts.srcDir, normalizePath(resolve(cwd, 'src')));
48-
assert.deepEqual(opts.srcInputs, null);
4947
assert.deepEqual(opts.entryStrategy, { type: 'smart' });
5048
});
5149

@@ -64,7 +62,6 @@ test('defaults (target: ssr)', async () => {
6462
assert.deepEqual(opts.manifestInput, null);
6563
assert.deepEqual(opts.manifestOutput, null);
6664
assert.deepEqual(opts.srcDir, normalizePath(resolve(cwd, 'src')));
67-
assert.deepEqual(opts.srcInputs, null);
6865
});
6966

7067
test('defaults (buildMode: production, target: ssr)', async () => {
@@ -82,7 +79,6 @@ test('defaults (buildMode: production, target: ssr)', async () => {
8279
assert.deepEqual(opts.manifestInput, null);
8380
assert.deepEqual(opts.manifestOutput, null);
8481
assert.deepEqual(opts.srcDir, normalizePath(resolve(cwd, 'src')));
85-
assert.deepEqual(opts.srcInputs, null);
8682
});
8783

8884
test('debug true', async () => {
@@ -124,7 +120,6 @@ test('entryStrategy, segment and srcInputs', async () => {
124120
const plugin = await mockPlugin();
125121
const opts = plugin.normalizeOptions({
126122
entryStrategy: { type: 'segment' },
127-
srcInputs: [],
128123
});
129124
assert.deepEqual(opts.entryStrategy.type, 'segment');
130125
});

0 commit comments

Comments
 (0)