Skip to content
This repository was archived by the owner on Jul 14, 2023. It is now read-only.

Build with Rollup #98

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
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
15 changes: 5 additions & 10 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: CI

on:
push:
branches: ['main']
branches: ["main"]
pull_request:
types: [opened, synchronize]

Expand All @@ -22,25 +22,20 @@ jobs:
with:
fetch-depth: 2

- name: Setup pnpm
uses: pnpm/[email protected]
with:
version: 7

- name: Setup Node.js environment
uses: actions/setup-node@v3
with:
node-version: 16
cache: 'pnpm'
cache: "yarn"

- name: Install dependencies
run: |
npm config set '@fortawesome:registry' 'https://npm.fontawesome.com/'
npm config set '//npm.fontawesome.com/:_authToken' "${{ secrets.FONTAWESOME_NPM_AUTH_TOKEN }}"
pnpm i
yarn

- name: Build
run: pnpm build
run: yarn build

- name: Test
run: pnpm test
run: yarn test
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ To build all apps and packages, run the following command:

```
cd strum
pnpm build
yarn build
```

### Develop
Expand All @@ -54,7 +54,7 @@ To develop all apps and packages, run the following command:

```
cd strum
pnpm dev
yarn dev
```

### Test
Expand All @@ -63,5 +63,5 @@ To run the jest suite:

```
cd strum
pnpm test
yarn test
```
54 changes: 27 additions & 27 deletions apps/docs/public/sitemap-0.xml
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url><loc>https://strum.design</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/overview/design-concepts</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/overview/development</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Alert</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Avatar</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Badge</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Box</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Button</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Card</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Checkbox</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Container</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Dialog</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Heading</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Input</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Nav</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Radio</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Select</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Skeleton</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Spinner</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Stack</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/StrumProvider</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Switch</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Text</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Textarea</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Toast</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Tooltip</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/VisuallyHidden</loc><lastmod>2022-09-19T22:47:57.912Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/overview/design-concepts</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/overview/development</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Alert</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Avatar</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Badge</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Button</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Card</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Checkbox</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Dialog</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Heading</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Input</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Nav</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Radio</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Select</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Skeleton</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Spinner</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Switch</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Text</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Textarea</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Toast</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/Tooltip</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/components/VisuallyHidden</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/layouts/Box</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/layouts/Container</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/layouts/Stack</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
<url><loc>https://strum.design/layouts/StrumProvider</loc><lastmod>2022-12-20T15:23:41.078Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
</urlset>
6 changes: 3 additions & 3 deletions apps/docs/public/sitemap.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://strum.design/sitemap-0.xml</loc></sitemap>
</sitemapindex>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://strum.design/sitemap-0.xml</loc></sitemap>
</sitemapindex>
2 changes: 1 addition & 1 deletion apps/docs/src/components/AccentSelect/AccentSelect.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Select, SelectItem, useTheme } from '@strum/react';
import { AccentColor } from '@strum/react/dist/types/tokens';
import { AccentColor } from '@strum/react/dist/types/tokens/accents';

const AccentSelect: React.FC = () => {
const { accent, accents, setAccent, themeIsReady } = useTheme();
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/components/NeutralSelect/NeutralSelect.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Select, SelectItem, useTheme } from '@strum/react';
import { NeutralColor } from '@strum/react/dist/types/tokens';
import { NeutralColor } from '@strum/react/dist/types/tokens/neutrals';

const NeutralSelect: React.FC = () => {
const { neutral, neutrals, setNeutral, themeIsReady } = useTheme();
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/components/ThemeSelect/ThemeSelect.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Select, SelectItem, useTheme } from '@strum/react';
import { ColorSchemeSetting } from '@strum/react/dist/types/tokens';
import { ColorSchemeSetting } from '@strum/react/dist/types/tokens/color';

const ThemeSelect: React.FC = () => {
const { setTheme, theme, themes, themeIsReady } = useTheme();
Expand Down
1 change: 0 additions & 1 deletion apps/docs/src/pages/_app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { config as faConfig } from '@fortawesome/fontawesome-svg-core';
import '@fortawesome/fontawesome-svg-core/styles.css';
import { MDXProvider } from '@mdx-js/react';
import { Inter, JetBrains_Mono } from '@next/font/google';
import '@strum/react/styles';
import { AppProps } from 'next/app';
import { createContext, useState } from 'react';
import Footer from '../components/Footer/Footer';
Expand Down
2 changes: 1 addition & 1 deletion apps/docs/src/pages/api/og.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/* eslint-disable @next/next/no-img-element */
import { tokens } from '@strum/react';
import { ColorScheme } from '@strum/react/dist/types/tokens';
import { ColorScheme } from '@strum/react/dist/types/tokens/color';
import { ImageResponse } from '@vercel/og';
import { NextRequest } from 'next/server';

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,5 @@
"npm": ">=7.0.0",
"node": ">=14.0.0"
},
"packageManager": "[email protected]"
"packageManager": "[email protected]"
}
6 changes: 6 additions & 0 deletions packages/strum-react/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 2.0.0 - 2022-12-20

### Changed

- Migrate build system to Rollup

## 1.2.1 - 2022-10-28

