From f153c39aadcd5a9a39164f877eb9ad80c1d276ef Mon Sep 17 00:00:00 2001 From: Alex Lewin Date: Mon, 16 Dec 2024 17:18:57 -0500 Subject: [PATCH] feat: polish, update versions, fix tests --- package.json | 2 +- .../create-fedimint-app/__tests__/cli.test.ts | 8 ++--- packages/create-fedimint-app/src/index.ts | 33 ++++++++++--------- .../template-vite-react-ts/package.json | 10 +++--- pnpm-lock.yaml | 4 +-- vitest.config.ts | 1 + vitest.workspace.ts | 13 +++----- 7 files changed, 34 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 322c20a..f27d63e 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "test:setup": "bash testing/setup_test_shell.sh", "test:coverage": "vitest run --coverage", "test:lib": "vitest", - "test:create": "vitest create-fedimint", + "test:create": "vitest --watch=false create-fedimint", "test:ui": "vitest --browser.headless=false --ui", "format": "prettier --write .", "watch": "pnpm run --r --parallel --filter \"./packages/**\" watch" diff --git a/packages/create-fedimint-app/__tests__/cli.test.ts b/packages/create-fedimint-app/__tests__/cli.test.ts index 33be559..9c3ee47 100644 --- a/packages/create-fedimint-app/__tests__/cli.test.ts +++ b/packages/create-fedimint-app/__tests__/cli.test.ts @@ -144,14 +144,14 @@ test('accepts command line override for --overwrite', () => { expect(stdout).not.toContain(`Current directory is not empty.`) }) -test('return help usage how to use create-vite', () => { +test('return help usage how to use create-fedimint-app', () => { const { stdout } = run(['--help'], { cwd: __dirname }) - const message = 'Usage: create-vite [OPTION]... [DIRECTORY]' + const message = 'Usage: create-fedimint-app [OPTION]... [DIRECTORY]' expect(stdout).toContain(message) }) -test('return help usage how to use create-vite with -h alias', () => { +test('return help usage how to use create-fedimint-app with -h alias', () => { const { stdout } = run(['--h'], { cwd: __dirname }) - const message = 'Usage: create-vite [OPTION]... [DIRECTORY]' + const message = 'Usage: create-fedimint-app [OPTION]... [DIRECTORY]' expect(stdout).toContain(message) }) diff --git a/packages/create-fedimint-app/src/index.ts b/packages/create-fedimint-app/src/index.ts index c7e0783..1d4fa0a 100644 --- a/packages/create-fedimint-app/src/index.ts +++ b/packages/create-fedimint-app/src/index.ts @@ -8,15 +8,15 @@ import colors from 'picocolors' const { blue, - blueBright, + // blueBright, cyan, - green, + // green, // greenBright, - magenta, + // magenta, red, - redBright, + // redBright, reset, - yellow, + // yellow, } = colors // Avoids autoconversion to number of the project name by defining that the args @@ -33,23 +33,24 @@ const cwd = process.cwd() // prettier-ignore const helpMessage = `\ -Usage: create-vite [OPTION]... [DIRECTORY] +Usage: create-fedimint-app [OPTION]... [DIRECTORY] -Create a new Vite project in JavaScript or TypeScript. +Create a new Fedimint project in JavaScript or TypeScript. With no arguments, start the CLI in interactive mode. Options: -t, --template NAME use a specific template Available templates: -${yellow ('vanilla-ts vanilla' )} -${green ('vue-ts vue' )} -${cyan ('vite-react-ts react' )} -${magenta ('preact-ts preact' )} -${redBright ('lit-ts lit' )} -${red ('svelte-ts svelte' )} -${blue ('solid-ts solid' )} -${blueBright('qwik-ts qwik' )}` +${cyan ('vite-react-ts react' )}` +// ${yellow ('vanilla-ts vanilla' )} +// ${green ('vue-ts vue' )} +// ${cyan ('vite-react-ts react' )} +// ${magenta ('preact-ts preact' )} +// ${redBright ('lit-ts lit' )} +// ${red ('svelte-ts svelte' )} +// ${blue ('solid-ts solid' )} +// ${blueBright('qwik-ts qwik' )}` type ColorFunc = (str: string | number) => string type Framework = { @@ -287,7 +288,7 @@ const renameFiles: Record = { _gitignore: '.gitignore', } -const defaultTargetDir = 'vite-project' +const defaultTargetDir = 'fedimint-project' async function init() { const argTargetDir = formatTargetDir(argv._[0]) diff --git a/packages/create-fedimint-app/template-vite-react-ts/package.json b/packages/create-fedimint-app/template-vite-react-ts/package.json index aac7805..ec9fc59 100644 --- a/packages/create-fedimint-app/template-vite-react-ts/package.json +++ b/packages/create-fedimint-app/template-vite-react-ts/package.json @@ -1,6 +1,7 @@ { "name": "fedimint-vite-react-typescript-starter", "private": true, + "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", @@ -10,9 +11,9 @@ "clean:deep": "pnpm run clean && rm -rf node_modules" }, "dependencies": { - "@fedimint/core-web": "canary", - "react": "19.0.1", - "react-dom": "19.0.2" + "@fedimint/core-web": "latest", + "react": "19.0.0", + "react-dom": "19.0.0" }, "devDependencies": { "@types/react": "19.0.0", @@ -22,6 +23,5 @@ "typescript": "^5.6.2", "vite": "^5.4.8", "vite-plugin-wasm": "^3.3.0" - }, - "packageManager": "pnpm@9.12.0" + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4202ff5..5912b7d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: 2.1.2(@vitest/spy@2.1.2)(playwright@1.40.0)(typescript@5.5.2)(vite@5.4.8(@types/node@20.16.10)(terser@5.32.0))(vitest@2.1.2) '@vitest/coverage-v8': specifier: ^2.1.2 - version: 2.1.2(@vitest/browser@2.1.2(@vitest/spy@2.1.2)(playwright@1.40.0)(typescript@5.5.2)(vite@5.4.8(@types/node@20.16.10)(terser@5.32.0))(vitest@2.1.2))(vitest@2.1.2(@types/node@20.16.10)(@vitest/browser@2.1.2)(@vitest/ui@2.1.2)(happy-dom@15.7.4)(msw@2.4.8(typescript@5.5.2))(terser@5.32.0)) + version: 2.1.2(@vitest/browser@2.1.2)(vitest@2.1.2) '@vitest/ui': specifier: ^2.1.2 version: 2.1.2(vitest@2.1.2) @@ -5506,7 +5506,7 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@2.1.2(@vitest/browser@2.1.2(@vitest/spy@2.1.2)(playwright@1.40.0)(typescript@5.5.2)(vite@5.4.8(@types/node@20.16.10)(terser@5.32.0))(vitest@2.1.2))(vitest@2.1.2(@types/node@20.16.10)(@vitest/browser@2.1.2)(@vitest/ui@2.1.2)(happy-dom@15.7.4)(msw@2.4.8(typescript@5.5.2))(terser@5.32.0))': + '@vitest/coverage-v8@2.1.2(@vitest/browser@2.1.2)(vitest@2.1.2)': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 diff --git a/vitest.config.ts b/vitest.config.ts index 2d67670..d19947c 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -2,6 +2,7 @@ import { defineConfig } from 'vitest/config' export default defineConfig({ test: { + watch: false, coverage: { provider: 'v8', include: ['packages/**/*.ts'], diff --git a/vitest.workspace.ts b/vitest.workspace.ts index e187119..0337d57 100644 --- a/vitest.workspace.ts +++ b/vitest.workspace.ts @@ -26,16 +26,11 @@ export default defineWorkspace([ { test: { name: 'cli', - include: ['packages/create-fedimint-app/**/*.test.ts'], - isolate: false, + environment: 'happy-dom', + include: ['packages/create-fedimint-app/__tests__/*.test.ts'], + exclude: ['packages/create-fedimint-app/__tests__/subfolder'], + isolate: true, testTimeout: 20000, }, - optimizeDeps: { - exclude: ['execa'], - }, - esbuild: { - target: 'node18', - }, - publicDir: false, }, ])