Mirror of https://github.com/improsocial/impro An extensible Bluesky client for web impro.social
5

Configure Feed

Select the types of activity you want to include in your feed.

Move e2e builds to tmp

Grace Kind (Jun 9, 2026, 1:32 AM -0500) abac837c 97070844

+17 -10
+9 -6
eleventy.config.js
··· 14 14 ); 15 15 } 16 16 17 + const BUILD_DIR = process.env.BUILD_DIR || "build"; 18 + 17 19 export default async function (eleventyConfig) { 18 20 eleventyConfig.addPassthroughCopy("src/js"); 19 21 eleventyConfig.addPassthroughCopy("src/css"); ··· 42 44 // Copy local plugins into build and generate index 43 45 eleventyConfig.on("eleventy.before", () => { 44 46 if (!isDev) return; 47 + const buildPluginsDir = path.join(BUILD_DIR, "plugins-local"); 45 48 const localPluginsDir = "plugins-local"; 46 49 const listings = []; 47 - fs.mkdirSync("build/plugins-local", { recursive: true }); 50 + fs.mkdirSync(buildPluginsDir, { recursive: true }); 48 51 for (const entry of fs.readdirSync(localPluginsDir, { 49 52 withFileTypes: true, 50 53 })) { ··· 61 64 author: manifest.author, 62 65 description: manifest.description, 63 66 }); 64 - const destDir = path.join("build/plugins-local", manifest.id + "__LOCAL"); 67 + const destDir = path.join(buildPluginsDir, manifest.id + "__LOCAL"); 65 68 fs.mkdirSync(destDir, { recursive: true }); 66 69 fs.copyFileSync(manifestPath, path.join(destDir, "manifest.json")); 67 70 fs.copyFileSync(mainPath, path.join(destDir, "main.js")); ··· 75 78 } 76 79 } 77 80 fs.writeFileSync( 78 - "build/plugins-local/index.json", 81 + path.join(buildPluginsDir, "index.json"), 79 82 JSON.stringify(listings, null, 2), 80 83 ); 81 84 }); ··· 85 88 liveReload: !process.env.PLAYWRIGHT, 86 89 onRequest: { 87 90 "/*": function ({ url }) { 88 - if (fs.existsSync(path.join("build", url.pathname))) { 91 + if (fs.existsSync(path.join(BUILD_DIR, url.pathname))) { 89 92 // will send file by default 90 93 return null; 91 94 } ··· 101 104 body: "Not Found", 102 105 }; 103 106 } 104 - return fs.readFileSync("build/index.html", "utf-8"); 107 + return fs.readFileSync(path.join(BUILD_DIR, "index.html"), "utf-8"); 105 108 }, 106 109 }, 107 110 }); ··· 150 153 return { 151 154 dir: { 152 155 input: "src", 153 - output: "build", 156 + output: BUILD_DIR, 154 157 }, 155 158 }; 156 159 }
+2 -2
package.json
··· 3 3 "version": "0.16.6", 4 4 "type": "module", 5 5 "scripts": { 6 - "start": "rm -rf build && NODE_ENV=development eleventy --serve", 6 + "start": "rm -rf \"${BUILD_DIR:-build}\" && NODE_ENV=development eleventy --serve", 7 7 "start:tunnel": "node scripts/dev-tunnel.js", 8 - "build": "rm -rf build && NODE_ENV=production eleventy", 8 + "build": "rm -rf \"${BUILD_DIR:-build}\" && NODE_ENV=production eleventy", 9 9 "bundle:capacitor": "esbuild ./clientLibs/capacitor.js --bundle --format=esm --outfile=src/js/lib/capacitor.js", 10 10 "ios": "npm run build && cap sync && NODE_ENV=development cap run ios", 11 11 "bundle:lit-html": "esbuild ./clientLibs/litHtml.js --bundle --format=esm --outfile=src/js/lib/lit-html.js",
+5 -1
playwright.config.js
··· 1 1 import { defineConfig } from "@playwright/test"; 2 + import os from "node:os"; 3 + import path from "node:path"; 4 + 5 + const E2E_BUILD_DIR = path.join(os.tmpdir(), "impro-e2e-build"); 2 6 3 7 export default defineConfig({ 4 8 testDir: "./tests/e2e/specs", ··· 19 23 command: "npm run build && PORT=8081 npm run serve:static", 20 24 url: "http://localhost:8081", 21 25 reuseExistingServer: false, 22 - env: { PLAYWRIGHT: "1" }, 26 + env: { PLAYWRIGHT: "1", BUILD_DIR: E2E_BUILD_DIR }, 23 27 }, 24 28 });
+1 -1
scripts/serve-static.js
··· 7 7 import { fileURLToPath } from "node:url"; 8 8 9 9 const __dirname = path.dirname(fileURLToPath(import.meta.url)); 10 - const root = path.resolve(__dirname, "..", "build"); 10 + const root = path.resolve(__dirname, "..", process.env.BUILD_DIR || "build"); 11 11 const port = parseInt(process.env.PORT || "8081", 10); 12 12 13 13 export const MIME = {