Skip to content

Commit

Permalink
chore: repo style
Browse files Browse the repository at this point in the history
  • Loading branch information
ikkz committed Dec 3, 2024
1 parent a3f3ad0 commit 2a81fe8
Show file tree
Hide file tree
Showing 25 changed files with 304 additions and 84 deletions.
27 changes: 22 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,6 @@
name: CI

on:
push:
branches: ['main']
pull_request:
branches: ['main']
on: [push, pull_request]

jobs:
build:
Expand Down Expand Up @@ -34,3 +30,24 @@ jobs:
with:
name: APKGs
path: release/

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: 22.x
cache: 'pnpm'
- run: pnpm install
- run: pnpm run lint

- name: Install uv
uses: astral-sh/setup-uv@v3
with:
version: '0.4.27'
- run: uv run ruff check
13 changes: 12 additions & 1 deletion .prettierrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
{
"singleQuote": true,
"trailingComma": "all",
"plugins": ["prettier-plugin-tailwindcss"]
"plugins": [
"prettier-plugin-tailwindcss",
"@trivago/prettier-plugin-sort-imports"
],
"overrides": [
{
"files": "*.js",
"options": {
"parser": "babel"
}
}
]
}
11 changes: 6 additions & 5 deletions cli.js → build/cli.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
#!/usr/bin/env node

import { rollupOptions } from './rollup.js';
import { readJson } from './utils.js';
import Koa from 'koa';
import templates from './templates.json' with { type: 'json' };
import { rollup } from 'rollup';
import { watch } from 'rollup';
import { extname } from 'node:path';
import { parseArgs } from 'node:util';
import { rollupOptions } from './build.js';
import { rollup } from 'rollup';
import { watch } from 'rollup';

const templates = await readJson('./templates.json');

const { values: args } = parseArgs({
options: {
Expand Down
30 changes: 14 additions & 16 deletions build.js → build/rollup.js
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
import packageJson from './package.json' with { type: 'json' };
import { visualizer } from 'rollup-plugin-visualizer';
import templates from './templates.json' with { type: 'json' };
import release from './release.json' with { type: 'json' };
import autoprefixer from 'autoprefixer';
import tailwindcss from 'tailwindcss';
import cssnano from 'cssnano';
import { readJson, ensureValue } from './utils.js';
import alias from '@rollup/plugin-alias';
import terser from '@rollup/plugin-terser';
import commonjs from '@rollup/plugin-commonjs';
import html from '@rollup/plugin-html';
import json from '@rollup/plugin-json';
import nodeResolve from '@rollup/plugin-node-resolve';
import replace from '@rollup/plugin-replace';
import terser from '@rollup/plugin-terser';
import url from '@rollup/plugin-url';
import virtual from '@rollup/plugin-virtual';
import { dataToEsm } from '@rollup/pluginutils';
import autoprefixer from 'autoprefixer';
import cssnano from 'cssnano';
import fs from 'node:fs/promises';
import { extname, resolve } from 'node:path';
import postcss from 'rollup-plugin-postcss';
import { swc } from 'rollup-plugin-swc3';
import { resolve, extname } from 'node:path';
import fs from 'node:fs/promises';
import { visualizer } from 'rollup-plugin-visualizer';
import tailwindcss from 'tailwindcss';

const packageJson = await readJson('./package.json');
const templates = await readJson('./templates.json');
const release = await readJson('./release.json');

export async function rollupOptions(config) {
async function buildInputOptions() {
Expand Down Expand Up @@ -51,10 +53,10 @@ export async function rollupOptions(config) {
find: 'lodash/isPlainObject',
replacement: resolve(
import.meta.dirname,
'src/polyfills/is-plain-object',
'../src/polyfills/is-plain-object',
),
},
{ find: '@', replacement: resolve(import.meta.dirname, 'src') },
{ find: '@', replacement: resolve(import.meta.dirname, '../src') },
{ find: 'react', replacement: 'preact/compat' },
{ find: 'react-dom/test-utils', replacement: 'preact/test-utils' },
{ find: 'react-dom', replacement: 'preact/compat' },
Expand Down Expand Up @@ -202,7 +204,3 @@ ${buildFields()}
setup(App);`;
}
}

function ensureValue(value) {
return typeof value === 'function' ? value() : value;
}
13 changes: 13 additions & 0 deletions build/utils.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import fs from 'node:fs/promises';

export function ensureValue(value) {
return typeof value === 'function' ? value() : value;
}

export async function readJson(path) {
return JSON.parse(
await fs.readFile(path, {
encoding: 'utf-8',
}),
);
}
9 changes: 5 additions & 4 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import globals from 'globals';
import pluginJs from '@eslint/js';
import tseslint from 'typescript-eslint';
import pluginReact from 'eslint-plugin-react';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import pluginReact from 'eslint-plugin-react';
import globals from 'globals';
import tseslint from 'typescript-eslint';

/** @type {import('eslint').Linter.Config[]} */
export default [
{ files: ['**/*.{js,mjs,cjs,ts,jsx,tsx}'] },
{ languageOptions: { globals: globals.browser } },
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
pluginReact.configs.flat.recommended,
Expand Down
6 changes: 5 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@
"version": "1.1.2",
"description": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"build": "node build/cli.js",
"dev": "node build/cli.js --dev",
"lint": "pnpm eslint .",
"format": "pnpm eslint --fix ."
},
"author": "",
"license": "ISC",
Expand All @@ -24,6 +27,7 @@
"@rollup/pluginutils": "^5.1.0",
"@tailwindcss/forms": "^0.5.8",
"@tailwindcss/typography": "^0.5.15",
"@trivago/prettier-plugin-sort-imports": "^4.3.0",
"@tsconfig/node20": "^20.1.4",
"@tsconfig/vite-react": "^3.0.2",
"@types/node": "^22.5.3",
Expand Down
Loading

0 comments on commit 2a81fe8

Please sign in to comment.