Skip to content

Commit

Permalink
feat: remove build step from ui πŸ‘·β€β™€οΈ (#26)
Browse files Browse the repository at this point in the history
  • Loading branch information
ramiAbdou authored Mar 29, 2024
1 parent f72ceac commit 3ea8939
Show file tree
Hide file tree
Showing 58 changed files with 280 additions and 1,777 deletions.
4 changes: 3 additions & 1 deletion .prettierrc.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
module.exports = {
plugins: ['prettier-plugin-tailwindcss'],
printWidth: 80,
proseWrap: 'always',
semi: true,
singleQuote: true,
trailingComma: 'es5',
tailwindConfig: './config/tailwind/tailwind.config.js',
tailwindFunctions: ['cx'],
trailingComma: 'es5',
};
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"source.organizeImports": "explicit"
}
},
"tailwindCSS.experimental.configFile": "./config/tailwind/tailwind.config.js",
"tailwindCSS.experimental.classRegex": [
["cx\\(([^)]+)\\)", "'([^']*)'"],
["cx\\(([^)]+)\\)", "`([^`]*)`"]
Expand Down
2 changes: 1 addition & 1 deletion apps/admin-dashboard/app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import { withSentry } from '@sentry/remix';

import { Toast } from '@oyster/ui';

import coreUiStylesheet from '@oyster/ui/dist/index.css?url';
import coreUiStylesheet from '@oyster/ui/index.css?url';
import tailwindStylesheet from './tailwind.css?url';

import { ENV } from './shared/constants.server';
Expand Down
4 changes: 1 addition & 3 deletions apps/admin-dashboard/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"@remix-run/react": "^2.8.1",
"@remix-run/serve": "^2.8.1",
"@sentry/remix": "^7.37.1",
"@tailwindcss/container-queries": "^0.1.1",
"csvtojson": "^2.0.10",
"dayjs": "^1.11.5",
"isbot": "^3.6.5",
Expand All @@ -34,14 +33,13 @@
"zod": "^3.20.2"
},
"devDependencies": {
"@oyster/tailwind": "*",
"@oyster/tsconfig": "*",
"@remix-run/dev": "^2.8.1",
"@types/jsonwebtoken": "^9.0.2",
"@types/node": "^18.7.18",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.9",
"prettier-plugin-tailwindcss": "^0.4.1",
"tailwindcss": "^3.3.3",
"vite": "^5.1.6",
"vite-tsconfig-paths": "^4.3.2"
}
Expand Down
11 changes: 3 additions & 8 deletions apps/admin-dashboard/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
import { tailwindConfig } from '@oyster/tailwind';

/** @type {import('tailwindcss').Config} */
export default {
...tailwindConfig,
content: ['./app/**/*.{ts,tsx}', '../../packages/ui/src/**/*.tsx'],
theme: {
extend: {
colors: {
primary: 'var(--color-primary)',
},
},
},
plugins: [require('@tailwindcss/container-queries')],
};
2 changes: 1 addition & 1 deletion apps/member-profile/app/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import utc from 'dayjs/plugin/utc.js';

import { Toast } from '@oyster/ui';

import coreUiStylesheet from '@oyster/ui/dist/index.css?url';
import coreUiStylesheet from '@oyster/ui/index.css?url';
import tailwindStylesheet from './tailwind.css?url';

import { ENV } from './shared/constants.server';
Expand Down
4 changes: 1 addition & 3 deletions apps/member-profile/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
"@remix-run/react": "^2.8.1",
"@remix-run/serve": "^2.8.1",
"@sentry/remix": "^7.37.1",
"@tailwindcss/container-queries": "^0.1.1",
"dayjs": "^1.11.5",
"ioredis": "^5.3.2",
"is-ip": "^5.0.1",
Expand All @@ -37,14 +36,13 @@
"zod": "^3.20.2"
},
"devDependencies": {
"@oyster/tailwind": "*",
"@oyster/tsconfig": "*",
"@remix-run/dev": "^2.8.1",
"@types/node": "^18.7.18",
"@types/react": "^18.0.26",
"@types/react-dom": "^18.0.9",
"@types/ua-parser-js": "^0.7.37",
"prettier-plugin-tailwindcss": "^0.4.1",
"tailwindcss": "^3.3.3",
"vite": "^5.1.6",
"vite-tsconfig-paths": "^4.3.2"
}
Expand Down
17 changes: 3 additions & 14 deletions apps/member-profile/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -1,18 +1,7 @@
import { tailwindConfig } from '@oyster/tailwind';

