1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-24 12:49:19 +00:00
* Add rspack

* Remove TransformAsyncModulesPlugin from rspack

* Migrate all webpack usage to rspack

* Migrate tests to vitest

* Fix test suites

* Remove chai dependency

* Fix compute_state_display tests

* Fix resolveTimeZone

* Reduces test pipeline

* Revert test ci

* optimize chunk filtering

* Migrate landing-page to rspack

* Update rspack dependencies

* Add rsdoctor

* Fix prod build bundle size

* Use rsdoctor for demo stats

* Remove unused webpack configs

* Update build-scripts/rspack.cjs

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Fix eslint

* Update rspack

* Remove unused code

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
This commit is contained in:
Wendelin
2024-11-26 14:49:13 +01:00
committed by GitHub
parent 09c5dab69f
commit bd0bfc1fbe
72 changed files with 2199 additions and 1232 deletions

View File

@@ -1,5 +1,5 @@
import { assert } from "chai";
import { HassEntity } from "home-assistant-js-websocket";
import { assert, describe, it } from "vitest";
import type { HassEntity } from "home-assistant-js-websocket";
import {
formatNumber,
@@ -7,7 +7,7 @@ import {
getNumberFormatOptions,
} from "../../../src/common/number/format_number";
import {
FrontendLocaleData,
type FrontendLocaleData,
NumberFormat,
TimeFormat,
FirstWeekday,
@@ -157,7 +157,8 @@ describe("formatNumber", () => {
getNumberFormatOptions({
state: "3.0",
attributes: { step: 0.5 },
} as unknown as HassEntity)
} as unknown as HassEntity),
undefined
);
});

View File

@@ -0,0 +1,12 @@
import { expect, test } from "vitest";
import { isDate } from "../../../src/common/string/is_date";
test("isDate", () => {
expect(isDate("ABC")).toBe(false);
expect(isDate("2021-02-03", false)).toBe(true);
expect(isDate("2021-02-03", true)).toBe(true);
expect(isDate("2021-05-25T19:23:52+00:00", true)).toBe(true);
expect(isDate("2021-05-25T19:23:52+00:00", false)).toBe(false);
});

View File

@@ -1,12 +0,0 @@
import { assert } from "chai";
import { isDate } from "../../../src/common/string/is_date";
describe("isDate", () => {
assert.strictEqual(isDate("ABC"), false);
assert.strictEqual(isDate("2021-02-03", false), true);
assert.strictEqual(isDate("2021-02-03", true), true);
assert.strictEqual(isDate("2021-05-25T19:23:52+00:00", true), true);
assert.strictEqual(isDate("2021-05-25T19:23:52+00:00", false), false);
});

View File

@@ -1,9 +1,9 @@
import { assert } from "chai";
import { describe, assert, it } from "vitest";
import {
fuzzyFilterSort,
fuzzySequentialMatch,
ScorableTextItem,
type ScorableTextItem,
} from "../../../src/common/string/filter/sequence-matching";
describe("fuzzySequentialMatch", () => {

View File

@@ -0,0 +1,37 @@
import { assert, describe, it } from "vitest";
import { slugify } from "../../../src/common/string/slugify";
describe("slugify", () => {
it("works", () => {
// With default delimiter
assert.strictEqual(slugify("abc"), "abc");
assert.strictEqual(slugify("ABC"), "abc");
assert.strictEqual(slugify("abc DEF"), "abc_def");
assert.strictEqual(slugify("abc.DEF"), "abc_def");
assert.strictEqual(
slugify("1`-=~!@#$%^&*()_+[];',./{}:\"<>?\\| aA"),
"1_aa"
);
assert.strictEqual(slugify("abc-DEF"), "abc_def");
assert.strictEqual(slugify("abc_DEF"), "abc_def");
assert.strictEqual(slugify("1,1"), "11");
assert.strictEqual(slugify("abc å DEF"), "abc_a_def");
assert.strictEqual(slugify("abc:DEF"), "abc_def");
assert.strictEqual(slugify("abc&DEF"), "abc_def");
assert.strictEqual(slugify("abc^^DEF"), "abc_def");
assert.strictEqual(slugify("abc DEF"), "abc_def");
assert.strictEqual(slugify("_abc DEF"), "abc_def");
assert.strictEqual(slugify("abc DEF_"), "abc_def");
assert.strictEqual(slugify("abc-DEF ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc-DEF-ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc - DEF - ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc---DEF---ghi"), "abc_def_ghi");
assert.strictEqual(slugify("___abc___DEF___ghi___"), "abc_def_ghi");
assert.strictEqual(slugify("___"), "unknown");
assert.strictEqual(slugify(""), "");
// With custom delimiter
assert.strictEqual(slugify("abc def", "-"), "abc-def");
assert.strictEqual(slugify("abc-def", "-"), "abc-def");
});
});

View File

@@ -1,32 +0,0 @@
import { assert } from "chai";
import { slugify } from "../../../src/common/string/slugify";
describe("slugify", () => {
// With default delimiter
assert.strictEqual(slugify("abc"), "abc");
assert.strictEqual(slugify("ABC"), "abc");
assert.strictEqual(slugify("abc DEF"), "abc_def");
assert.strictEqual(slugify("abc.DEF"), "abc_def");
assert.strictEqual(slugify("1`-=~!@#$%^&*()_+[];',./{}:\"<>?\\| aA"), "1_aa");
assert.strictEqual(slugify("abc-DEF"), "abc_def");
assert.strictEqual(slugify("abc_DEF"), "abc_def");
assert.strictEqual(slugify("1,1"), "11");
assert.strictEqual(slugify("abc å DEF"), "abc_a_def");
assert.strictEqual(slugify("abc:DEF"), "abc_def");
assert.strictEqual(slugify("abc&DEF"), "abc_def");
assert.strictEqual(slugify("abc^^DEF"), "abc_def");
assert.strictEqual(slugify("abc DEF"), "abc_def");
assert.strictEqual(slugify("_abc DEF"), "abc_def");
assert.strictEqual(slugify("abc DEF_"), "abc_def");
assert.strictEqual(slugify("abc-DEF ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc-DEF-ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc - DEF - ghi"), "abc_def_ghi");
assert.strictEqual(slugify("abc---DEF---ghi"), "abc_def_ghi");
assert.strictEqual(slugify("___abc___DEF___ghi___"), "abc_def_ghi");
assert.strictEqual(slugify("___"), "unknown");
assert.strictEqual(slugify(""), "");
// With custom delimiter
assert.strictEqual(slugify("abc def", "-"), "abc-def");
assert.strictEqual(slugify("abc-def", "-"), "abc-def");
});