diff --git a/.eslintignore b/.eslintignore index dd56aaa68f..e57be2186a 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,50 +1,50 @@ -/node_modules +**/node_modules **/dist package-lock.json **/.angular -/resources/todomvc/architecture-examples/* -!/resources/todomvc/architecture-examples/angular -!/resources/todomvc/architecture-examples/angular-complex -!/resources/todomvc/architecture-examples/backbone -!/resources/todomvc/architecture-examples/backbone-complex -!/resources/todomvc/architecture-examples/lit -/resources/todomvc/architecture-examples/lit/.wireit -/resources/todomvc/architecture-examples/lit/dist/index.js -!/resources/todomvc/architecture-examples/lit-complex -!/resources/todomvc/architecture-examples/preact -!/resources/todomvc/architecture-examples/preact-complex -!/resources/todomvc/architecture-examples/react -!/resources/todomvc/architecture-examples/react-complex -!/resources/todomvc/architecture-examples/react-redux -!/resources/todomvc/architecture-examples/react-redux-complex -!/resources/todomvc/architecture-examples/svelte -!/resources/todomvc/architecture-examples/svelte-complex -!/resources/todomvc/architecture-examples/vue -!/resources/todomvc/architecture-examples/vue-complex - -/resources/todomvc/vanilla-examples/* -!/resources/todomvc/vanilla-examples/javascript-es5 -!/resources/todomvc/vanilla-examples/javascript-es5-complex -!/resources/todomvc/vanilla-examples/javascript-es6 -!/resources/todomvc/vanilla-examples/javascript-es6-complex -!/resources/todomvc/vanilla-examples/javascript-es6-webpack -!/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex -!/resources/todomvc/vanilla-examples/javascript-web-components -!/resources/todomvc/vanilla-examples/javascript-web-components-complex/ - -!/resources/todomvc/big-dom-generator - -!/resources/editors -/resources/editors/assets - -!/resources/newssite -!/resources/newssite/news-next -!/resources/newssite/news-nuxt -!/resources/newssite/news-site-css - -/resources/perf.webkit.org - -/resources/react-stockcharts - -/experimental/responsive-design/build-dev/ +/suites/todomvc/architecture-examples/* +!/suites/todomvc/architecture-examples/angular +!/suites/todomvc/architecture-examples/angular-complex +!/suites/todomvc/architecture-examples/backbone +!/suites/todomvc/architecture-examples/backbone-complex +!/suites/todomvc/architecture-examples/lit +/suites/todomvc/architecture-examples/lit/.wireit +/suites/todomvc/architecture-examples/lit/dist/index.js +!/suites/todomvc/architecture-examples/lit-complex +!/suites/todomvc/architecture-examples/preact +!/suites/todomvc/architecture-examples/preact-complex +!/suites/todomvc/architecture-examples/react +!/suites/todomvc/architecture-examples/react-complex +!/suites/todomvc/architecture-examples/react-redux +!/suites/todomvc/architecture-examples/react-redux-complex +!/suites/todomvc/architecture-examples/svelte +!/suites/todomvc/architecture-examples/svelte-complex +!/suites/todomvc/architecture-examples/vue +!/suites/todomvc/architecture-examples/vue-complex + +/suites/todomvc/vanilla-examples/* +!/suites/todomvc/vanilla-examples/javascript-es5 +!/suites/todomvc/vanilla-examples/javascript-es5-complex +!/suites/todomvc/vanilla-examples/javascript-es6 +!/suites/todomvc/vanilla-examples/javascript-es6-complex +!/suites/todomvc/vanilla-examples/javascript-es6-webpack +!/suites/todomvc/vanilla-examples/javascript-es6-webpack-complex +!/suites/todomvc/vanilla-examples/javascript-web-components +!/suites/todomvc/vanilla-examples/javascript-web-components-complex/ + +!/suites/todomvc/big-dom-generator + +!/suites/editors +/suites/editors/assets + +!/suites/newssite +!/suites/newssite/news-next +!/suites/newssite/news-nuxt +!/suites/newssite/news-site-css + +/suites/perf.webkit.org + +/suites/react-stockcharts + +/suites-experimental/responsive-design/build-dev/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 4a2cc58827..a835ce600b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,6 +26,9 @@ jobs: - name: Install Node Packages run: npm ci + - name: Run package.json linter + run: npm run lint:pkg + - name: Run linters run: npm run format @@ -41,6 +44,25 @@ jobs: exit 1 fi + test-node: + name: Node Unit Tests + runs-on: ubuntu-latest + steps: + - name: Checkout Branch + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version-file: "package.json" + cache: "npm" + + - name: Install Node Packages + run: npm ci + + - name: Run Node Unit Tests + run: npm test + build: name: Build runs-on: macos-latest diff --git a/.gitignore b/.gitignore index aa915477f0..d23bd70cef 100644 --- a/.gitignore +++ b/.gitignore @@ -2,38 +2,12 @@ *.pyc .DS_Store .directory -/node_modules +node_modules/ +.agents +.gemini .vscode .angular -/resources/todomvc/architecture-examples/angular/node_modules/ -/resources/todomvc/architecture-examples/angular-complex/node_modules/ -/resources/todomvc/architecture-examples/backbone/node_modules/ -/resources/todomvc/architecture-examples/backbone-complex/node_modules/ -/resources/todomvc/architecture-examples/jquery/node_modules/ -/resources/todomvc/architecture-examples/jquery-complex/node_modules/ -/resources/todomvc/architecture-examples/preact/node_modules/ -/resources/todomvc/architecture-examples/preact-complex/node_modules/ -/resources/todomvc/architecture-examples/react/node_modules/ -/resources/todomvc/architecture-examples/react-complex/node_modules/ -/resources/todomvc/architecture-examples/react-redux/node_modules/ -/resources/todomvc/architecture-examples/react-redux-complex/node_modules/ -/resources/todomvc/architecture-examples/svelte/node_modules/ -/resources/todomvc/architecture-examples/svelte-complex/node_modules/ -/resources/todomvc/architecture-examples/vue/node_modules/ -/resources/todomvc/architecture-examples/vue-complex/node_modules/ -/resources/todomvc/architecture-examples/lit-complex/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es5/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es5-complex/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es6/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es6-complex/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es6-webpack/node_modules/ -/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex/node_modules/ -/resources/todomvc/vanilla-examples/javascript-web-components-complex/node_modules/ - -/resources/charts/node_modules/ -/resources/todomvc/big-dom-generator/node_modules/ -/experimental/responsive-design/node_modules/ -/experimental/responsive-design/build-dev/ +/suites-experimental/**/build-dev/ diff --git a/.npmpackagejsonlintrc.json b/.npmpackagejsonlintrc.json new file mode 100644 index 0000000000..800e07b4f3 --- /dev/null +++ b/.npmpackagejsonlintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "npm-package-json-lint-config-default" +} diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000000..cabf43b5dd --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +24 \ No newline at end of file diff --git a/.prettierignore b/.prettierignore index 35bc1b522a..0b1b6168e3 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,50 +1,50 @@ -/node_modules +**/node_modules **/dist package-lock.json **/.angular -/resources/todomvc/architecture-examples/* -!/resources/todomvc/architecture-examples/angular -!/resources/todomvc/architecture-examples/angular-complex -!/resources/todomvc/architecture-examples/backbone -!/resources/todomvc/architecture-examples/backbone-complex -!/resources/todomvc/architecture-examples/lit -/resources/todomvc/architecture-examples/lit/dist/index.js -/resources/todomvc/architecture-examples/lit/.wireit -!/resources/todomvc/architecture-examples/lit-complex -!/resources/todomvc/architecture-examples/preact -!/resources/todomvc/architecture-examples/preact-complex -!/resources/todomvc/architecture-examples/react -!/resources/todomvc/architecture-examples/react-complex -!/resources/todomvc/architecture-examples/react-redux -!/resources/todomvc/architecture-examples/react-redux-complex -!/resources/todomvc/architecture-examples/svelte -!/resources/todomvc/architecture-examples/svelte-complex -!/resources/todomvc/architecture-examples/vue -!/resources/todomvc/architecture-examples/vue-complex +/suites/todomvc/architecture-examples/* +!/suites/todomvc/architecture-examples/angular +!/suites/todomvc/architecture-examples/angular-complex +!/suites/todomvc/architecture-examples/backbone +!/suites/todomvc/architecture-examples/backbone-complex +!/suites/todomvc/architecture-examples/lit +/suites/todomvc/architecture-examples/lit/dist/index.js +/suites/todomvc/architecture-examples/lit/.wireit +!/suites/todomvc/architecture-examples/lit-complex +!/suites/todomvc/architecture-examples/preact +!/suites/todomvc/architecture-examples/preact-complex +!/suites/todomvc/architecture-examples/react +!/suites/todomvc/architecture-examples/react-complex +!/suites/todomvc/architecture-examples/react-redux +!/suites/todomvc/architecture-examples/react-redux-complex +!/suites/todomvc/architecture-examples/svelte +!/suites/todomvc/architecture-examples/svelte-complex +!/suites/todomvc/architecture-examples/vue +!/suites/todomvc/architecture-examples/vue-complex -/resources/todomvc/vanilla-examples/* -!/resources/todomvc/vanilla-examples/javascript-es5 -!/resources/todomvc/vanilla-examples/javascript-es5-complex -!/resources/todomvc/vanilla-examples/javascript-es6 -!/resources/todomvc/vanilla-examples/javascript-es6-complex -!/resources/todomvc/vanilla-examples/javascript-es6-webpack -!/resources/todomvc/vanilla-examples/javascript-es6-webpack-complex -!/resources/todomvc/vanilla-examples/javascript-web-components -!/resources/todomvc/vanilla-examples/javascript-web-components-complex/ +/suites/todomvc/vanilla-examples/* +!/suites/todomvc/vanilla-examples/javascript-es5 +!/suites/todomvc/vanilla-examples/javascript-es5-complex +!/suites/todomvc/vanilla-examples/javascript-es6 +!/suites/todomvc/vanilla-examples/javascript-es6-complex +!/suites/todomvc/vanilla-examples/javascript-es6-webpack +!/suites/todomvc/vanilla-examples/javascript-es6-webpack-complex +!/suites/todomvc/vanilla-examples/javascript-web-components +!/suites/todomvc/vanilla-examples/javascript-web-components-complex/ -!/resources/todomvc/big-dom-generator +!/suites/todomvc/big-dom-generator -!/resources/editors -/resources/editors/assets +!/suites/editors +/suites/editors/assets -!/resources/newssite -!/resources/newssite/news-next -!/resources/newssite/news-nuxt -!/resources/newssite/news-site-css +!/suites/newssite +!/suites/newssite/news-next +!/suites/newssite/news-nuxt +!/suites/newssite/news-site-css -/resources/perf.webkit.org +/suites/perf.webkit.org -/resources/react-stockcharts -/experimental/responsive-design/build-dev/ -/experimental/responsive-design/**/*.generated.css +/suites/react-stockcharts +/suites-experimental/responsive-design/build-dev/ +/suites-experimental/responsive-design/**/*.generated.css diff --git a/Testing.md b/Testing.md index 684260b1cc..20685a7b14 100644 --- a/Testing.md +++ b/Testing.md @@ -8,7 +8,17 @@ Tests are located in the `/tests` folder. ## Local Testing -To run this locally you'll need the browsers installed along with the corresponding driver: +### Local Node.js Unit Testing + +You can run the unit tests directly in Node.js using: + +```bash +npm run test:node +``` + +### In-Browser Testing + +To run the in-browser tests locally, you'll need the browsers installed along with the corresponding driver: - [chromedriver](https://chromedriver.chromium.org/getting-started) - [geckodriver](https://github.com/mozilla/geckodriver/releases) diff --git a/about.html b/about.html index 02db762a1f..bd1b8d0316 100644 --- a/about.html +++ b/about.html @@ -92,7 +92,7 @@

About Speedometer

-