From 2ef925221fc12bfc87d60eb033831674ad8c5aef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20D=C3=B6ll?= Date: Fri, 18 Oct 2024 19:55:03 +0000 Subject: [PATCH] feat: build all css --- Makefile | 13 +- examples/toasts/main.go | 14 +- gen.go | 2 + package-lock.json | 355 +++++++++++++++++++++++++++++++++++++++- package.json | 11 +- postcss.config.js | 6 + src/input.css | 3 + tailwind.config.js | 5 +- 8 files changed, 383 insertions(+), 26 deletions(-) create mode 100644 postcss.config.js create mode 100644 src/input.css diff --git a/Makefile b/Makefile index 394ac1a..f459bc4 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ .DEFAULT_GOAL := release -GO ?= go -GO_RUN_TOOLS ?= $(GO) run -modfile ./tools/go.mod +GO ?= go +GO_RUN_TOOLS ?= $(GO) run -modfile ./tools/go.mod GO_TEST ?= $(GO_RUN_TOOLS) gotest.tools/gotestsum --format pkgname -GO_RELEASER ?= $(GO_RUN_TOOLS) github.com/goreleaser/goreleaser -GO_BENCHSTAT ?= $(GO_RUN_TOOLS) golang.org/x/perf/cmd/benchstat +GO_RELEASER ?= $(GO_RUN_TOOLS) github.com/goreleaser/goreleaser +GO_BENCHSTAT ?= $(GO_RUN_TOOLS) golang.org/x/perf/cmd/benchstat GO_MOD ?= $(shell ${GO} list -m) .PHONY: release @@ -17,8 +17,9 @@ generate: ## Generate code. .PHONY: bundle bundle: ## Bundle the project. - $(GO_RUN_TOOLS) github.com/evanw/esbuild/cmd/esbuild --bundle --sourcemap --platform=neutral --packages=external --outfile=dist/fiber-htmx.esm.js src/main.ts - $(GO_RUN_TOOLS) github.com/evanw/esbuild/cmd/esbuild --bundle --minify --sourcemap --outfile=dist/fiber-htmx.min.js src/main.ts + $(GO_RUN_TOOLS) github.com/evanw/esbuild/cmd/esbuild --format=esm --packages=external --outdir=dist src/*.ts + # $(GO_RUN_TOOLS) github.com/evanw/esbuild/cmd/esbuild --bundle --sourcemap --platform=neutral --packages=external --outfile=dist/fiber-htmx.esm.js src/main.ts + # $(GO_RUN_TOOLS) github.com/evanw/esbuild/cmd/esbuild --bundle --minify --sourcemap --outfile=dist/fiber-htmx.min.js src/main.ts .PHONY: fmt fmt: ## Run go fmt against code. diff --git a/examples/toasts/main.go b/examples/toasts/main.go index b1ea6d4..c1c8c42 100644 --- a/examples/toasts/main.go +++ b/examples/toasts/main.go @@ -3,6 +3,7 @@ package main import ( "context" "log" + "net/http" "os" htmx "github.com/zeiss/fiber-htmx" @@ -19,6 +20,7 @@ import ( "github.com/zeiss/pkg/server" "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/filesystem" "github.com/gofiber/fiber/v2/middleware/logger" "github.com/gofiber/fiber/v2/middleware/recover" "github.com/gofiber/fiber/v2/middleware/requestid" @@ -73,7 +75,7 @@ func (c *exampleController) Get() error { }, Head: []htmx.Node{ htmx.Link( - htmx.Attribute("href", "https://cdn.jsdelivr.net/npm/daisyui/dist/full.css"), + htmx.Attribute("href", "/assets/output.css"), htmx.Attribute("rel", "stylesheet"), htmx.Attribute("type", "text/css"), ), @@ -81,13 +83,6 @@ func (c *exampleController) Get() error { htmx.Attribute("src", "https://unpkg.com/htmx.org@2.0.2"), htmx.Attribute("type", "application/javascript"), ), - htmx.Script( - htmx.Attribute("src", "https://cdn.tailwindcss.com"), - ), - htmx.Script( - htmx.Attribute("src", "https://unpkg.com/fiber-htmx@1.3.27"), - htmx.Defer(), - ), }, }, htmx.Body( @@ -330,6 +325,9 @@ func (w *webSrv) Start(ctx context.Context, ready server.ReadyFunc, run server.R app.Use(requestid.New()) app.Use(logger.New()) app.Use(recover.New()) + app.Use("/assets", filesystem.New(filesystem.Config{ + Root: http.Dir("./dist"), + })) app.Get("/", htmx.NewHxControllerHandler(func() htmx.Controller { return &exampleController{} diff --git a/gen.go b/gen.go index 186c14e..98dbba9 100644 --- a/gen.go +++ b/gen.go @@ -2,3 +2,5 @@ // +build generate package htmx + +//go:generate npx tailwindcss -i ./src/input.css -o ./out/out.css diff --git a/package-lock.json b/package-lock.json index 174037c..9ca743e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,33 +1,37 @@ { "name": "fiber-htmx", - "version": "1.3.26", + "version": "1.3.27", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "fiber-htmx", - "version": "1.3.26", + "version": "1.3.27", "license": "MIT", "dependencies": { "esbuild": "^0.23.1", "lit": "^3.2.0", - "lit-element": "^4.1.0", - "tailwindcss": "^3.4.11" + "lit-element": "^4.1.0" }, "devDependencies": { "@types/node": "22.5.4", "@typescript-eslint/eslint-plugin": "^8.5.0", "@typescript-eslint/parser": "^8.5.0", + "autoprefixer": "^10.4.20", + "daisyui": "^4.12.13", "eslint": "^9.10.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-prettier": "^5.2.1", + "postcss": "^8.4.47", "prettier": "^3.3.3", + "tailwindcss": "^3.4.14", "typescript": "^4.9.5" } }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -200,6 +204,7 @@ }, "node_modules/@isaacs/cliui": { "version": "8.0.2", + "dev": true, "license": "ISC", "dependencies": { "string-width": "^5.1.2", @@ -215,6 +220,7 @@ }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.5", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -227,6 +233,7 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -234,6 +241,7 @@ }, "node_modules/@jridgewell/set-array": { "version": "1.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=6.0.0" @@ -241,10 +249,12 @@ }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", + "dev": true, "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", @@ -264,6 +274,7 @@ }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", @@ -275,6 +286,7 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -282,6 +294,7 @@ }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", @@ -293,6 +306,7 @@ }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", + "dev": true, "license": "MIT", "optional": true, "engines": { @@ -534,6 +548,7 @@ }, "node_modules/ansi-regex": { "version": "6.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -544,6 +559,7 @@ }, "node_modules/ansi-styles": { "version": "6.2.1", + "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -554,10 +570,12 @@ }, "node_modules/any-promise": { "version": "1.3.0", + "dev": true, "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", + "dev": true, "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", @@ -569,6 +587,7 @@ }, "node_modules/arg": { "version": "5.0.2", + "dev": true, "license": "MIT" }, "node_modules/argparse": { @@ -576,12 +595,52 @@ "dev": true, "license": "Python-2.0" }, + "node_modules/autoprefixer": { + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/balanced-match": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/binary-extensions": { "version": "2.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -592,6 +651,7 @@ }, "node_modules/brace-expansion": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" @@ -599,6 +659,7 @@ }, "node_modules/braces": { "version": "3.0.3", + "dev": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -607,6 +668,39 @@ "node": ">=8" } }, + "node_modules/browserslist": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz", + "integrity": "sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001663", + "electron-to-chromium": "^1.5.28", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, "node_modules/callsites": { "version": "3.1.0", "dev": true, @@ -617,11 +711,33 @@ }, "node_modules/camelcase-css": { "version": "2.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 6" } }, + "node_modules/caniuse-lite": { + "version": "1.0.30001669", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001669.tgz", + "integrity": "sha512-DlWzFDJqstqtIVx1zeSpIMLjunf5SmwOw0N2Ck/QSQdS8PLS4+9HrLaYei4w8BIAL7IB/UEDu889d8vhCTPA0w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, "node_modules/chalk": { "version": "4.1.2", "dev": true, @@ -653,6 +769,7 @@ }, "node_modules/chokidar": { "version": "3.6.0", + "dev": true, "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -675,6 +792,7 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -685,6 +803,7 @@ }, "node_modules/color-convert": { "version": "2.0.1", + "dev": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -695,10 +814,12 @@ }, "node_modules/color-name": { "version": "1.1.4", + "dev": true, "license": "MIT" }, "node_modules/commander": { "version": "4.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -711,6 +832,7 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", + "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -721,8 +843,20 @@ "node": ">= 8" } }, + "node_modules/css-selector-tokenizer": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", + "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, "node_modules/cssesc": { "version": "3.0.0", + "dev": true, "license": "MIT", "bin": { "cssesc": "bin/cssesc" @@ -731,6 +865,36 @@ "node": ">=4" } }, + "node_modules/culori": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", + "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/daisyui": { + "version": "4.12.13", + "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.13.tgz", + "integrity": "sha512-BnXyQoOByUF/7wSdIKubyhXxbtL8gxwY3u2cNMkxGP39TSVJqMmlItqtpY903fQnLI/NokC+bc+ZV+PEPsppPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-selector-tokenizer": "^0.8", + "culori": "^3", + "picocolors": "^1", + "postcss-js": "^4" + }, + "engines": { + "node": ">=16.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/daisyui" + } + }, "node_modules/debug": { "version": "4.3.7", "dev": true, @@ -754,18 +918,29 @@ }, "node_modules/didyoumean": { "version": "1.2.2", + "dev": true, "license": "Apache-2.0" }, "node_modules/dlv": { "version": "1.1.3", + "dev": true, "license": "MIT" }, "node_modules/eastasianwidth": { "version": "0.2.0", + "dev": true, "license": "MIT" }, + "node_modules/electron-to-chromium": { + "version": "1.5.39", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.39.tgz", + "integrity": "sha512-4xkpSR6CjuiaNyvwiWDI85N9AxsvbPawB8xc7yzLPonYTuP19BVgYweKyUMFtHEZgIcHWMt1ks5Cqx2m+6/Grg==", + "dev": true, + "license": "ISC" + }, "node_modules/emoji-regex": { "version": "9.2.2", + "dev": true, "license": "MIT" }, "node_modules/esbuild": { @@ -805,6 +980,16 @@ "@esbuild/win32-x64": "0.23.1" } }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/escape-string-regexp": { "version": "4.0.0", "dev": true, @@ -1091,6 +1276,7 @@ }, "node_modules/fast-glob": { "version": "3.3.2", + "dev": true, "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -1105,6 +1291,7 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -1123,8 +1310,16 @@ "dev": true, "license": "MIT" }, + "node_modules/fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true, + "license": "MIT" + }, "node_modules/fastq": { "version": "1.17.1", + "dev": true, "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -1143,6 +1338,7 @@ }, "node_modules/fill-range": { "version": "7.1.1", + "dev": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -1185,6 +1381,7 @@ }, "node_modules/foreground-child": { "version": "3.3.0", + "dev": true, "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", @@ -1197,8 +1394,23 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, "node_modules/function-bind": { "version": "1.1.2", + "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -1206,6 +1418,7 @@ }, "node_modules/glob": { "version": "10.4.5", + "dev": true, "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", @@ -1224,6 +1437,7 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.3" @@ -1258,6 +1472,7 @@ }, "node_modules/hasown": { "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -1299,6 +1514,7 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "dev": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -1309,6 +1525,7 @@ }, "node_modules/is-core-module": { "version": "2.15.1", + "dev": true, "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -1322,6 +1539,7 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -1329,6 +1547,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1336,6 +1555,7 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "dev": true, "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" @@ -1346,6 +1566,7 @@ }, "node_modules/is-number": { "version": "7.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -1361,10 +1582,12 @@ }, "node_modules/isexe": { "version": "2.0.0", + "dev": true, "license": "ISC" }, "node_modules/jackspeak": { "version": "3.4.3", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -1378,6 +1601,7 @@ }, "node_modules/jiti": { "version": "1.21.6", + "dev": true, "license": "MIT", "bin": { "jiti": "bin/jiti.js" @@ -1431,6 +1655,7 @@ }, "node_modules/lilconfig": { "version": "2.1.0", + "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -1438,6 +1663,7 @@ }, "node_modules/lines-and-columns": { "version": "1.2.4", + "dev": true, "license": "MIT" }, "node_modules/lit": { @@ -1486,10 +1712,12 @@ }, "node_modules/lru-cache": { "version": "10.4.3", + "dev": true, "license": "ISC" }, "node_modules/merge2": { "version": "1.4.1", + "dev": true, "license": "MIT", "engines": { "node": ">= 8" @@ -1497,6 +1725,7 @@ }, "node_modules/micromatch": { "version": "4.0.8", + "dev": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -1508,6 +1737,7 @@ }, "node_modules/minimatch": { "version": "9.0.5", + "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" @@ -1521,6 +1751,7 @@ }, "node_modules/minipass": { "version": "7.1.2", + "dev": true, "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" @@ -1533,6 +1764,7 @@ }, "node_modules/mz": { "version": "2.7.0", + "dev": true, "license": "MIT", "dependencies": { "any-promise": "^1.0.0", @@ -1542,6 +1774,7 @@ }, "node_modules/nanoid": { "version": "3.3.7", + "dev": true, "funding": [ { "type": "github", @@ -1561,8 +1794,26 @@ "dev": true, "license": "MIT" }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true, + "license": "MIT" + }, "node_modules/normalize-path": { "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -1570,6 +1821,7 @@ }, "node_modules/object-assign": { "version": "4.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -1577,6 +1829,7 @@ }, "node_modules/object-hash": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 6" @@ -1628,6 +1881,7 @@ }, "node_modules/package-json-from-dist": { "version": "1.0.0", + "dev": true, "license": "BlueOak-1.0.0" }, "node_modules/parent-module": { @@ -1651,6 +1905,7 @@ }, "node_modules/path-key": { "version": "3.1.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1658,10 +1913,12 @@ }, "node_modules/path-parse": { "version": "1.0.7", + "dev": true, "license": "MIT" }, "node_modules/path-scurry": { "version": "1.11.1", + "dev": true, "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", @@ -1676,10 +1933,12 @@ }, "node_modules/picocolors": { "version": "1.1.0", + "dev": true, "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -1690,6 +1949,7 @@ }, "node_modules/pify": { "version": "2.3.0", + "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -1697,13 +1957,17 @@ }, "node_modules/pirates": { "version": "4.0.6", + "dev": true, "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/postcss": { - "version": "8.4.45", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "dev": true, "funding": [ { "type": "opencollective", @@ -1721,8 +1985,8 @@ "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -1730,6 +1994,7 @@ }, "node_modules/postcss-import": { "version": "15.1.0", + "dev": true, "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", @@ -1745,6 +2010,7 @@ }, "node_modules/postcss-js": { "version": "4.0.1", + "dev": true, "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" @@ -1762,6 +2028,7 @@ }, "node_modules/postcss-load-config": { "version": "4.0.2", + "dev": true, "funding": [ { "type": "opencollective", @@ -1795,6 +2062,7 @@ }, "node_modules/postcss-load-config/node_modules/lilconfig": { "version": "3.1.2", + "dev": true, "license": "MIT", "engines": { "node": ">=14" @@ -1805,6 +2073,7 @@ }, "node_modules/postcss-nested": { "version": "6.2.0", + "dev": true, "funding": [ { "type": "opencollective", @@ -1828,6 +2097,7 @@ }, "node_modules/postcss-selector-parser": { "version": "6.1.2", + "dev": true, "license": "MIT", "dependencies": { "cssesc": "^3.0.0", @@ -1839,6 +2109,7 @@ }, "node_modules/postcss-value-parser": { "version": "4.2.0", + "dev": true, "license": "MIT" }, "node_modules/prelude-ls": { @@ -1884,6 +2155,7 @@ }, "node_modules/queue-microtask": { "version": "1.2.3", + "dev": true, "funding": [ { "type": "github", @@ -1902,6 +2174,7 @@ }, "node_modules/read-cache": { "version": "1.0.0", + "dev": true, "license": "MIT", "dependencies": { "pify": "^2.3.0" @@ -1909,6 +2182,7 @@ }, "node_modules/readdirp": { "version": "3.6.0", + "dev": true, "license": "MIT", "dependencies": { "picomatch": "^2.2.1" @@ -1919,6 +2193,7 @@ }, "node_modules/resolve": { "version": "1.22.8", + "dev": true, "license": "MIT", "dependencies": { "is-core-module": "^2.13.0", @@ -1942,6 +2217,7 @@ }, "node_modules/reusify": { "version": "1.0.4", + "dev": true, "license": "MIT", "engines": { "iojs": ">=1.0.0", @@ -1950,6 +2226,7 @@ }, "node_modules/run-parallel": { "version": "1.2.0", + "dev": true, "funding": [ { "type": "github", @@ -1982,6 +2259,7 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -1992,6 +2270,7 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -1999,6 +2278,7 @@ }, "node_modules/signal-exit": { "version": "4.1.0", + "dev": true, "license": "ISC", "engines": { "node": ">=14" @@ -2009,6 +2289,7 @@ }, "node_modules/source-map-js": { "version": "1.2.1", + "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -2016,6 +2297,7 @@ }, "node_modules/string-width": { "version": "5.1.2", + "dev": true, "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", @@ -2032,6 +2314,7 @@ "node_modules/string-width-cjs": { "name": "string-width", "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -2044,6 +2327,7 @@ }, "node_modules/string-width-cjs/node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2051,10 +2335,12 @@ }, "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "license": "MIT" }, "node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -2065,6 +2351,7 @@ }, "node_modules/strip-ansi": { "version": "7.1.0", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" @@ -2079,6 +2366,7 @@ "node_modules/strip-ansi-cjs": { "name": "strip-ansi", "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -2089,6 +2377,7 @@ }, "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2107,6 +2396,7 @@ }, "node_modules/sucrase": { "version": "3.35.0", + "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", @@ -2138,6 +2428,7 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -2162,7 +2453,10 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.11", + "version": "3.4.14", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.14.tgz", + "integrity": "sha512-IcSvOcTRcUtQQ7ILQL5quRDg7Xs93PdJEk1ZLbhhvJc7uj/OAhYOnruEiwnGgBvUtaUAJ8/mhSw1o8L2jCiENA==", + "dev": true, "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", @@ -2203,6 +2497,7 @@ }, "node_modules/thenify": { "version": "3.3.1", + "dev": true, "license": "MIT", "dependencies": { "any-promise": "^1.0.0" @@ -2210,6 +2505,7 @@ }, "node_modules/thenify-all": { "version": "1.6.0", + "dev": true, "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" @@ -2220,6 +2516,7 @@ }, "node_modules/to-regex-range": { "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -2241,6 +2538,7 @@ }, "node_modules/ts-interface-checker": { "version": "0.1.13", + "dev": true, "license": "Apache-2.0" }, "node_modules/tslib": { @@ -2278,6 +2576,37 @@ "dev": true, "license": "MIT" }, + "node_modules/update-browserslist-db": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", + "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "dev": true, @@ -2288,10 +2617,12 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/which": { "version": "2.0.2", + "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -2313,6 +2644,7 @@ }, "node_modules/wrap-ansi": { "version": "8.1.0", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", @@ -2329,6 +2661,7 @@ "node_modules/wrap-ansi-cjs": { "name": "wrap-ansi", "version": "7.0.0", + "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -2344,6 +2677,7 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { "version": "5.0.1", + "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -2351,6 +2685,7 @@ }, "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", + "dev": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -2364,10 +2699,12 @@ }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", + "dev": true, "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", + "dev": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -2380,6 +2717,7 @@ }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { "version": "6.0.1", + "dev": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -2390,6 +2728,7 @@ }, "node_modules/yaml": { "version": "2.5.1", + "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" diff --git a/package.json b/package.json index 3c94286..af0fb70 100644 --- a/package.json +++ b/package.json @@ -14,14 +14,16 @@ "scripts": { "build:esm": "esbuild --bundle --sourcemap --platform=neutral --packages=external --outfile=dist/fiber-htmx.esm.js src/main.ts", "build:cjs": "esbuild --bundle --minify --sourcemap --outfile=dist/fiber-htmx.min.js src/main.ts", + "build:css": "tailwindcss -i ./src/input.css -o ./dist/out.css", "types": "tsc --declaration --emitDeclarationOnly --outDir dist", - "build": "npm run build:esm && npm run build:cjs", + "build": "npm run build:esm && npm run build:cjs && npm run build:css", "prepare": "npm run build" }, "files": [ "LICENSE", "README.md", "dist/fiber-htmx.esm.d.ts", + "dist/*.css", "dist/*.js", "dist/*.js.gz" ], @@ -35,18 +37,21 @@ "dependencies": { "esbuild": "^0.23.1", "lit": "^3.2.0", - "lit-element": "^4.1.0", - "tailwindcss": "^3.4.11" + "lit-element": "^4.1.0" }, "devDependencies": { "@types/node": "22.5.4", "@typescript-eslint/eslint-plugin": "^8.5.0", "@typescript-eslint/parser": "^8.5.0", + "autoprefixer": "^10.4.20", + "daisyui": "^4.12.13", "eslint": "^9.10.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-prettier": "^5.2.1", + "postcss": "^8.4.47", "prettier": "^3.3.3", + "tailwindcss": "^3.4.14", "typescript": "^4.9.5" } } \ No newline at end of file diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 0000000..787a42d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {} + } +} \ No newline at end of file diff --git a/src/input.css b/src/input.css new file mode 100644 index 0000000..bd6213e --- /dev/null +++ b/src/input.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/tailwind.config.js b/tailwind.config.js index dcd946d..d4c373b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,5 +1,8 @@ module.exports = { - content: ["src/**/*.{ts,html,css,scss}"], + content: [ + "src/**/*.{ts,html,css,scss}", + "components/**/*.go" + ], theme: { extend: {}, },