Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/unit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: Check licenses are up to date
run: node ./scripts/tasks/generate-license-files.js --test
- name: Verify @lwc/shared is tree-shakable
run: node ./scripts/tasks/verify-treeshakable.js ./packages/@lwc/shared/dist/index.js
run: node ./scripts/tasks/verify-treeshakable.mjs ./packages/@lwc/shared/dist/index.js
- name: Verify that dependencies are declared
run: node ./scripts/tasks/check-imports-are-declared-dependencies.js
- name: Check formatting
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-push
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set -e
node ./scripts/tasks/check-and-rewrite-package-json.js --test
node ./scripts/tasks/generate-license-files.js --test
node ./scripts/tasks/verify-treeshakable.js ./packages/@lwc/shared/dist/index.js
node ./scripts/tasks/verify-treeshakable.mjs ./packages/@lwc/shared/dist/index.js
node ./scripts/tasks/check-imports-are-declared-dependencies.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { describe } from 'vitest';
import { transformSync } from '@babel/core';
import { LWC_VERSION, HIGHEST_API_VERSION } from '@lwc/shared';
import { testFixtureDir } from '@lwc/test-utils-lwc-internals';
import plugin from '../index';
import plugin, { type LwcBabelPluginOptions } from '../index';

const BASE_OPTS = {
namespace: 'lwc',
Expand Down Expand Up @@ -62,7 +62,7 @@ function transform(source: string, opts = {}) {
}

describe('fixtures', () => {
testFixtureDir(
testFixtureDir<LwcBabelPluginOptions>(
{
root: path.resolve(__dirname, 'fixtures'),
pattern: '**/actual.js',
Expand Down
49 changes: 27 additions & 22 deletions packages/@lwc/engine-server/src/__tests__/fixtures.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,36 +9,38 @@ import path from 'node:path';
import { vi, describe, beforeAll, afterAll } from 'vitest';
import { rollup } from 'rollup';
import lwcRollupPlugin from '@lwc/rollup-plugin';
import { testFixtureDir, formatHTML } from '@lwc/test-utils-lwc-internals';
import { testFixtureDir, formatHTML, pluginVirtual } from '@lwc/test-utils-lwc-internals';
import { setFeatureFlagForTest } from '../index';
import type { LightningElementConstructor } from '@lwc/engine-core/dist/framework/base-lightning-element';
import type { RollupLwcOptions } from '@lwc/rollup-plugin';
import type * as lwc from '../index';

interface FixtureModule {
default: typeof lwc.LightningElement;
props?: { [key: string]: unknown };
}

vi.mock('lwc', async () => {
const lwcEngineServer = await import('../index');
try {
lwcEngineServer.setHooks({
sanitizeHtmlContent(content: unknown) {
return content as string;
},
});
lwcEngineServer.setHooks({ sanitizeHtmlContent: String });
} catch (_err) {
// Ignore error if the hook is already overridden
}
return lwcEngineServer;
});

interface FixtureConfig {
/**
* Component name that serves as the entrypoint / root component of the fixture.
* @example x/test
*/
entry: string;

/** Props to provide to the root component. */
props?: Record<string, string>;
}

async function compileFixture({
input,
entry,
dirname,
options,
}: {
input: string;
entry: string;
dirname: string;
options?: RollupLwcOptions;
}) {
Expand All @@ -48,11 +50,13 @@ async function compileFixture({
.join('-') || 'default';
const modulesDir = path.resolve(dirname, './modules');
const outputFile = path.resolve(dirname, `./dist/compiled-${optionsAsString}.js`);
const input = 'virtual/fixture/test.js';

const bundle = await rollup({
input,
external: ['lwc', 'vitest'],
external: ['lwc', '@lwc/ssr-runtime', 'vitest'],
plugins: [
pluginVirtual(`export { default } from "${entry}";`, input),
lwcRollupPlugin({
enableDynamicComponents: true,
experimentalDynamicComponent: {
Expand Down Expand Up @@ -95,23 +99,23 @@ async function compileFixture({
}

function testFixtures(options?: RollupLwcOptions) {
testFixtureDir(
testFixtureDir<FixtureConfig>(
{
root: path.resolve(__dirname, 'fixtures'),
pattern: '**/index.js',
pattern: '**/config.json',
},
async ({ filename, dirname, config }) => {
async ({ dirname, config }) => {
let compiledFixturePath;

try {
compiledFixturePath = await compileFixture({
input: filename,
entry: config!.entry,
dirname,
options,
});
} catch (err: any) {
// Filter out the stacktrace, just include the LWC error message
const message = err?.message?.match(/(LWC\d+[^\n]+)/)?.[1];
const message = err?.message?.match(/(LWC\d+[^\n]+)/)?.[1] ?? err.message;
return {
'expected.html': '',
'error.txt': message,
Expand All @@ -128,9 +132,10 @@ function testFixtures(options?: RollupLwcOptions) {
let result;
let err;
try {
const { default: module } = (await import(compiledFixturePath)) as FixtureModule;
const module: LightningElementConstructor = (await import(compiledFixturePath))
.default;
result = formatHTML(
lwcEngineServer!.renderComponent('fixture-test', module, config?.props ?? {})
lwcEngineServer.renderComponent('fixture-test', module, config?.props ?? {})
);
} catch (_err: any) {
if (_err?.name === 'AssertionError') {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/comments-text"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/cmp"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/cmp"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/parent"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/attribute-boolean-expr"
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"entry": "x/attribute-boolean"
}
Loading