mirror of
https://github.com/modernweb-dev/rocket.git
synced 2026-03-21 08:51:18 +00:00
Compare commits
7 Commits
@rocket/cl
...
@rocket/se
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
83286a99de | ||
|
|
6cabdba5f6 | ||
|
|
f5f2d69d0c | ||
|
|
795a3613af | ||
|
|
bcf8f4fe83 | ||
|
|
5330740cb3 | ||
|
|
2edd61beaa |
@@ -1,5 +1,17 @@
|
||||
# @rocket/cli
|
||||
|
||||
## 0.9.3
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 795a361: The server worker url should respect a set pathPrefix.
|
||||
|
||||
## 0.9.2
|
||||
|
||||
### Patch Changes
|
||||
|
||||
- 5330740: When replacing images with responsive picture tags do this from the bottom up so the initial dom parsing locations still hold true.
|
||||
|
||||
## 0.9.1
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@rocket/cli",
|
||||
"version": "0.9.1",
|
||||
"version": "0.9.3",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{% set rocketServiceWorkerUrl = '/' + rocketConfig.serviceWorkerName %}
|
||||
|
||||
<script>
|
||||
window.__rocketServiceWorkerUrl = '/{{ rocketConfig.serviceWorkerName }}';
|
||||
window.__rocketServiceWorkerUrl = '{{ rocketServiceWorkerUrl | url }}';
|
||||
</script>
|
||||
|
||||
<script type="module" inject-service-worker="" src="{{ '/_assets/scripts/registerServiceWorker.js' | asset | url }}"></script>
|
||||
|
||||
@@ -195,7 +195,7 @@ async function responsiveImages(images, { inputPath, outputDir, imagePresets = {
|
||||
|
||||
function updateHtml(html, changes) {
|
||||
let newHtml = html;
|
||||
for (const change of changes) {
|
||||
for (const change of changes.reverse()) {
|
||||
newHtml = replaceBetween({
|
||||
html: newHtml,
|
||||
start: change.openStart,
|
||||
|
||||
@@ -19,6 +19,7 @@ export function setFixtureDir(importMetaUrl) {
|
||||
* @property {boolean} stripStartEndWhitespace
|
||||
* @property {boolean} stripScripts
|
||||
* @property {boolean} formatHtml
|
||||
* @property {boolean} replaceImageHashes
|
||||
* @property {start|build} type
|
||||
*/
|
||||
|
||||
@@ -51,6 +52,7 @@ export async function readOutput(
|
||||
stripScripts = false,
|
||||
formatHtml = false,
|
||||
type = 'build',
|
||||
replaceImageHashes = false,
|
||||
} = {},
|
||||
) {
|
||||
if (!cli || !cli.config) {
|
||||
@@ -70,6 +72,9 @@ export async function readOutput(
|
||||
const scriptCloseTagStart = text.indexOf('</script>', scriptOpenTagEnd) + 9;
|
||||
text = text.substring(0, scriptOpenTagEnd) + text.substring(scriptCloseTagStart);
|
||||
}
|
||||
if (replaceImageHashes) {
|
||||
text = text.replace(/\/images\/([a-z0-9]+)-/g, '/images/__HASH__-');
|
||||
}
|
||||
if (formatHtml) {
|
||||
text = prettier.format(text, { parser: 'html', printWidth: 100 });
|
||||
}
|
||||
|
||||
@@ -102,17 +102,17 @@ describe('RocketCli e2e', () => {
|
||||
);
|
||||
const assetHtml = await readStartOutput(cli, 'use-assets/index.html');
|
||||
expect(assetHtml).to.equal('<link rel="stylesheet" href="/_merged_assets/some.css">');
|
||||
const imageHtml = await readStartOutput(cli, 'image/index.html');
|
||||
const imageHtml = await readStartOutput(cli, 'image/index.html', { replaceImageHashes: true });
|
||||
expect(imageHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
' <figure>',
|
||||
' <picture>',
|
||||
'<source type="image/avif" srcset="/images/dd502010-600.avif 600w, /images/dd502010-900.avif 900w" sizes="100vw">',
|
||||
'<source type="image/jpeg" srcset="/images/dd502010-600.jpeg 600w, /images/dd502010-900.jpeg 900w" sizes="100vw">',
|
||||
'<source type="image/avif" srcset="/images/__HASH__-600.avif 600w, /images/__HASH__-900.avif 900w" sizes="100vw">',
|
||||
'<source type="image/jpeg" srcset="/images/__HASH__-600.jpeg 600w, /images/__HASH__-900.jpeg 900w" sizes="100vw">',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text" rocket-image="responsive"',
|
||||
' src="/images/dd502010-600.jpeg"',
|
||||
' src="/images/__HASH__-600.jpeg"',
|
||||
' ',
|
||||
' ',
|
||||
' width="600"',
|
||||
@@ -143,16 +143,17 @@ describe('RocketCli e2e', () => {
|
||||
expect(assetHtml).to.equal(
|
||||
'<html><head><link rel="stylesheet" href="../41297ffa.css">\n\n</head><body>\n\n</body></html>',
|
||||
);
|
||||
const imageHtml = await readBuildOutput(cli, 'image/index.html');
|
||||
let imageHtml = await readBuildOutput(cli, 'image/index.html');
|
||||
imageHtml = imageHtml.replace(/\.\.\/([a-z0-9]+)\./g, '../__HASH__.');
|
||||
expect(imageHtml).to.equal(
|
||||
[
|
||||
'<html><head>',
|
||||
'</head><body><p>',
|
||||
' </p><figure>',
|
||||
' <picture>',
|
||||
'<source type="image/avif" srcset="../e64e2277.avif 600w, ../37453c88.avif 900w" sizes="100vw">',
|
||||
'<source type="image/jpeg" srcset="../d0f18b5a.jpeg 600w, ../81998598.jpeg 900w" sizes="100vw">',
|
||||
' <img alt="My Image Alternative Text" rocket-image="responsive" src="../d0f18b5a.jpeg" width="600" height="316" loading="lazy" decoding="async">',
|
||||
'<source type="image/avif" srcset="../__HASH__.avif 600w, ../__HASH__.avif 900w" sizes="100vw">',
|
||||
'<source type="image/jpeg" srcset="../__HASH__.jpeg 600w, ../__HASH__.jpeg 900w" sizes="100vw">',
|
||||
' <img alt="My Image Alternative Text" rocket-image="responsive" src="../__HASH__.jpeg" width="600" height="316" loading="lazy" decoding="async">',
|
||||
' </picture>',
|
||||
' <figcaption>My Image Description</figcaption>',
|
||||
'</figure>',
|
||||
|
||||
@@ -22,7 +22,10 @@ describe('RocketCli images', () => {
|
||||
describe('Images', () => {
|
||||
it('does render content images responsive', async () => {
|
||||
cli = await executeStart('e2e-fixtures/images/rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
@@ -30,18 +33,18 @@ describe('RocketCli images', () => {
|
||||
' <picture>',
|
||||
' <source',
|
||||
' type="image/avif"',
|
||||
' srcset="/images/d67643ad-600.avif 600w, /images/d67643ad-900.avif 900w"',
|
||||
' srcset="/images/__HASH__-600.avif 600w, /images/__HASH__-900.avif 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <source',
|
||||
' type="image/jpeg"',
|
||||
' srcset="/images/d67643ad-600.jpeg 600w, /images/d67643ad-900.jpeg 900w"',
|
||||
' srcset="/images/__HASH__-600.jpeg 600w, /images/__HASH__-900.jpeg 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-600.jpeg"',
|
||||
' src="/images/__HASH__-600.jpeg"',
|
||||
' width="600"',
|
||||
' height="316"',
|
||||
' loading="lazy"',
|
||||
@@ -57,47 +60,57 @@ describe('RocketCli images', () => {
|
||||
|
||||
it('renders multiple images in the correct order', async () => {
|
||||
cli = await executeStart('e2e-fixtures/images/rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'two-images/index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'two-images/index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<h2 id="one">',
|
||||
' <a aria-hidden="true" tabindex="-1" href="#one"><span class="icon icon-link"></span></a>one',
|
||||
'</h2>',
|
||||
'<p>',
|
||||
' <picture>',
|
||||
' <source',
|
||||
' type="image/avif"',
|
||||
' srcset="/images/d67643ad-600.avif 600w, /images/d67643ad-900.avif 900w"',
|
||||
' srcset="/images/__HASH__-600.avif 600w, /images/__HASH__-900.avif 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <source',
|
||||
' type="image/jpeg"',
|
||||
' srcset="/images/d67643ad-600.jpeg 600w, /images/d67643ad-900.jpeg 900w"',
|
||||
' srcset="/images/__HASH__-600.jpeg 600w, /images/__HASH__-900.jpeg 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <img',
|
||||
' alt="one"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-600.jpeg"',
|
||||
' src="/images/__HASH__-600.jpeg"',
|
||||
' width="600"',
|
||||
' height="316"',
|
||||
' loading="lazy"',
|
||||
' decoding="async"',
|
||||
' />',
|
||||
' </picture>',
|
||||
'',
|
||||
'</p>',
|
||||
'<h2 id="two">',
|
||||
' <a aria-hidden="true" tabindex="-1" href="#two"><span class="icon icon-link"></span></a>two',
|
||||
'</h2>',
|
||||
'<p>',
|
||||
' <picture>',
|
||||
' <source',
|
||||
' type="image/avif"',
|
||||
' srcset="/images/d67643ad-600.avif 600w, /images/d67643ad-900.avif 900w"',
|
||||
' srcset="/images/__HASH__-600.avif 600w, /images/__HASH__-900.avif 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <source',
|
||||
' type="image/jpeg"',
|
||||
' srcset="/images/d67643ad-600.jpeg 600w, /images/d67643ad-900.jpeg 900w"',
|
||||
' srcset="/images/__HASH__-600.jpeg 600w, /images/__HASH__-900.jpeg 900w"',
|
||||
' sizes="100vw"',
|
||||
' />',
|
||||
' <img',
|
||||
' alt="two"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-600.jpeg"',
|
||||
' src="/images/__HASH__-600.jpeg"',
|
||||
' width="600"',
|
||||
' height="316"',
|
||||
' loading="lazy"',
|
||||
@@ -111,7 +124,10 @@ describe('RocketCli images', () => {
|
||||
|
||||
it('can configure those responsive images', async () => {
|
||||
cli = await executeStart('e2e-fixtures/images/small.rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
@@ -119,18 +135,18 @@ describe('RocketCli images', () => {
|
||||
' <picture>',
|
||||
' <source',
|
||||
' type="image/avif"',
|
||||
' srcset="/images/d67643ad-30.avif 30w, /images/d67643ad-60.avif 60w"',
|
||||
' srcset="/images/__HASH__-30.avif 30w, /images/__HASH__-60.avif 60w"',
|
||||
' sizes="(min-width: 1024px) 30px, 60px"',
|
||||
' />',
|
||||
' <source',
|
||||
' type="image/jpeg"',
|
||||
' srcset="/images/d67643ad-30.jpeg 30w, /images/d67643ad-60.jpeg 60w"',
|
||||
' srcset="/images/__HASH__-30.jpeg 30w, /images/__HASH__-60.jpeg 60w"',
|
||||
' sizes="(min-width: 1024px) 30px, 60px"',
|
||||
' />',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-30.jpeg"',
|
||||
' src="/images/__HASH__-30.jpeg"',
|
||||
' width="30"',
|
||||
' height="15"',
|
||||
' loading="lazy"',
|
||||
@@ -146,25 +162,28 @@ describe('RocketCli images', () => {
|
||||
|
||||
it('will only render a figure & figcaption if there is a caption/title', async () => {
|
||||
cli = await executeStart('e2e-fixtures/images/small.rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'no-title/index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'no-title/index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
' <picture>',
|
||||
' <source',
|
||||
' type="image/avif"',
|
||||
' srcset="/images/d67643ad-30.avif 30w, /images/d67643ad-60.avif 60w"',
|
||||
' srcset="/images/__HASH__-30.avif 30w, /images/__HASH__-60.avif 60w"',
|
||||
' sizes="(min-width: 1024px) 30px, 60px"',
|
||||
' />',
|
||||
' <source',
|
||||
' type="image/jpeg"',
|
||||
' srcset="/images/d67643ad-30.jpeg 30w, /images/d67643ad-60.jpeg 60w"',
|
||||
' srcset="/images/__HASH__-30.jpeg 30w, /images/__HASH__-60.jpeg 60w"',
|
||||
' sizes="(min-width: 1024px) 30px, 60px"',
|
||||
' />',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-30.jpeg"',
|
||||
' src="/images/__HASH__-30.jpeg"',
|
||||
' width="30"',
|
||||
' height="15"',
|
||||
' loading="lazy"',
|
||||
@@ -178,15 +197,18 @@ describe('RocketCli images', () => {
|
||||
|
||||
it('will render an img with srcset and sizes if there is only one image format', async () => {
|
||||
cli = await executeStart('e2e-fixtures/images/single-format.rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'no-title/index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'no-title/index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/d67643ad-30.jpeg"',
|
||||
' srcset="/images/d67643ad-30.jpeg 30w, /images/d67643ad-60.jpeg 60w"',
|
||||
' src="/images/__HASH__-30.jpeg"',
|
||||
' srcset="/images/__HASH__-30.jpeg 30w, /images/__HASH__-60.jpeg 60w"',
|
||||
' sizes="(min-width: 1024px) 30px, 60px"',
|
||||
' width="30"',
|
||||
' height="15"',
|
||||
|
||||
@@ -108,15 +108,18 @@ describe('RocketCli preset', () => {
|
||||
it('a preset can provide an adjustImagePresets() function', async () => {
|
||||
cli = await executeStart('preset-fixtures/use-preset/rocket.config.js');
|
||||
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', { formatHtml: true });
|
||||
const indexHtml = await readStartOutput(cli, 'index.html', {
|
||||
formatHtml: true,
|
||||
replaceImageHashes: true,
|
||||
});
|
||||
expect(indexHtml).to.equal(
|
||||
[
|
||||
'<p>',
|
||||
' <img',
|
||||
' alt="My Image Alternative Text"',
|
||||
' rocket-image="responsive"',
|
||||
' src="/images/1f847765-30.jpeg"',
|
||||
' srcset="/images/1f847765-30.jpeg 30w, /images/1f847765-60.jpeg 60w"',
|
||||
' src="/images/__HASH__-30.jpeg"',
|
||||
' srcset="/images/__HASH__-30.jpeg 30w, /images/__HASH__-60.jpeg 60w"',
|
||||
' sizes="30px"',
|
||||
' width="30"',
|
||||
' height="15"',
|
||||
|
||||
66
packages/cli/test-node/RocketCli.service-worker.test.js
Normal file
66
packages/cli/test-node/RocketCli.service-worker.test.js
Normal file
@@ -0,0 +1,66 @@
|
||||
import chai from 'chai';
|
||||
import chalk from 'chalk';
|
||||
import { executeBuild, readStartOutput, setFixtureDir } from '@rocket/cli/test-helpers';
|
||||
|
||||
const { expect } = chai;
|
||||
|
||||
function getInjectServiceWorker(text) {
|
||||
const scriptOpenTagStart = text.indexOf('<script type="module" inject-service-worker=""');
|
||||
const scriptCloseTagEnd = text.indexOf('</script>', scriptOpenTagStart) + 9;
|
||||
text = text.substring(scriptOpenTagStart, scriptCloseTagEnd);
|
||||
return text;
|
||||
}
|
||||
|
||||
function getServiceWorkerUrl(text) {
|
||||
const matches = text.match(/window\.__rocketServiceWorkerUrl = '(.*?)';/);
|
||||
return matches[1];
|
||||
}
|
||||
|
||||
describe('RocketCli e2e', () => {
|
||||
let cli;
|
||||
|
||||
before(() => {
|
||||
// ignore colors in tests as most CIs won't support it
|
||||
chalk.level = 0;
|
||||
setFixtureDir(import.meta.url);
|
||||
});
|
||||
|
||||
afterEach(async () => {
|
||||
if (cli?.cleanup) {
|
||||
await cli.cleanup();
|
||||
}
|
||||
});
|
||||
|
||||
it.only('will add a script to inject the service worker', async () => {
|
||||
cli = await executeBuild('e2e-fixtures/service-worker/rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'index.html');
|
||||
const indexInject = getInjectServiceWorker(indexHtml);
|
||||
expect(indexInject).to.equal(
|
||||
'<script type="module" inject-service-worker="" src="/_merged_assets/scripts/registerServiceWorker.js"></script>',
|
||||
);
|
||||
expect(getServiceWorkerUrl(indexHtml)).to.equal('/service-worker.js');
|
||||
const subHtml = await readStartOutput(cli, 'sub/index.html');
|
||||
const subInject = getInjectServiceWorker(subHtml);
|
||||
expect(subInject).to.equal(
|
||||
'<script type="module" inject-service-worker="" src="/_merged_assets/scripts/registerServiceWorker.js"></script>',
|
||||
);
|
||||
expect(getServiceWorkerUrl(subHtml)).to.equal('/service-worker.js');
|
||||
});
|
||||
|
||||
// TODO: find a way to run these test either by forcing pathPrefix in start or skipping asset gathering for build or ...
|
||||
it.skip('will add a script to inject the service worker', async () => {
|
||||
cli = await executeBuild('e2e-fixtures/service-worker/pathPrefix.rocket.config.js');
|
||||
const indexHtml = await readStartOutput(cli, 'index.html');
|
||||
const indexInject = getInjectServiceWorker(indexHtml);
|
||||
expect(indexInject).to.equal(
|
||||
'<script type="module" inject-service-worker="" src="/my-prefix-folder/_merged_assets/scripts/registerServiceWorker.js"></script>',
|
||||
);
|
||||
expect(getServiceWorkerUrl(indexHtml)).to.equal('/my-prefix-folder/service-worker.js');
|
||||
const subHtml = await readStartOutput(cli, 'sub/index.html');
|
||||
const subInject = getInjectServiceWorker(subHtml);
|
||||
expect(subInject).to.equal(
|
||||
'<script type="module" inject-service-worker="" src="/my-prefix-folder/_merged_assets/scripts/registerServiceWorker.js"></script>',
|
||||
);
|
||||
expect(getServiceWorkerUrl(subHtml)).to.equal('/my-prefix-folder/service-worker.js');
|
||||
});
|
||||
});
|
||||
@@ -2,4 +2,10 @@
|
||||
layout: layout-raw
|
||||
---
|
||||
|
||||

|
||||
## one
|
||||
|
||||

|
||||
|
||||
## two
|
||||
|
||||

|
||||
|
||||
@@ -0,0 +1 @@
|
||||
**/*.njk
|
||||
@@ -0,0 +1 @@
|
||||
module.exports = 'https://example.com';
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
layout: layout-default
|
||||
---
|
||||
|
||||
Content inside `docs/index.md`
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
layout: layout-default
|
||||
---
|
||||
|
||||
Content inside `docs/sub.md`
|
||||
@@ -0,0 +1,6 @@
|
||||
/** @type {Partial<import("../../../types/main").RocketCliOptions>} */
|
||||
const config = {
|
||||
pathPrefix: '/my-prefix-folder/',
|
||||
};
|
||||
|
||||
export default config;
|
||||
@@ -0,0 +1,3 @@
|
||||
/** @type {Partial<import("../../../types/main").RocketCliOptions>} */
|
||||
const config = {};
|
||||
export default config;
|
||||
@@ -1,5 +1,11 @@
|
||||
# @rocket/search
|
||||
|
||||
## 0.4.0
|
||||
|
||||
### Minor Changes
|
||||
|
||||
- 6cabdba: BREAKING: upgraded search to lit version 2
|
||||
|
||||
## 0.3.5
|
||||
|
||||
### Patch Changes
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@rocket/search",
|
||||
"version": "0.3.5",
|
||||
"version": "0.4.0",
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
},
|
||||
@@ -41,8 +41,10 @@
|
||||
"search"
|
||||
],
|
||||
"dependencies": {
|
||||
"@lion/combobox": "^0.5.1",
|
||||
"@open-wc/scoped-elements": "^1.3.2",
|
||||
"@lion/combobox": "^0.8.0",
|
||||
"@lion/core": "^0.18.0",
|
||||
"@lion/listbox": "^0.10.1",
|
||||
"@open-wc/scoped-elements": "^2.0.0-next.3",
|
||||
"chalk": "^4.0.0",
|
||||
"minisearch": "^3.0.2",
|
||||
"plugins-manager": "^0.2.2",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
||||
import { html, LitElement, css } from 'lit-element';
|
||||
import { html, LitElement, css, repeat } from '@lion/core';
|
||||
import MiniSearch from 'minisearch';
|
||||
import { repeat } from 'lit-html/directives/repeat.js';
|
||||
import { ScopedElementsMixin } from '@open-wc/scoped-elements';
|
||||
import { RocketSearchCombobox } from './RocketSearchCombobox.js';
|
||||
import { RocketSearchOption } from './RocketSearchOption.js';
|
||||
@@ -94,7 +93,7 @@ export class RocketSearch extends ScopedElementsMixin(LitElement) {
|
||||
}
|
||||
|
||||
get combobox() {
|
||||
return this.shadowRoot?.children[0];
|
||||
return this.shadowRoot.querySelector('rocket-search-combobox');
|
||||
}
|
||||
|
||||
/** @param {import('lit-element').PropertyValues } changedProperties */
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { expect, fixture as _fixture, html } from '@open-wc/testing';
|
||||
import { expect, fixture as _fixture } from '@open-wc/testing';
|
||||
import { html } from 'lit/static-html.js';
|
||||
import { setViewport } from '@web/test-runner-commands';
|
||||
import { stubMethod } from 'hanbi';
|
||||
|
||||
|
||||
118
yarn.lock
118
yarn.lock
@@ -1110,15 +1110,15 @@
|
||||
dependencies:
|
||||
"@lion/core" "0.16.0"
|
||||
|
||||
"@lion/combobox@^0.5.1":
|
||||
version "0.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/combobox/-/combobox-0.5.1.tgz#6395d5c34f0935aee32034584a253c1a2c6fa717"
|
||||
integrity sha512-sOpJLCH8pzZAOohrqVnlTjC7L93tavXugSV2SqhVsFFnSQIWXytaeL8eJPlVBrTrmcOpns6AQX2uyBbeY6ZTsg==
|
||||
"@lion/combobox@^0.8.0":
|
||||
version "0.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@lion/combobox/-/combobox-0.8.0.tgz#ef60cfcfa55b659033900615efb207dd80708320"
|
||||
integrity sha512-qjudhZ/UAbvPjJavWT/VZt9t76Xa0MFaqRnmX7Ga0acJhm29vtMi4r5BqniF/JfCucXz5ya3oFYNqxkOQcWReA==
|
||||
dependencies:
|
||||
"@lion/core" "0.16.0"
|
||||
"@lion/form-core" "0.11.0"
|
||||
"@lion/listbox" "0.7.0"
|
||||
"@lion/overlays" "0.26.1"
|
||||
"@lion/core" "0.18.0"
|
||||
"@lion/form-core" "0.14.1"
|
||||
"@lion/listbox" "0.10.1"
|
||||
"@lion/overlays" "0.28.1"
|
||||
|
||||
"@lion/core@0.16.0":
|
||||
version "0.16.0"
|
||||
@@ -1130,32 +1130,50 @@
|
||||
lit-element "~2.4.0"
|
||||
lit-html "^1.3.0"
|
||||
|
||||
"@lion/form-core@0.11.0":
|
||||
version "0.11.0"
|
||||
resolved "https://registry.yarnpkg.com/@lion/form-core/-/form-core-0.11.0.tgz#83985baba62e11082b42ea84f3683f72a8f36fcf"
|
||||
integrity sha512-opDXzTtVHJlRo+BLSI0dtSjbIz7PsJL80wnU8WAK3S+WNH5z2S37OBCoVvOVpXRpoqGAj5L/BmaJnHZeo6pPYw==
|
||||
dependencies:
|
||||
"@lion/core" "0.16.0"
|
||||
"@lion/localize" "0.18.0"
|
||||
|
||||
"@lion/listbox@0.7.0":
|
||||
version "0.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@lion/listbox/-/listbox-0.7.0.tgz#bd1d8cb25098387fd0ae1087f8dd641510f741f0"
|
||||
integrity sha512-wHGqahRIjpTmMAvU/hDZyDGNhmjRj6FEYSWn7Z3ugE52D9a1PQd7HVc1cVVIRc71jC3w4n5ZYVeZChwR3N3fWw==
|
||||
dependencies:
|
||||
"@lion/core" "0.16.0"
|
||||
"@lion/form-core" "0.11.0"
|
||||
|
||||
"@lion/localize@0.18.0":
|
||||
"@lion/core@0.18.0", "@lion/core@^0.18.0":
|
||||
version "0.18.0"
|
||||
resolved "https://registry.yarnpkg.com/@lion/localize/-/localize-0.18.0.tgz#beaf8c161feb58ecab670892c06e7b524527b7e8"
|
||||
integrity sha512-+adOGlot4IItOy1udLKflZlO2fTKM7R0Ji7iZ5SEVG80XOZxC3RXjVM7mWSd5wqcCUe51j1P/tgKM3vDLF0RAw==
|
||||
resolved "https://registry.yarnpkg.com/@lion/core/-/core-0.18.0.tgz#475b872407829ab7860f50ff771c2e5ee957b204"
|
||||
integrity sha512-tfSKvd/YvGY8JPqb3Nv4TV85nzgeXOxXfnnNVpAGGC0yoRK9jKR4FvRdqDROenbPsfPOVz9+uL/2fd+GJl6qKg==
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin" "^1.2.18"
|
||||
"@open-wc/scoped-elements" "^2.0.0-next.3"
|
||||
lit "^2.0.0-rc.2"
|
||||
|
||||
"@lion/form-core@0.14.1":
|
||||
version "0.14.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/form-core/-/form-core-0.14.1.tgz#404e047e32ea56ae5318db6444809cf83089d5f3"
|
||||
integrity sha512-WQQASer/vv0dyaxdp4nK2M+SqosCdk2JIyvShMmo9aqsTtUlKfyof/JszHj1e5pkydGHqC4x7ehN3gx4UiDk2g==
|
||||
dependencies:
|
||||
"@lion/core" "0.18.0"
|
||||
"@lion/localize" "0.20.1"
|
||||
|
||||
"@lion/listbox@0.10.1", "@lion/listbox@^0.10.1":
|
||||
version "0.10.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/listbox/-/listbox-0.10.1.tgz#c6a6e4cebc4f76386c1261faf582c46e58f41a37"
|
||||
integrity sha512-WrQ1/BiaEo3TBAQgFuRxqHTYlhLD4BZxp73Itlf9ooH6p/NlRsYKlppPfzWmhtoc7uJRbc9PDoo2krxvMFKxfA==
|
||||
dependencies:
|
||||
"@lion/core" "0.18.0"
|
||||
"@lion/form-core" "0.14.1"
|
||||
|
||||
"@lion/localize@0.20.1":
|
||||
version "0.20.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/localize/-/localize-0.20.1.tgz#92b3e795b1cec1cffeac8e54ed9a19ad6fc934fc"
|
||||
integrity sha512-su55r7wsNAYUl0s5J2ySv6KThIKAXt76nA/6OkCFGTS5e4LClCenqvK6jrhpGQKZ29I4OW4XQMFXTu/XlaKNMQ==
|
||||
dependencies:
|
||||
"@bundled-es-modules/message-format" "6.0.4"
|
||||
"@lion/core" "0.16.0"
|
||||
singleton-manager "1.4.1"
|
||||
"@lion/core" "0.18.0"
|
||||
singleton-manager "1.4.2"
|
||||
|
||||
"@lion/overlays@0.26.1", "@lion/overlays@^0.26.1":
|
||||
"@lion/overlays@0.28.1":
|
||||
version "0.28.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/overlays/-/overlays-0.28.1.tgz#08f0d781a45208c7beef2730c66f42b571d49ab8"
|
||||
integrity sha512-MiEkGtPIUHewGqay3VI++S6UXcTrSLt2Or0RxYFZfS64PIPMRPmKKsyW8xiouuKXWGV7vafP7apAauP8CxaY+g==
|
||||
dependencies:
|
||||
"@lion/core" "0.18.0"
|
||||
"@popperjs/core" "^2.5.4"
|
||||
singleton-manager "1.4.2"
|
||||
|
||||
"@lion/overlays@^0.26.1":
|
||||
version "0.26.1"
|
||||
resolved "https://registry.yarnpkg.com/@lion/overlays/-/overlays-0.26.1.tgz#d1bfa4f5f97108982afa7b409ba4300f8b2d2ba5"
|
||||
integrity sha512-1FvphbR/yTQ1WtcB1gNuH772i9qAydQkI6NwibIw8QeOGXisA+6SChv2OHS7CijlpDJnDxNyX44LGdDM1/Pd8A==
|
||||
@@ -1224,14 +1242,6 @@
|
||||
resolved "https://registry.yarnpkg.com/@open-wc/dedupe-mixin/-/dedupe-mixin-1.3.0.tgz#0df5d438285fc3482838786ee81895318f0ff778"
|
||||
integrity sha512-UfdK1MPnR6T7f3svzzYBfu3qBkkZ/KsPhcpc3JYhsUY4hbpwNF9wEQtD4Z+/mRqMTJrKg++YSxIxE0FBhY3RIw==
|
||||
|
||||
"@open-wc/scoped-elements@^1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@open-wc/scoped-elements/-/scoped-elements-1.3.2.tgz#6ae54c49731bbe8c3e0b5383c989f983dcdfacf5"
|
||||
integrity sha512-DoP3XA8r03tGx+IrlJwP/voLuDFkyS56kvwhmXIhpESo7M5jMt5e0zScNrawj7EMe4b5gDaJjorx2Jza8FLaLw==
|
||||
dependencies:
|
||||
"@open-wc/dedupe-mixin" "^1.3.0"
|
||||
lit-html "^1.0.0"
|
||||
|
||||
"@open-wc/scoped-elements@^1.3.3":
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@open-wc/scoped-elements/-/scoped-elements-1.3.3.tgz#fe008aef4d74fb00c553c900602960638fc1c7b0"
|
||||
@@ -1249,6 +1259,15 @@
|
||||
"@open-wc/dedupe-mixin" "^1.3.0"
|
||||
"@webcomponents/scoped-custom-element-registry" "0.0.1"
|
||||
|
||||
"@open-wc/scoped-elements@^2.0.0-next.3":
|
||||
version "2.0.0-next.4"
|
||||
resolved "https://registry.yarnpkg.com/@open-wc/scoped-elements/-/scoped-elements-2.0.0-next.4.tgz#d8294358e3e8ad2ba44200ab805549fde49245f6"
|
||||
integrity sha512-BMd5n5BHLi3FBhwhPbBuN7pZdi8I1CIQn10aKLZtg9aplVhN2BG1rwr0ANebXJ6fdq8m1PE1wQAaCXYCcEBTEQ==
|
||||
dependencies:
|
||||
"@lit/reactive-element" "^1.0.0-rc.1"
|
||||
"@open-wc/dedupe-mixin" "^1.3.0"
|
||||
"@webcomponents/scoped-custom-element-registry" "0.0.2"
|
||||
|
||||
"@open-wc/semantic-dom-diff@^0.13.16":
|
||||
version "0.13.21"
|
||||
resolved "https://registry.yarnpkg.com/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.13.21.tgz#718b9ec5f9a98935fc775e577ad094ae8d8b7dea"
|
||||
@@ -1993,6 +2012,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@webcomponents/scoped-custom-element-registry/-/scoped-custom-element-registry-0.0.1.tgz#196365260a019f87bddbded154ab09faf0e666fc"
|
||||
integrity sha512-ef5/v4U2vCxrnSMpo41LSWTjBOXCQ4JOt4+Y6PaSd8ympYioPhOP6E1tKmIk2ppwLSjCKbTyYf7ocHvwDat7bA==
|
||||
|
||||
"@webcomponents/scoped-custom-element-registry@0.0.2":
|
||||
version "0.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@webcomponents/scoped-custom-element-registry/-/scoped-custom-element-registry-0.0.2.tgz#c863d163cb39c60063808e5ae23e06a1766fbe5f"
|
||||
integrity sha512-lKCoZfKoE3FHvmmj2ytaLBB8Grxp4HaxfSzaGlIZN6xXnOILfpCO0PFJkAxanefLGJWMho4kRY5PhgxWFhmSOw==
|
||||
|
||||
"@webcomponents/webcomponentsjs@^2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.5.0.tgz#61b27785a6ad5bfd68fa018201fe418b118cb38d"
|
||||
@@ -2629,15 +2653,10 @@ camelcase@^6.0.0, camelcase@^6.2.0:
|
||||
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809"
|
||||
integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==
|
||||
|
||||
caniuse-lite@^1.0.30001165:
|
||||
version "1.0.30001170"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001170.tgz#0088bfecc6a14694969e391cc29d7eb6362ca6a7"
|
||||
integrity sha512-Dd4d/+0tsK0UNLrZs3CvNukqalnVTRrxb5mcQm8rHL49t7V5ZaTygwXkrq+FB+dVDf++4ri8eJnFEJAB8332PA==
|
||||
|
||||
caniuse-lite@^1.0.30001173:
|
||||
version "1.0.30001174"
|
||||
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001174.tgz#0f2aca2153fd88ceb07a2bb982fc2acb787623c4"
|
||||
integrity sha512-tqClL/4ThQq6cfFXH3oJL4rifFBeM6gTkphjao5kgwMaW9yn0tKgQLAEfKzDwj6HQWCB/aWo8kTFlSvIN8geEA==
|
||||
caniuse-lite@^1.0.30001165, caniuse-lite@^1.0.30001173:
|
||||
version "1.0.30001239"
|
||||
resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz"
|
||||
integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==
|
||||
|
||||
ccount@^1.0.0:
|
||||
version "1.1.0"
|
||||
@@ -7747,6 +7766,11 @@ singleton-manager@1.4.1:
|
||||
resolved "https://registry.yarnpkg.com/singleton-manager/-/singleton-manager-1.4.1.tgz#0a9cd1db2b26e5cbc4ecdc20d5a16f284b36aabb"
|
||||
integrity sha512-HOvKT/WcHvl2cLYGqmO6MaC2J4wAA82LntGwtLn6avnTq15UDLCnSRVXedmglVooLbQGVsQJ+dQz2sKz+2GUZA==
|
||||
|
||||
singleton-manager@1.4.2:
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/singleton-manager/-/singleton-manager-1.4.2.tgz#4649acafca3eccf987d828ab16369ee59c4a22a5"
|
||||
integrity sha512-3/K7K61TiN0+tw32HRC3AZQBacN0Ky/NmHEnhofFPEFROqZ5T6BXK45Z94OQsvuFD2euOVOU40XDNeTal63Baw==
|
||||
|
||||
sinon@^9.2.3:
|
||||
version "9.2.3"
|
||||
resolved "https://registry.yarnpkg.com/sinon/-/sinon-9.2.3.tgz#f68ce414e843e2fd638703043c97f260697caa52"
|
||||
|
||||
Reference in New Issue
Block a user