diff --git a/.changeset/config.json b/.changeset/config.json index ff0e7e59902..36ab94457be 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -15,7 +15,7 @@ "!@spectrum-web-components/2nd-gen" ] ], - "linked": [["@adobe/swc", "@spectrum-web-components/core"]], + "linked": [["@adobe/spectrum-wc", "@spectrum-web-components/core"]], "access": "public", "baseBranch": "main", "updateInternalDependencies": "patch", diff --git a/.changeset/tired-comics-help.md b/.changeset/tired-comics-help.md new file mode 100644 index 00000000000..926d21e8658 --- /dev/null +++ b/.changeset/tired-comics-help.md @@ -0,0 +1,5 @@ +--- +'@adobe/spectrum-wc': patch +--- + +Testing diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1d080556663..7967e60d2dd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @adobe/swc-maintainers +* @adobe/swc-maintainers \ No newline at end of file diff --git a/.github/actions/setup-job/action.yml b/.github/actions/setup-job/action.yml index bbe69d5a92a..871366c65d7 100644 --- a/.github/actions/setup-job/action.yml +++ b/.github/actions/setup-job/action.yml @@ -7,10 +7,10 @@ runs: shell: bash run: corepack enable - - name: Setup Node 20 + - name: Setup Node from .nvmrc uses: actions/setup-node@v4 with: - node-version: '20' + node-version-file: '.nvmrc' cache: 'yarn' registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/publish-1st-gen.yml b/.github/workflows/publish-1st-gen.yml new file mode 100644 index 00000000000..a6fe23be43a --- /dev/null +++ b/.github/workflows/publish-1st-gen.yml @@ -0,0 +1,170 @@ +name: Publish Packages + +on: + workflow_dispatch: + inputs: + tag: + description: 'NPM dist-tag (e.g., latest, beta, snapshot)' + required: false + default: 'snapshot-test' + push: + branches: + - SWC-1405 + +jobs: + publish: + runs-on: ubuntu-latest + environment: npm-publish + permissions: + id-token: write # Required for OIDC trusted publishing (1st-gen) + contents: write # Required for git push + env: + YARN_ENABLE_IMMUTABLE_INSTALLS: false + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Setup job and install dependencies + uses: ./.github/actions/setup-job + + - name: Verify npm CLI version for trusted publishing + run: | + npm --version + NPM_VERSION=$(npm --version | cut -d. -f1) + if [ "$NPM_VERSION" -lt 11 ]; then + echo "Upgrading npm for trusted publishing support (requires 11.5.1+)" + npm install -g npm@latest + npm --version + fi + + - name: Set Git identity + run: | + git config --global user.email "support+actions@github.com" + git config --global user.name "github-actions-bot" + + - name: Extract tag from commit message or use default + id: extract-tag + run: | + # Get tag from workflow_dispatch input (if manually triggered) + WORKFLOW_TAG="${{ github.event.inputs.tag }}" + + # If not manually triggered, try to extract from commit message + if [ -z "$WORKFLOW_TAG" ]; then + COMMIT_MSG="${{ github.event.head_commit.message }}" + # Look for [tag:xxx] pattern in commit message + if echo "$COMMIT_MSG" | grep -qE '\[tag:([a-zA-Z0-9-]+)\]'; then + WORKFLOW_TAG=$(echo "$COMMIT_MSG" | grep -oE '\[tag:([a-zA-Z0-9-]+)\]' | sed 's/\[tag://;s/\]//') + else + # Default to snapshot-test if no tag specified + WORKFLOW_TAG="snapshot-test" + fi + fi + + echo "tag=$WORKFLOW_TAG" >> $GITHUB_OUTPUT + echo "Using npm tag: $WORKFLOW_TAG" + + - name: Check for changesets + id: check-changesets + run: | + if [ -z "$(ls -A .changeset/*.md 2>/dev/null | grep -v README)" ]; then + echo "has_changesets=false" >> $GITHUB_OUTPUT + echo "No changesets found - skipping publish" + else + echo "has_changesets=true" >> $GITHUB_OUTPUT + CHANGESET_COUNT=$(ls -1 .changeset/*.md 2>/dev/null | grep -v README | wc -l | tr -d ' ') + echo "Found $CHANGESET_COUNT changesets" + fi + + - name: Verify OIDC token availability + if: steps.check-changesets.outputs.has_changesets == 'true' + run: | + if [ -n "$ACTIONS_ID_TOKEN_REQUEST_URL" ]; then + echo "✓ OIDC token is available for 1st-gen trusted publishing" + else + echo "✗ OIDC token NOT available - trusted publishing will fail" + exit 1 + fi + + - name: Build all packages + if: steps.check-changesets.outputs.has_changesets == 'true' + run: yarn build + + - name: Generate custom elements manifests + if: steps.check-changesets.outputs.has_changesets == 'true' + run: yarn workspace @spectrum-web-components/1st-gen custom-element-json + + - name: Confirm build artifacts + if: steps.check-changesets.outputs.has_changesets == 'true' + run: yarn workspace @spectrum-web-components/1st-gen build:confirm + + - name: Version packages + if: steps.check-changesets.outputs.has_changesets == 'true' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + TAG="${{ steps.extract-tag.outputs.tag }}" + if [ "$TAG" == "latest" ]; then + yarn workspace @spectrum-web-components/1st-gen changelog:global + yarn changeset version + else + yarn changeset version --snapshot $TAG + fi + + - name: Refresh lockfile and rebuild + if: steps.check-changesets.outputs.has_changesets == 'true' + run: | + yarn install --refresh-lockfile + yarn build + + - name: Configure NPM authentication for 2nd-gen (Adobe namespace) + if: steps.check-changesets.outputs.has_changesets == 'true' + run: | + echo "//registry.npmjs.org/:_authToken=${{ secrets.ADOBE_BOT_NPM_TOKEN }}" > ~/.npmrc + + - name: Publish all packages + if: steps.check-changesets.outputs.has_changesets == 'true' + env: + NODE_AUTH_TOKEN: ${{ secrets.ADOBE_BOT_NPM_TOKEN }} + run: | + TAG="${{ steps.extract-tag.outputs.tag }}" + + # Changeset publishes all packages (1st-gen, core, and 2nd-gen) + # npm CLI automatically uses: + # - OIDC trusted publishing for 1st-gen packages (configured on npmjs.com) + # - Token authentication for 2nd-gen (from .npmrc) + if [ "$TAG" == "latest" ]; then + yarn changeset publish --no-git-tag + else + yarn changeset publish --no-git-tag --tag $TAG + fi + + - name: Build React wrappers + if: steps.check-changesets.outputs.has_changesets == 'true' + run: yarn workspace @spectrum-web-components/1st-gen build:react + + - name: Publish React wrappers + if: steps.check-changesets.outputs.has_changesets == 'true' + run: | + TAG="${{ steps.extract-tag.outputs.tag }}" + if [ "$TAG" == "latest" ]; then + PUBLISH_CMD="npm publish --access public" + else + PUBLISH_CMD="npm publish --tag $TAG --access public" + fi + cd 1st-gen/react + for dir in */; do + (cd "$dir" && $PUBLISH_CMD) || exit 1 + done + + - name: Commit and push changes + if: steps.check-changesets.outputs.has_changesets == 'true' && steps.extract-tag.outputs.tag == 'latest' + run: | + git add . + git commit -m "chore: release packages #publish" || echo "No changes to commit" + git push + + - name: Create git tag + if: steps.check-changesets.outputs.has_changesets == 'true' && steps.extract-tag.outputs.tag == 'latest' + run: node ./1st-gen/scripts/create-git-tag.js diff --git a/1st-gen/scripts/cem-plugin-react-wrapper.js b/1st-gen/scripts/cem-plugin-react-wrapper.js index 0a4a02ae988..b54881768bf 100644 --- a/1st-gen/scripts/cem-plugin-react-wrapper.js +++ b/1st-gen/scripts/cem-plugin-react-wrapper.js @@ -60,6 +60,11 @@ function genPackageJson( "description": "React and Next.js wrapper of the ${dependencyPkgName} component", "license": "Apache-2.0", "author": "Adobe", + "repository": { + "type": "git", + "url": "https://github.com/adobe/spectrum-web-components.git", + "directory": "1st-gen/react/${componentName}" + }, "type": "module",${ isIconPkg ? '' diff --git a/1st-gen/storybook/main.js b/1st-gen/storybook/main.js index 188ff25b55f..4322751f4a4 100644 --- a/1st-gen/storybook/main.js +++ b/1st-gen/storybook/main.js @@ -54,7 +54,9 @@ export default { '@spectrum-web-components/core': resolve( '../2nd-gen/packages/core/dist' ), - '@adobe/swc': resolve('../2nd-gen/packages/swc/dist'), + '@adobe/spectrum-wc': resolve( + '../2nd-gen/packages/swc/dist' + ), }, }, }); diff --git a/2nd-gen/.eslintrc.json b/2nd-gen/.eslintrc.json index 9ebc2ddde70..caef8dbef24 100644 --- a/2nd-gen/.eslintrc.json +++ b/2nd-gen/.eslintrc.json @@ -151,9 +151,9 @@ [ "^lit", "^@lit", - "^(?!@adobe/swc|@spectrum-web-components)@?\\w" + "^(?!@adobe/spectrum-wc|@spectrum-web-components)@?\\w" ], - ["^@adobe/swc", "^@spectrum-web-components"], + ["^@adobe/spectrum-wc", "^@spectrum-web-components"], ["^\\u0000"], ["^\\."], ["^.+\\.(css|scss|sass|less|styl)$"] diff --git a/2nd-gen/README.md b/2nd-gen/README.md index 1175981517a..d4d91910e11 100644 --- a/2nd-gen/README.md +++ b/2nd-gen/README.md @@ -5,7 +5,7 @@ This workspace contains the second generation of Spectrum Web Components, built ## Packages - **[@spectrum-web-components/core](./packages/core)** - Abstract base classes providing shared functionality -- **[@adobe/swc](./packages/swc)** - Concrete component implementations with styling +- **[@adobe/spectrum-wc](./packages/swc)** - Concrete component implementations with styling ## About SWC diff --git a/2nd-gen/package.json b/2nd-gen/package.json index a1787ce13dd..abf8a350e80 100644 --- a/2nd-gen/package.json +++ b/2nd-gen/package.json @@ -16,15 +16,15 @@ }, "type": "module", "scripts": { - "build": "yarn workspaces foreach --from '{@spectrum-web-components/core,@adobe/swc}' --recursive run build", - "clean": "yarn workspaces foreach --from '{@spectrum-web-components/core,@adobe/swc}' --recursive run clean", - "dev:analyze": "yarn workspace @adobe/swc analyze:watch", + "build": "yarn workspaces foreach --from '{@spectrum-web-components/core,@adobe/spectrum-wc}' --recursive run build", + "clean": "yarn workspaces foreach --from '{@spectrum-web-components/core,@adobe/spectrum-wc}' --recursive run clean", + "dev:analyze": "yarn workspace @adobe/spectrum-wc analyze:watch", "dev:core": "yarn workspace @spectrum-web-components/core dev", "lint": "cd .. && eslint 2nd-gen --ext .ts,.js,.json", "start": "run-p dev:core dev:analyze storybook", - "storybook": "yarn workspace @adobe/swc storybook", - "storybook:build": "yarn workspace @adobe/swc storybook:build", - "test": "yarn workspace @adobe/swc test", + "storybook": "yarn workspace @adobe/spectrum-wc storybook", + "storybook:build": "yarn workspace @adobe/spectrum-wc storybook:build", + "test": "yarn workspace @adobe/spectrum-wc test", "test:a11y": "playwright test --config=../playwright.a11y.config.ts", "test:a11y:1st": "playwright test --config=../playwright.a11y.config.ts --project=1st-gen", "test:a11y:2nd": "playwright test --config=../playwright.a11y.config.ts --project=2nd-gen", diff --git a/2nd-gen/packages/swc/.storybook/guides/customization/component-styles.mdx b/2nd-gen/packages/swc/.storybook/guides/customization/component-styles.mdx index 7d333dc0f59..f7a28b009d5 100644 --- a/2nd-gen/packages/swc/.storybook/guides/customization/component-styles.mdx +++ b/2nd-gen/packages/swc/.storybook/guides/customization/component-styles.mdx @@ -92,7 +92,7 @@ For scaling values, you will need to provide both the medium and large values, e Overrides should be included after the [main library stylesheet](docs/guides-customization-getting-started--docs), which allows overrides to work via the natural CSS cascade. ```css -/* Assumes @adobe/swc/stylesheets/swc.css is loaded prior */ +/* Assumes @adobe/spectrum-wc/stylesheets/swc.css is loaded prior */ /* Overrides for non-scaling values */ :root { diff --git a/2nd-gen/packages/swc/.storybook/guides/customization/getting-started.mdx b/2nd-gen/packages/swc/.storybook/guides/customization/getting-started.mdx index cddbe723b84..dbc7a31730a 100644 --- a/2nd-gen/packages/swc/.storybook/guides/customization/getting-started.mdx +++ b/2nd-gen/packages/swc/.storybook/guides/customization/getting-started.mdx @@ -10,9 +10,9 @@ SWC also offers options to alter the [theme and scale contexts](/docs/guides-cus ## Include the stylesheet -{/* TODO: Help needed figuring out how to get this to export post-processing! Open to different name, ex. just `@adobe/swc/tokens.css */} +{/* TODO: Help needed figuring out how to get this to export post-processing! Open to different name, ex. just `@adobe/spectrum-wc/tokens.css */} -The stylesheet is available via `@adobe/swc/stylesheets/swc.css`. +The stylesheet is available via `@adobe/spectrum-wc/stylesheets/swc.css`. Inclusion will be dependent on your application environment and build pipeline. diff --git a/2nd-gen/packages/swc/.storybook/main.ts b/2nd-gen/packages/swc/.storybook/main.ts index 26588a75158..cf253b43e06 100644 --- a/2nd-gen/packages/swc/.storybook/main.ts +++ b/2nd-gen/packages/swc/.storybook/main.ts @@ -76,7 +76,7 @@ const config = { __dirname, '../../core' ), - '@adobe/swc': resolve(__dirname, '../components'), + '@adobe/spectrum-wc': resolve(__dirname, '../components'), '@adobe/postcss-token': resolve( __dirname, '../../tools/postcss-token' diff --git a/2nd-gen/packages/swc/.storybook/preview.ts b/2nd-gen/packages/swc/.storybook/preview.ts index 2fd6105c54a..0ebe63f4861 100644 --- a/2nd-gen/packages/swc/.storybook/preview.ts +++ b/2nd-gen/packages/swc/.storybook/preview.ts @@ -12,10 +12,7 @@ import customElements from './custom-elements.json'; import { withContext } from './decorators/contexts'; import { withStaticColorPlayground } from './decorators/static-color-playground'; -import { - withFlexLayout, - withStaticColorsDemo, -} from './decorators'; +import { withFlexLayout, withStaticColorsDemo } from './decorators'; import { FontLoader } from './loaders/font-loader'; const storybookHelperOptions: Options = { diff --git a/2nd-gen/packages/swc/components/asset/stories/asset.stories.ts b/2nd-gen/packages/swc/components/asset/stories/asset.stories.ts index 7000a1cce99..b9b063d57c0 100644 --- a/2nd-gen/packages/swc/components/asset/stories/asset.stories.ts +++ b/2nd-gen/packages/swc/components/asset/stories/asset.stories.ts @@ -14,7 +14,9 @@ import { html } from 'lit'; import type { Meta, StoryObj as Story } from '@storybook/web-components'; import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers'; -import { Asset } from '@adobe/swc/asset'; +import { Asset } from '@adobe/spectrum-wc/asset'; + +import '@adobe/spectrum-wc/asset'; // ──────────────── // METADATA diff --git a/2nd-gen/packages/swc/components/badge/stories/badge.stories.ts b/2nd-gen/packages/swc/components/badge/stories/badge.stories.ts index f311d46f24d..ee2ea6c78fe 100644 --- a/2nd-gen/packages/swc/components/badge/stories/badge.stories.ts +++ b/2nd-gen/packages/swc/components/badge/stories/badge.stories.ts @@ -14,9 +14,9 @@ import { html } from 'lit'; import type { Meta, StoryObj as Story } from '@storybook/web-components'; import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers'; -import { Badge } from '@adobe/swc/badge'; +import { Badge } from '@adobe/spectrum-wc/badge'; -import '@adobe/swc/badge'; +import '@adobe/spectrum-wc/badge'; import { BADGE_VALID_SIZES, diff --git a/2nd-gen/packages/swc/components/badge/test/badge.test.ts b/2nd-gen/packages/swc/components/badge/test/badge.test.ts index f9a25a2001c..3345b6d2398 100644 --- a/2nd-gen/packages/swc/components/badge/test/badge.test.ts +++ b/2nd-gen/packages/swc/components/badge/test/badge.test.ts @@ -13,9 +13,9 @@ import { html } from 'lit'; import { beforeEach, describe, expect, test } from 'vitest'; -import type { Badge } from '@adobe/swc/badge'; +import type { Badge } from '@adobe/spectrum-wc/badge'; -import '@adobe/swc/badge'; +import '@adobe/spectrum-wc/badge'; import { fixture } from '../../../utils/test-utils.js'; diff --git a/2nd-gen/packages/swc/components/divider/stories/divider.stories.ts b/2nd-gen/packages/swc/components/divider/stories/divider.stories.ts index 1ca3f08dd73..10c7e26e563 100644 --- a/2nd-gen/packages/swc/components/divider/stories/divider.stories.ts +++ b/2nd-gen/packages/swc/components/divider/stories/divider.stories.ts @@ -14,9 +14,9 @@ import { html } from 'lit'; import type { Meta, StoryObj as Story } from '@storybook/web-components'; import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers'; -import { Divider } from '@adobe/swc/divider'; +import { Divider } from '@adobe/spectrum-wc/divider'; -import '@adobe/swc/divider'; +import '@adobe/spectrum-wc/divider'; // ──────────────── // METADATA diff --git a/2nd-gen/packages/swc/components/progress-circle/stories/progress-circle.stories.ts b/2nd-gen/packages/swc/components/progress-circle/stories/progress-circle.stories.ts index 2c3f6263f99..7dd6fb05f66 100644 --- a/2nd-gen/packages/swc/components/progress-circle/stories/progress-circle.stories.ts +++ b/2nd-gen/packages/swc/components/progress-circle/stories/progress-circle.stories.ts @@ -14,9 +14,9 @@ import { html } from 'lit'; import type { Meta, StoryObj as Story } from '@storybook/web-components'; import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers'; -import { ProgressCircle } from '@adobe/swc/progress-circle'; +import { ProgressCircle } from '@adobe/spectrum-wc/progress-circle'; -import '@adobe/swc/progress-circle'; +import '@adobe/spectrum-wc/progress-circle'; // ──────────────── // METADATA diff --git a/2nd-gen/packages/swc/components/status-light/stories/status-light.stories.ts b/2nd-gen/packages/swc/components/status-light/stories/status-light.stories.ts index 8c8d406842b..1df5a9a6d11 100644 --- a/2nd-gen/packages/swc/components/status-light/stories/status-light.stories.ts +++ b/2nd-gen/packages/swc/components/status-light/stories/status-light.stories.ts @@ -13,7 +13,7 @@ import { html } from 'lit'; import type { Meta, StoryObj as Story } from '@storybook/web-components'; import { getStorybookHelpers } from '@wc-toolkit/storybook-helpers'; -import { StatusLight } from '@adobe/swc/status-light'; +import { StatusLight } from '@adobe/spectrum-wc/status-light'; import { STATUSLIGHT_VARIANTS_COLOR_S2, STATUSLIGHT_VARIANTS_SEMANTIC_S2, @@ -21,7 +21,7 @@ import { StatusLightSemanticVariantS2, } from '@spectrum-web-components/core/components/status-light'; -import '@adobe/swc/status-light'; +import '@adobe/spectrum-wc/status-light'; // ──────────────── // METADATA diff --git a/2nd-gen/packages/swc/components/status-light/test/status-light.test.ts b/2nd-gen/packages/swc/components/status-light/test/status-light.test.ts index 767535c8ace..6b88f48a87d 100644 --- a/2nd-gen/packages/swc/components/status-light/test/status-light.test.ts +++ b/2nd-gen/packages/swc/components/status-light/test/status-light.test.ts @@ -13,9 +13,9 @@ import { html } from 'lit'; import { afterEach, beforeEach, describe, expect, test, vi } from 'vitest'; -import type { StatusLight } from '@adobe/swc/status-light'; +import type { StatusLight } from '@adobe/spectrum-wc/status-light'; -import '@adobe/swc/status-light'; +import '@adobe/spectrum-wc/status-light'; import { fixture } from '../../../utils/test-utils.js'; diff --git a/2nd-gen/packages/swc/package.json b/2nd-gen/packages/swc/package.json index 1a006bc662e..8d8103e75a9 100644 --- a/2nd-gen/packages/swc/package.json +++ b/2nd-gen/packages/swc/package.json @@ -1,7 +1,6 @@ { - "name": "@adobe/swc", + "name": "@adobe/spectrum-wc", "version": "0.0.2", - "private": true, "description": "Spectrum Web Components 2nd generation - rendering implementations", "license": "Apache-2.0", "author": "Adobe", @@ -16,10 +15,6 @@ }, "type": "module", "exports": { - ".": { - "types": "./dist/index.d.ts", - "import": "./dist/index.js" - }, "./*": { "types": "./dist/components/*/index.d.ts", "import": "./dist/components/*/index.js" @@ -27,12 +22,18 @@ "./components/*": { "types": "./dist/components/*/index.d.ts", "import": "./dist/components/*/index.js" + }, + "./stylesheets/*.css": { + "default": "./stylesheets/*.css" + }, + "./utils/*": { + "types": "./dist/utils/*.d.ts", + "import": "./dist/utils/*.js" } }, - "main": "./dist/index.js", - "module": "./dist/index.js", "files": [ - "dist/" + "dist/", + "stylesheets/" ], "scripts": { "analyze": "cem analyze --config cem.config.js", @@ -49,7 +50,6 @@ "test:ui": "vitest --ui", "test:watch": "run-p dev:core vitest" }, - "types": "./dist/index.d.ts", "dependencies": { "@spectrum-web-components/core": "0.0.2", "lit": "^2.5.0 || ^3.1.3" @@ -101,6 +101,8 @@ "css" ], "customElements": ".storybook/custom-elements.json", + "main": "./dist/index.js", + "module": "./dist/index.js", "publishConfig": { "access": "public" } diff --git a/2nd-gen/packages/swc/tsconfig.json b/2nd-gen/packages/swc/tsconfig.json index a57f138af05..dc6f34ee10b 100644 --- a/2nd-gen/packages/swc/tsconfig.json +++ b/2nd-gen/packages/swc/tsconfig.json @@ -5,7 +5,7 @@ "noEmit": false, "outDir": "./dist", "paths": { - "@adobe/swc/*": ["./components/*"], + "@adobe/spectrum-wc/*": ["./components/*"], "@spectrum-web-components/core/*": ["../core/*"] }, "rootDir": "./", diff --git a/2nd-gen/packages/swc/vite.config.ts b/2nd-gen/packages/swc/vite.config.ts index abf9d318eb9..092418772d9 100644 --- a/2nd-gen/packages/swc/vite.config.ts +++ b/2nd-gen/packages/swc/vite.config.ts @@ -99,7 +99,7 @@ export default defineConfig({ // Needed for Storybook to work alias: { '@spectrum-web-components/core': resolve(__dirname, '../core'), - '@adobe/swc': resolve(__dirname, './components'), + '@adobe/spectrum-wc': resolve(__dirname, './components'), '@adobe/postcss-token': resolve( __dirname, '../tools/postcss-token' diff --git a/2nd-gen/packages/tools/postcss-token/index.d.ts b/2nd-gen/packages/tools/postcss-token/index.d.ts new file mode 100644 index 00000000000..2129ab0bd0c --- /dev/null +++ b/2nd-gen/packages/tools/postcss-token/index.d.ts @@ -0,0 +1,17 @@ +/** + * Copyright 2025 Adobe. All rights reserved. + * This file is licensed to you under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. You may obtain a copy + * of the License at http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under + * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS + * OF ANY KIND, either express or implied. See the License for the specific language + * governing permissions and limitations under the License. + */ + +import type { PluginCreator } from 'postcss'; + +declare const postcssToken: PluginCreator; + +export default postcssToken; diff --git a/2nd-gen/packages/tools/postcss-token/package.json b/2nd-gen/packages/tools/postcss-token/package.json index 4415b98f402..688be68713e 100644 --- a/2nd-gen/packages/tools/postcss-token/package.json +++ b/2nd-gen/packages/tools/postcss-token/package.json @@ -23,6 +23,7 @@ "test": "vitest --run", "test:watch": "vitest --watch" }, + "types": "index.d.ts", "dependencies": { "@adobe/swc-tokens": "workspace:*" }, diff --git a/2nd-gen/packages/tools/swc-tokens/README.md b/2nd-gen/packages/tools/swc-tokens/README.md index a71d0de47e5..786c83cacc7 100644 --- a/2nd-gen/packages/tools/swc-tokens/README.md +++ b/2nd-gen/packages/tools/swc-tokens/README.md @@ -1,6 +1,6 @@ # @adobe/swc-tokens -This package ingests Spectrum design token source data and converts it into CSS custom properties and a unified stylesheet for use by `@adobe/swc` components. +This package ingests Spectrum design token source data and converts it into CSS custom properties and a unified stylesheet for use by `@adobe/spectrum-wc` components. An additional function, `lookupToken()`, is exported for use by `@adobe/postcss-token`. It powers the `token()` CSS function by resolving token names to either computed values or composed custom properties. @@ -22,7 +22,7 @@ Ensure tokens are updated in the dependent packages by running the following com yarn tokens:update ``` -This will first run all token related tests, then update the extension-relative `tokens.json` for `swc-vscode-token` and the library-relative `tokens.css` for `@adobe/swc`. +This will first run all token related tests, then update the extension-relative `tokens.json` for `swc-vscode-token` and the library-relative `tokens.css` for `@adobe/spectrum-wc`. If any test fails, the artifacts will not be generated, allowing you to investigate and fix any issues. @@ -238,7 +238,7 @@ The main package provides a CLI to produce either the unified stylesheet `tokens > For purposes of the main package, those files are git ignored and intended for debugging purposes only. -For the primary consuming package `@adobe/swc`, the following CLI command is used: +For the primary consuming package `@adobe/spectrum-wc`, the following CLI command is used: ```bash swc-tokens --outputType stylesheet --out ./stylesheets/tokens.css --prefix swc diff --git a/package.json b/package.json index 6bce4d65d1a..fbb63bb3e0b 100644 --- a/package.json +++ b/package.json @@ -35,12 +35,13 @@ "test:a11y:report": "playwright show-report 2nd-gen/test/playwright-a11y/report", "test:a11y:ui": "playwright test --config=playwright.a11y.config.ts --ui", "tokens:test": "yarn workspace @adobe/swc-tokens test && yarn workspace @adobe/postcss-token test && yarn workspace swc-vscode-token test", - "tokens:update": "yarn tokens:test && yarn workspace swc-vscode-token tokens && yarn workspace @adobe/swc stylesheets" + "tokens:update": "yarn tokens:test && yarn workspace swc-vscode-token tokens && yarn workspace @adobe/spectrum-wc stylesheets" }, "workspaces": [ "1st-gen", "1st-gen/packages/*", "1st-gen/tools/*", + "1st-gen/projects/*", "1st-gen/linters/*", "2nd-gen", "2nd-gen/packages/*", diff --git a/yarn.lock b/yarn.lock index 85d585bfd5d..080042526b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -189,22 +189,9 @@ __metadata: languageName: node linkType: hard -"@adobe/swc-tokens@workspace:*, @adobe/swc-tokens@workspace:2nd-gen/packages/tools/swc-tokens": - version: 0.0.0-use.local - resolution: "@adobe/swc-tokens@workspace:2nd-gen/packages/tools/swc-tokens" - dependencies: - "@adobe/spectrum-tokens": "npm:^14.0.0" - prettier: "npm:^3.7.4" - vitest: "npm:4.0.15" - yargs: "npm:^18.0.0" - bin: - swc-tokens: index.js - languageName: unknown - linkType: soft - -"@adobe/swc@workspace:2nd-gen/packages/swc": +"@adobe/spectrum-wc@workspace:2nd-gen/packages/swc": version: 0.0.0-use.local - resolution: "@adobe/swc@workspace:2nd-gen/packages/swc" + resolution: "@adobe/spectrum-wc@workspace:2nd-gen/packages/swc" dependencies: "@adobe/postcss-token": "workspace:*" "@adobe/swc-tokens": "workspace:*" @@ -243,6 +230,19 @@ __metadata: languageName: unknown linkType: soft +"@adobe/swc-tokens@workspace:*, @adobe/swc-tokens@workspace:2nd-gen/packages/tools/swc-tokens": + version: 0.0.0-use.local + resolution: "@adobe/swc-tokens@workspace:2nd-gen/packages/tools/swc-tokens" + dependencies: + "@adobe/spectrum-tokens": "npm:^14.0.0" + prettier: "npm:^3.7.4" + vitest: "npm:4.0.15" + yargs: "npm:^18.0.0" + bin: + swc-tokens: index.js + languageName: unknown + linkType: soft + "@ampproject/remapping@npm:^2.3.0": version: 2.3.0 resolution: "@ampproject/remapping@npm:2.3.0"