### Added
Expand Down
34 changes: 18 additions & 16 deletions packages/strum-react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@strum/react",
"version": "1.2.1",
"version": "2.0.0-beta.0",
"description": "A React design system built with Vanilla Extract",
"license": "MIT",
"repository": {
Expand All @@ -17,16 +17,12 @@
"styles"
],
"main": "./dist/index.js",
"module": "./dist/index.mjs",
"module": "./dist/index.js",
"types": "./dist/types/index.d.ts",
"exports": {
".": {
"import": "./dist/index.mjs",
"import": "./dist/index.js",
"require": "./dist/index.js"
},
"./styles": {
"import": "./dist/style.css",
"require": "./dist/style.css"
}
},
"files": [
Expand All @@ -38,12 +34,12 @@
"registry": "https://registry.npmjs.org"
},
"scripts": {
"build": "vite build",
"build": "yarn clean && rollup -c",
"clean": "rimraf dist",
"dev": "vite build --watch",
"dev": "rollup --watch",
"lint": "eslint src/**/*.{ts,tsx}",
"prepack": "pnpm build",
"publish": "pnpm npm publish",
"prepack": "yarn build",
"publish": "yarn publish",
"test": "jest",
"types": "tsc --noEmit --skipLibCheck"
},
Expand All @@ -54,6 +50,7 @@
"@radix-ui/react-checkbox": "1.0.1",
"@radix-ui/react-icons": "1.1.1",
"@radix-ui/react-label": "2.0.0",
"@radix-ui/react-popper": "1.0.1",
"@radix-ui/react-radio-group": "1.1.0",
"@radix-ui/react-select": "1.1.1",
"@radix-ui/react-toast": "1.1.2",
Expand All @@ -69,6 +66,7 @@
"@babel/preset-env": "7.20.2",
"@babel/preset-react": "7.18.6",
"@babel/preset-typescript": "7.18.6",
"@rollup/plugin-json": "6.0.0",
"@strum/eslint-config": "*",
"@strum/tsconfig": "*",
"@testing-library/dom": "8.19.0",
Expand All @@ -80,20 +78,24 @@
"@types/node": "18.11.17",
"@types/react": "18.0.26",
"@types/react-dom": "18.0.9",
"@vanilla-extract/babel-plugin": "1.2.0",
"@vanilla-extract/vite-plugin": "3.7.0",
"@vanilla-extract/babel-plugin": "^1.2.0",
"@vanilla-extract/rollup-plugin": "1.2.0",
"esbuild": "0.16.9",
"eslint": "8.30.0",
"jest": "29.3.1",
"jest-environment-jsdom": "29.3.1",
"polished": "4.2.2",
"react": ">=17",
"react-dom": "18.2.0",
"rimraf": "3.0.2",
"rollup": "3.7.5",
"rollup-plugin-dts": "5.0.0",
"rollup-plugin-esbuild": "5.0.0",
"rollup-plugin-node-externals": "5.0.3",
"ts-deepmerge": "5.0.0",
"ts-node": "10.9.1",
"typescript": "4.9.4",
"vite": "3.1.4",
"vite-plugin-dts": "1.6.6"
"tslib": "2.4.1",
"typescript": "4.9.4"
},
"peerDependencies": {
"react": ">=17",
Expand Down
55 changes: 55 additions & 0 deletions packages/strum-react/rollup.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import json from '@rollup/plugin-json';
import { vanillaExtractPlugin } from '@vanilla-extract/rollup-plugin';
import dts from 'rollup-plugin-dts';
import esbuild from 'rollup-plugin-esbuild';
import depsExternal from 'rollup-plugin-node-externals';

const plugins = [vanillaExtractPlugin(), depsExternal(), esbuild(), json()];

/**
* @type {import('rollup').RollupOptions}
*/
const buildOptions = {
input: 'src/index.ts',
plugins,
output: [
{
dir: 'dist',
format: 'esm',
preserveModules: true,
preserveModulesRoot: 'src',

// Change .css.js files to something else so that they don't get re-processed by consumer's setup
entryFileNames({ name }) {
return `${name.replace(/\.css$/, '.css.vanilla')}.js`;
},

// Apply preserveModulesRoot to asset names
assetFileNames({ name }) {
return name.replace(/^src\//, '');
},

exports: 'named',
},
],
};

/**
* @type {import('rollup').RollupOptions}
*/
const declarationOptions = {
input: 'src/index.ts',
plugins: [...plugins, dts()],
output: [
{
dir: 'dist/types',
format: 'esm',
preserveModules: true,
preserveModulesRoot: 'src',
},
],
};

const options = [buildOptions, declarationOptions];

export default options;
11 changes: 9 additions & 2 deletions packages/strum-react/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,18 @@
{
"extends": "@strum/tsconfig/react-library.json",
"compilerOptions": {
"declaration": true,
"declarationDir": "dist/types",
"lib": [
"dom"
],
},
"include": [
"src"
],
"exclude": [
"dist",
"build",
"node_modules"
"node_modules",
"**/*.test.tsx"
]
}
39 changes: 0 additions & 39 deletions packages/strum-react/vite.config.js

This file was deleted.

Loading