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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .changeset/few-apes-roll.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
"@justeattakeaway/stylelint-no-logical-props-shorthands": patch
"@justeattakeaway/eslint-plugin-snacks-pie-migration": patch
"@justeattakeaway/generator-pie-component": patch
"@justeattakeaway/eslint-config-pie": patch
"@justeattakeaway/pie-icons-webc": patch
"@justeattakeaway/pie-icons": patch
"@justeattakeaway/pie-css": patch
"@justeattakeaway/pie-storybook": patch
"@justeattakeaway/pie-monorepo-utils": patch
---

[Updated] - Internal dependencies
17 changes: 8 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,12 @@ jobs:
bash <(curl --silent --show-error "https://raw.githubusercontent.com/rhysd/actionlint/${ACTIONLINT_VERSION}/scripts/download-actionlint.bash")
./actionlint -color

build-windows-node-24:
uses: ./.github/workflows/install-build.yml
with:
os: windows-latest
secrets: inherit
# Windows Node 24 build is currently disabled as it is not stable in CI
# build-windows-node-24:
# uses: ./.github/workflows/install-build.yml
# with:
# os: windows-latest
# secrets: inherit

build-ubuntu-node-24:
uses: ./.github/workflows/install-build.yml
Expand Down Expand Up @@ -260,8 +261,7 @@ jobs:
name: component-tests (${{ matrix.package }})
needs: [ build-ubuntu-node-24, deploy-storybook-testing, check-change-type ]
if: >-
needs.check-change-type.outputs.web-components-change == 'true'
&& (github.event_name != 'pull_request' || github.event.pull_request.draft == false)
needs.check-change-type.outputs.web-components-change == 'true' && (github.event_name != 'pull_request' || github.event.pull_request.draft == false)
runs-on: ubuntu-latest
container:
image: mcr.microsoft.com/playwright:v1.57.0-noble
Expand Down Expand Up @@ -314,7 +314,7 @@ jobs:
PR_NUMBER: ${{ github.event.number }}