/** @type {import('tailwindcss').Config} */
export default {
...tailwindConfig,
content: ['./app/**/*.{ts,tsx}', '../../packages/ui/src/**/*.tsx'],
theme: {
extend: {
colors: {
primary: 'var(--color-primary)',
},
keyframes: {
'slide-from-left': {
'0%': { left: '-100%' },
'100%': { left: '0%' },
},
},
},
},
plugins: [require('@tailwindcss/container-queries')],
};
14 changes: 14 additions & 0 deletions config/tailwind/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"name": "@oyster/tailwind",
"version": "0.0.0",
"private": true,
"main": "tailwind.config.js",
"license": "MIT",
"dependencies": {
"@tailwindcss/container-queries": "^0.1.1"
},
"devDependencies": {
"prettier-plugin-tailwindcss": "^0.5.4",
"tailwindcss": "^3.4.3"
}
}
44 changes: 44 additions & 0 deletions config/tailwind/tailwind.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/** @type {import('tailwindcss').Config} */
export const tailwindConfig = {
content: [
'../apps/admin-dashboard/app/**/*.{ts,tsx}',
'../apps/member-profile/app/**/*.{ts,tsx}',
'../packages/ui/src/**/*.tsx',
],
theme: {
extend: {
colors: {
primary: 'var(--color-primary)',
},
keyframes: {
'modal-animation': {
'0%': { opacity: 0, transform: 'scale(0)' },
'100%': { opacity: 1, transform: 'scale(1)' },
},
'modal-animation-mobile': {
'0%': { bottom: '-100vh' },
'100%': { bottom: '0vh' },
},
'modal-shader-animation': {
'0%': { opacity: 0 },
'100%': { opacity: 0.75 },
},
'toast-animation': {
'0%': { transform: 'translateX(-150%)' },
'100%': { transform: 'translateX(0%)' },
},
'toast-shader-animation': {
'0%': { width: '100%' },
'100%': { width: '0%' },
},
'slide-from-left': {
'0%': { left: '-100%' },
'100%': { left: '0%' },
},
},
},
},
plugins: [require('@tailwindcss/container-queries')],
};

export default tailwindConfig;
1 change: 0 additions & 1 deletion packages/core/src/admin-dashboard.server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ export { createEvent } from './modules/event/use-cases/create-event';
export { archiveActivity } from './modules/gamification/use-cases/archive-activity';
export { editActivity } from './modules/gamification/use-cases/edit-activity';
export { addIcebreakerPrompt } from './modules/icebreaker/use-cases/add-icebreaker-prompt';
export { findMemberByEmail } from './modules/member/queries/find-member-by-email';
export { activateMember } from './modules/member/use-cases/activate-member';
export { updateMemberEmail } from './modules/member/use-cases/update-member-email';
export { addOnboardingSessionAttendees } from './modules/onboarding-session/use-cases/add-onboarding-session-attendees';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export async function loginWithOAuth(input: OAuthLoginInput) {
.where('deletedAt', 'is', null)
.executeTakeFirst();
} else {
entity = await findMemberByEmail(email).select(['id']).executeTakeFirst();
entity = await findMemberByEmail(email);
}

