mirror of
https://github.com/kemalai/FreeCrawl-SEO-Tool.git
synced 2026-10-18 00:39:38 +02:00
101 lines
3.8 KiB
YAML
101 lines
3.8 KiB
YAML
appId: com.kemalai.freecrawl
|
|
productName: FreeCrawl SEO Tool
|
|
electronVersion: 41.2.2
|
|
publish:
|
|
provider: github
|
|
owner: kemalai
|
|
repo: FreeCrawl-SEO-Tool
|
|
releaseType: release
|
|
directories:
|
|
buildResources: resources
|
|
output: release
|
|
files:
|
|
- out/**/*
|
|
- package.json
|
|
- "!**/*.map"
|
|
- "!**/*.ts"
|
|
# The language detector loads only `eld/large`; the other three n-gram
|
|
# databases are ~4.5 MB of dead weight in the installer. ELD is a module
|
|
# singleton — one database per process — so the rest can never be reached.
|
|
- "!node_modules/eld/src/ngrams/{extrasmall,small,medium}.js"
|
|
asar: true
|
|
# Release file names carry the platform and, where it matters, the CPU as
|
|
# plain words (Windows-Setup / Windows-Portable / macOS-Apple-Silicon /
|
|
# macOS-Intel / Linux-x86_64) so the Releases page needs no decoding.
|
|
# Hyphens, not spaces: GitHub rewrites spaces in asset URLs. The macOS
|
|
# name below is the local fallback (`-macOS-arm64` / `-macOS-x64`); the
|
|
# release workflow overrides it per architecture with the friendly words
|
|
# via `-c.mac.artifactName`, since one template cannot branch on arch.
|
|
# `pickInstallerAsset()` in src/main/index.ts matches both spellings.
|
|
asarUnpack:
|
|
- "**/*.node"
|
|
# V2 Faz 1 — JS rendering. By default the Playwright browser cache is
|
|
# NOT bundled into the installer (saves ~250 MB). The main process
|
|
# prompts the user to download the browser on first JS-render crawl.
|
|
#
|
|
# To opt into bundling (offline installer / enterprise distribution):
|
|
# 1. Run `npm run playwright:install` so the cache exists locally.
|
|
# 2. Build with `BUNDLE_PLAYWRIGHT=1`:
|
|
# $env:BUNDLE_PLAYWRIGHT='1'; npm --workspace apps/desktop run build:win
|
|
# The build script copies `~/AppData/Local/ms-playwright` into
|
|
# `apps/desktop/resources/playwright-browsers/` BEFORE
|
|
# electron-builder runs, and the `extraResources` glob below picks
|
|
# it up. When the env var is unset the resources folder is empty
|
|
# and the glob no-ops.
|
|
extraResources:
|
|
- from: "resources/playwright-browsers"
|
|
to: "playwright-browsers"
|
|
filter:
|
|
- "**/*"
|
|
win:
|
|
target:
|
|
- target: nsis
|
|
arch:
|
|
- x64
|
|
- target: portable
|
|
arch:
|
|
- x64
|
|
nsis:
|
|
artifactName: FreeCrawl-SEO-Tool-${version}-Windows-Setup.${ext}
|
|
oneClick: false
|
|
allowToChangeInstallationDirectory: true
|
|
createDesktopShortcut: true
|
|
createStartMenuShortcut: true
|
|
portable:
|
|
artifactName: FreeCrawl-SEO-Tool-${version}-Windows-Portable.${ext}
|
|
mac:
|
|
artifactName: FreeCrawl-SEO-Tool-${version}-macOS-${arch}.${ext}
|
|
# No `arch` list here on purpose. electron-builder lets a config-side
|
|
# arch list override the CLI's `--arm64` / `--x64` unless a target type
|
|
# is also given on the CLI (computeArchToTargetNamesMap), so with
|
|
# `arch: [arm64, x64]` every release leg built BOTH images — and once
|
|
# both carried the same friendly name they overwrote each other. The
|
|
# arch now comes from the CLI: the release workflow passes one per leg,
|
|
# a local `npm run build:mac` builds the host arch, and
|
|
# `npm run build:mac -- --arm64 --x64` builds both.
|
|
target:
|
|
- dmg
|
|
category: public.app-category.developer-tools
|
|
# Linux AppImage only: wraps the binary in a launcher that adds --no-sandbox
|
|
# on kernels that deny unprivileged user namespaces (Ubuntu 23.10+ AppArmor),
|
|
# where Chromium would otherwise abort before the app starts. The hook is a
|
|
# no-op for every other platform and target; see the file for the reasoning.
|
|
afterPack: scripts/after-pack.mjs
|
|
linux:
|
|
executableName: freecrawl-seo
|
|
artifactName: FreeCrawl-SEO-Tool-${version}-Linux-${arch}.${ext}
|
|
target:
|
|
- AppImage
|
|
- deb
|
|
- rpm
|
|
category: Development
|
|
rpm:
|
|
fpm:
|
|
- "--name"
|
|
- "freecrawl-seo"
|
|
fileAssociations:
|
|
- ext: seoproject
|
|
name: FreeCrawl SEO Project
|
|
description: FreeCrawl SEO crawl project
|
|
role: Editor
|