deploy-docs:
needs: [ unit-tests, check-change-type ]
needs: [ unit-tests, check-change-type ]
if: needs.check-change-type.outputs.pie-docs-change == 'true' || github.ref == 'refs/heads/main'
permissions:
contents: read
Expand Down Expand Up @@ -405,7 +405,6 @@ jobs:
- lint-js
- lint-workflows
- build-ubuntu-node-24
- build-windows-node-24
- unit-tests
- component-tests
- deploy-docs
Expand Down
3 changes: 1 addition & 2 deletions apps/pie-storybook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"@justeattakeaway/pie-css": "1.1.1",
"@justeattakeaway/pie-icons-webc": "1.24.2",
"@justeattakeaway/pie-webc": "0.10.15",
"dompurify": "3.3.3"
"dompurify": "3.4.8"
},
"devDependencies": {
"@justeattakeaway/pie-icons-configs": "5.21.0",
Expand All @@ -37,7 +37,6 @@
"react-dom": "18.3.1",
"react-syntax-highlighter": "15.6.6",
"remark-gfm": "4.0.1",
"serve": "14.2.6",
Comment thread
siggerzz marked this conversation as resolved.
"storybook": "10.3.5",
"storybook-dark-mode": "5.0.0"
},
Expand Down
26 changes: 13 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,17 @@
"@axe-core/playwright": "4.11.3",
"@babel/preset-env": "7.29.2",
"@changesets/changelog-github": "0.6.0",
"@changesets/cli": "2.30.0",
"@changesets/cli": "2.31.0",
"@commitlint/cli": "20.5.0",
"@commitlint/config-conventional": "20.5.0",
"@custom-elements-manifest/analyzer": "0.11.0",
"@justeat/pie-design-tokens": "7.11.1",
"@justeattakeaway/browserslist-config-pie": "0.2.1",
"@justeattakeaway/generator-pie-component": "workspace:*",
"@justeattakeaway/pie-icons": "5.25.0",
"@justeattakeaway/pie-webc-testing": "0.13.5",
"@justeattakeaway/pie-wrapper-react": "0.14.4",
"@justeattakeaway/stylelint-config-pie": "3.0.1",
"@justeattakeaway/pie-icons": "workspace:*",
"@justeattakeaway/pie-webc-testing": "workspace:*",
"@justeattakeaway/pie-wrapper-react": "workspace:*",
"@justeattakeaway/stylelint-config-pie": "workspace:*",
"@percy/cli": "1.31.14",
"@percy/playwright": "1.0.9",
"@playwright/experimental-ct-react": "1.57.0",
Expand All @@ -102,25 +102,23 @@
"eslint-plugin-import": "2.27.5",
"eslint-plugin-json-format": "2.0.1",
"eslint-plugin-vitest": "0.5.4",
"glob": "10.5.0",
"glob": "13.0.6",
Comment thread
siggerzz marked this conversation as resolved.
"husky": "8.0.3",
"jsdom": "24.1.3",
"npm-check-updates": "22.2.1",
"pinst": "3.0.0",
"rimraf": "5.0.10",
"rimraf": "6.1.3",
"rollup-plugin-visualizer": "5.12.0",
"sass": "1.60.0",
"sass": "1.100.0",
"stylelint": "16.2.1",
"stylelint-config-standard-scss": "13.0.0",
"stylelint-order": "6.0.4",
"ts-node": "10.9.2",
"tsx": "4.19.4",
"turbo": "2.9.6",
"turbo": "2.9.16",
"typescript": "5.9.3",
"vite": "6.4.2",
"vite-plugin-dts": "4.5.4",
"vitest": "4.1.8",
"yo": "7.0.1"
"vitest": "4.1.8"
},
"config": {
"commitizen": {
Expand All @@ -133,6 +131,8 @@
"resolutions": {
"basic-ftp": "5.2.1",
"lit": "3.2.0",
"typescript": "5.8.3"
"tar": "7.5.16",
"typescript": "5.8.3",
"undici": "7.24.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ test.describe('PieDataTable - Accessibility tests', () => {
test(`should test a11y for Story: ${friendlyStoryName}`, async ({ page, makeAxeBuilder }) => {
// Arrange
const basePage = new BasePage(page, `data-table--${storyUrl}`);
basePage.waitUntilStrategy = 'networkidle';

await basePage.load();

Expand Down
2 changes: 1 addition & 1 deletion packages/tools/eslint-config-pie/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"lint:scripts:fix": "run -T eslint . --fix",
"check-rules": "eslint-find-rules --unused",
"pretest": "yarn lint:scripts && yarn check-rules",
"test": "vitest run",
"test": "run -T vitest run",
"test:ci": "yarn test --testTimeout=10000"
},
"license": "Apache-2.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@
"author": "Just Eat Takeaway.com - Design System Team",
"scripts": {
"build": "yarn extract-component-data",
"test": "run -T vitest",
"test": "run -T vitest run",
Comment thread
siggerzz marked this conversation as resolved.
"test:watch": "run -T vitest",
"lint:scripts": "run -T eslint .",
"lint:scripts:fix": "run -T eslint . --fix",
"extract-component-data": "node scripts/extract-component-data.js"
Expand All @@ -34,11 +35,13 @@
"snacks-components-data.json",
"snacks-components-solutions.js"
],
"dependencies": {
"glob": "13.0.6"
},
"devDependencies": {
"@typescript-eslint/parser": "8.46.3",
"eslint": "8.57.0",
"eslint-plugin-eslint-plugin": "6.0.0",
"glob": "11.1.0"
Comment thread
siggerzz marked this conversation as resolved.
"eslint-plugin-eslint-plugin": "6.0.0"
},
Comment thread
siggerzz marked this conversation as resolved.
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
Expand Down
4 changes: 2 additions & 2 deletions packages/tools/generator-pie-component/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ $ yarn build --filter=@justeattakeaway/generator-pie-component --force
To run the generator, use this command from the root directory within the monorepo:

```sh
$ yarn yo @justeattakeaway/pie-component
$ npx yo @justeattakeaway/pie-component
```

An interactive prompt should now be displayed asking for a component name.
Expand Down Expand Up @@ -103,4 +103,4 @@ In order to contribute to the `generator-pie-component`, it's advised to link yo

To do this, run `yarn link` from the root of the `generator-pie-component` folder in the mono-repo.

Once you have done this, running `yarn yo @justeattakeaway/pie-component` will run your local copy of the generator (rather than the version installed globally via NPM/Yarn).
Once you have done this, running `npx yo @justeattakeaway/pie-component` will run your local copy of the generator (rather than the version installed globally via NPM/Yarn).
9 changes: 5 additions & 4 deletions packages/tools/generator-pie-component/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,13 @@
],
"dependencies": {
"chalk": "5.6.2",
"yaml": "2.8.3",
"yeoman-generator": "5.10.0"
"mem-fs": "4.1.4",
Comment thread
siggerzz marked this conversation as resolved.
"yaml": "2.9.0",
"yeoman-generator": "8.2.2"
},
"devDependencies": {
"@types/yeoman-generator": "5.2.12",
"rollup-plugin-copy": "3.4.0",
"@types/yeoman-generator": "6.0.0",
"rollup-plugin-copy": "3.5.0",
"rollup-plugin-delete": "2.0.0"
},
"license": "Apache-2.0"
Expand Down
2 changes: 1 addition & 1 deletion packages/tools/pie-css/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"cdnContentType": "text/css"
},
"scripts": {
"build": "run -T ts-node ./buildCss.ts && run -T ts-node ./buildInternalScss.ts",
"build": "run -T tsx ./buildCss.ts && run -T tsx ./buildInternalScss.ts",
Comment thread
siggerzz marked this conversation as resolved.
"generate:typography-docs": "node scripts/generate-typography-docs.js",
"lint:scripts": "run -T eslint .",
"lint:scripts:fix": "yarn lint:scripts --fix",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,6 @@ exports[`components/radio.css > should render the expected CSS content 1`] = `
cursor: var(--radio-cursor);
background-color: var(--radio-bg-color);
flex-shrink: 0;
transition: background-color var(--dt-motion-timing-100) var(--radio-motion-easing);
}
.c-radio:before {
--circle-size: calc(var(--radio-border-width) * -1);
Expand Down Expand Up @@ -654,6 +653,9 @@ exports[`components/radio.css > should render the expected CSS content 1`] = `
--radio-bg-color--checked: color-mix(in srgb, var(--dt-color-active-01-bg) var(--dt-color-active-01), var(--dt-color-interactive-brand));
}
}
.c-radio {
transition: background-color var(--dt-motion-timing-100) var(--radio-motion-easing);
}
@media (prefers-reduced-motion: no-preference) {
.c-radio:not(:disabled):before {
transition: all var(--dt-motion-timing-100) var(--radio-motion-easing);
Expand Down
2 changes: 0 additions & 2 deletions packages/tools/pie-icons-webc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,10 @@
"@justeattakeaway/pie-icons": "5.27.2",
"@justeattakeaway/pie-icons-configs": "5.21.0",
"@rollup/plugin-typescript": "12.3.0",
"@web/test-runner": "0.16.1",
Comment thread
siggerzz marked this conversation as resolved.
"just-kebab-case": "4.2.0",
"just-pascal-case": "3.2.0",
"react": "18.3.1",
"react-dom": "18.3.1",
"rimraf": "5.0.10",
Comment thread
siggerzz marked this conversation as resolved.
"rollup": "4.60.4",
"rollup-plugin-multi-input": "1.9.0",
"typescript": "5.8.3"
Expand Down
1 change: 0 additions & 1 deletion packages/tools/pie-icons/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@
"babel-loader": "8.3.0",
"cheerio": "1.2.0",
"fs-extra": "11.3.4",
"glob": "11.1.0",
"html-minifier-terser": "7.2.0",
Comment thread
siggerzz marked this conversation as resolved.
"is-svg": "6.1.0",
"prettier": "2.8.7",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,22 @@ yarn install
`;

exports[`create and publish workflow > if other packages were changed > should ignore monorepo/docs/storybook changes 1`] = `"No changed packages found! Please make sure you have added a changeset entry for the packages you would like to snapshot."`;

exports[`create and publish workflow > when run with \`--no-git-tag\` > should detect public packages from the npm publish success block, not "New tag:" lines 1`] = `
"@pie-contributor Your snapshots have been published to npm!

Test the snapshots by updating your \`package.json\` with the newly-published versions:
> [!NOTE]
> If you have more than one of these packages installed, we suggest using the new snapshots for all of them to help avoid version conflicts.

\`\`\`sh
yarn up @justeattakeaway/pie-css@0.0.0-snapshot-release-20260604162742 --mode=update-lockfile
\`\`\`
\`\`\`sh
yarn up @justeattakeaway/pie-icons@0.0.0-snapshot-release-20260604162742 --mode=update-lockfile
\`\`\`
Then finally:
\`\`\`sh
yarn install
\`\`\`"
`;
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ describe('create and publish workflow', () => {
};

execa = {
command: mockExecaCommand,
execaCommand: mockExecaCommand,
};

github = {
Expand Down Expand Up @@ -102,6 +102,29 @@ describe('create and publish workflow', () => {
});
});

describe('when run with `--no-git-tag`', () => {
test('should detect public packages from the npm publish success block, not "New tag:" lines', async () => {
// Arrange: public packages only appear in the success block (no git tags),
// while private packages still print "New tag:" lines and must be ignored.
sampleOutput = `
🦋 success packages published successfully:
🦋 @justeattakeaway/pie-css@0.0.0-snapshot-release-20260604162742
@justeattakeaway/pie-icons@0.0.0-snapshot-release-20260604162742
🦋 success found untagged projects:
🦋 @justeattakeaway/pie-docs@0.0.0-snapshot-release-20260604162742
@justeattakeaway/pie-storybook@0.0.0-snapshot-release-20260604162742
🦋 New tag: @justeattakeaway/pie-docs@0.0.0-snapshot-release-20260604162742
🦋 New tag: @justeattakeaway/pie-storybook@0.0.0-snapshot-release-20260604162742
`;

// Act
await workflow({ context, github }, execa);

// Assert
expect(expectedBody).toMatchSnapshot();
});
});

describe('if exactly one component was changed', () => {
test('should not include the note about multiple packages', async () => {
// Arrange
Expand Down
11 changes: 5 additions & 6 deletions packages/tools/pie-monorepo-utils/changeset-snapshot/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,16 @@ const handleError = async (github, context, message, error) => {
* @returns {Array<string>} The tags of the newly published snapshots
*/
const publishSnapshot = async (execa) => {
await execa.command('yarn changeset:snapshot', { stdio: 'inherit' });
await execa.execaCommand('yarn changeset:snapshot', { stdio: 'inherit' });

const releaseProcess = execa.command('yarn changeset:publish --no-git-tags --snapshot --tag snapshot-release');
const releaseProcess = execa.execaCommand('yarn changeset:publish --no-git-tag --tag snapshot-release');
releaseProcess.stdout.pipe(process.stdout);

const { stdout } = await releaseProcess;

const newTags = Array
.from(stdout.matchAll(/New tag:\s+([^\s\n]+)/g))
.map(([, tag]) => tag)
.filter((tag) => !/pie-(monorepo|docs|storybook)|@justeattakeaway\/pie-docs/.test(tag));
const newTags = [...new Set(Array
.from(stdout.matchAll(/@justeattakeaway\/[\w-]+@\d+\.\d+\.\d+-snapshot-release-\d+/g))
.map(([tag]) => tag))].filter((tag) => !/pie-(monorepo|docs|storybook)/.test(tag));

return newTags;
};
Expand Down
3 changes: 3 additions & 0 deletions packages/tools/pie-monorepo-utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,8 @@
"@changesets/parse": "0.4.3",
"@justeattakeaway/eslint-plugin-snacks-pie-migration": "0.7.1",
"chalk": "4.1.2"
},
"devDependencies": {
"execa": "9.6.1"
Comment thread
siggerzz marked this conversation as resolved.
}
}
Loading
Loading