if (!entity) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,7 @@ export async function syncAirmeetEvent({

await Promise.all(
attendees.map(async (attendee) => {
const student = await findMemberByEmail(attendee.email)
.select(['students.id'])
.executeTakeFirst();
const student = await findMemberByEmail(attendee.email);

await trx
.insertInto('eventAttendees')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,19 +152,15 @@ async function getActivityData(campaignId: string) {
// we can find them.

for (const click of result.clicks) {
const student = await findMemberByEmail(click.email)
.select(['id'])
.executeTakeFirst();
const student = await findMemberByEmail(click.email);

if (student) {
click.studentId = student.id;
}
}

for (const open of result.opens) {
const student = await findMemberByEmail(open.email)
.select(['id'])
.executeTakeFirst();
const student = await findMemberByEmail(open.email);

if (student) {
open.studentId = student.id;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@ export function findMemberByEmail(email: string) {
return db
.selectFrom('students')
.leftJoin('studentEmails', 'studentEmails.studentId', 'students.id')
.where('studentEmails.email', 'ilike', email);
.select(['students.id'])
.where('studentEmails.email', 'ilike', email)
.executeTakeFirst();
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,7 @@ export async function onSlackWorkspaceJoined({
email,
slackId,
}: GetBullJobData<'slack.joined'>) {
const member = await findMemberByEmail(email)
.select(['id'])
.executeTakeFirst();
const member = await findMemberByEmail(email);

if (!member) {
throw new NotFoundError(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,7 @@ export async function importSurveyResponses(
'Responded On': respondedOn,
} = result.data;

const student = await findMemberByEmail(email)
.select(['students.id'])
.executeTakeFirst();
const student = await findMemberByEmail(email);

return SurveyResponse.pick({
email: true,
Expand Down
3 changes: 2 additions & 1 deletion packages/core/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
"extends": "@oyster/tsconfig/base.json",
"include": ["src"],
"compilerOptions": {
"baseUrl": "./",
"baseUrl": ".",
"jsx": "react-jsx",
"module": "ESNext",
"moduleResolution": "Bundler",
"paths": {
"@/*": ["./src/*"]
},
Expand Down
24 changes: 6 additions & 18 deletions packages/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,37 +4,25 @@
"private": true,
"sideEffects": false,
"type": "module",
"main": "./dist/index.cjs",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"exports": {
".": "./src/index.ts",
"./index.css": "./src/index.css"
},
"license": "MIT",
"files": [
"dist/**"
],
"scripts": {
"build": "rollup -c",
"dev": "rollup -c --watch"
"lint": "tsc --noEmit"
},
"devDependencies": {
"@oyster/tsconfig": "*",
"@oyster/types": "*",
"@oyster/utils": "*",
"@remix-run/react": "^2.8.1",
"@tailwindcss/container-queries": "^0.1.1",
"@types/react": "^18.0.26",
"postcss": "^8.4.18",
"prettier-plugin-tailwindcss": "^0.5.4",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-feather": "^2.0.10",
"react-textarea-autosize": "^8.5.3",
"rollup": "^2.74.1",
"rollup-plugin-dts": "^5.0.0",
"rollup-plugin-esbuild": "^5.0.0",
"rollup-plugin-filesize": "^9.1.2",
"rollup-plugin-postcss": "^4.0.2",
"sass": "^1.71.1",
"tailwind-merge": "^1.14.0",
"tailwind-merge": "^2.2.2",
"ts-pattern": "4.3.0",
"zod": "^3.20.2"
}
Expand Down
30 changes: 0 additions & 30 deletions packages/ui/rollup.config.js

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { PropsWithChildren } from 'react';

import { Input, InputProps } from './input';
import { Select, SelectProps } from './select/select';
import { Select, SelectProps } from './select';

export const Address = ({ children }: PropsWithChildren) => {
return <div className="@container grid gap-4">{children}</div>;
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import React, { PropsWithChildren } from 'react';
import { Check as CheckIcon } from 'react-feather';

import { ACCENT_COLORS, Color, ColorVariable } from '../../utils/constants';
import { cx } from '../../utils/cx';
import styles from './checkbox.module.scss';
import { ACCENT_COLORS, Color, ColorVariable } from '../utils/constants';
import { cx } from '../utils/cx';

type CheckboxProps = Pick<
React.HTMLProps<HTMLInputElement>,
Expand Down Expand Up @@ -34,8 +33,8 @@ export const Checkbox = ({
<div className="flex items-center">
<input
className={cx(
styles.checkboxInput,
'absolute inline-block h-4 w-4 cursor-pointer opacity-0'
'absolute inline-block h-4 w-4 cursor-pointer opacity-0',
'peer'
)}
id={id}
readOnly={readOnly}
Expand All @@ -45,8 +44,11 @@ export const Checkbox = ({

<div
className={cx(
styles.checkboxBackground,
'flex h-4 w-4 items-center justify-center rounded-[0.25rem] border-2 border-gray-300'
'flex h-4 w-4 items-center justify-center rounded-[0.25rem] border-2 border-gray-300',
'peer-hover:border-primary',
'peer-focus:border-primary',
'peer-checked:bg-primary peer-checked:border-primary',
'peer-checked:disabled:bg-gray-500 peer-checked:disabled:border-gray-500'
)}
>
<CheckIcon className="h-4 w-4 text-white" />
Expand Down
Loading

0 comments on commit 3ea8939

Please sign in to comment.