diff --git a/README.md b/README.md index 16d24c36..18cf3b31 100755 --- a/README.md +++ b/README.md @@ -35,6 +35,7 @@ Webamp uses a [monorepo](https://en.wikipedia.org/wiki/Monorepo) approach, so in * [`packages/webamp/demo`](https://github.com/captbaritone/webamp/tree/master/packages/webamp/demo): The demo site which lives at [webamp.org](https://webamp.org) * [`packages/ani-cursor`](https://github.com/captbaritone/webamp/tree/master/packages/ani-cursor): An NPM module for rendering animiated `.ani` cursors as CSS animations * [`packages/skin-database`](https://github.com/captbaritone/webamp/tree/master/packages/skin-database): The server component of https://skins.webamp.org which also runs our [Twitter bot](https://twitter.com/winampskins), and a Discord bot for our community chat +* [`packages/skin-museum-client`](https://github.com/captbaritone/webamp/tree/master/packages/skin-museum-client): The front-end component of https://skins.webamp.org. * [`packages/winamp-eqf`](https://github.com/captbaritone/webamp/tree/master/packages/winamp-eqf): An NPM module for parsing and constructing Winamp equalizer preset files (`.eqf`) * [`packages/archive-org-webamp-integration-tests`](https://github.com/captbaritone/webamp/tree/master/packages/archive-org-webamp-integration-tests): An integration that confirms that archive.org's Webamp integration is working as expected * [`packages/webamp-modern`](https://github.com/captbaritone/webamp/tree/master/packages/webamp-modern): A prototype exploring rendering "modern" Winamp skins in the browser diff --git a/packages/skin-museum-client/README.md b/packages/skin-museum-client/README.md index 3a94d173..43299bba 100644 --- a/packages/skin-museum-client/README.md +++ b/packages/skin-museum-client/README.md @@ -1,13 +1,17 @@ -# TODO +# Winamp Skin Museum Client -Generate skins +This package is the client for the Winamp Skin Museum. It is a React/Redux/RXJS application that uses the GraphQL API provided by the `skin-database` package in this same repository. -Minify skins +## Development -Generate json with array of: - - Skin path - Screenshot path - Name - Color +```bash +cd packages/skin-museum-client +yarn +# Run this at least once to ensure the local version of Webamp has been built. +yarn build-webamp +yarn start +``` +## Deployment + +The Skin Museum client is deployed using Netlify. See the `netlify.toml` file in this same directory for details about how that works. The Netlify site is configured to use this subdirectory as it's base directory. \ No newline at end of file diff --git a/packages/skin-museum-client/netlify.toml b/packages/skin-museum-client/netlify.toml index 312b3c2d..4454812d 100644 --- a/packages/skin-museum-client/netlify.toml +++ b/packages/skin-museum-client/netlify.toml @@ -11,10 +11,9 @@ ID = "be420a16-4ef3-43b1-ac62-35869bdf8679" publish = "build/" # Default build command. - command = "cd ../webamp && yarn build-library && cd ../skin-museum-client && yarn build" + command = "yarn build" [build.environment] NODE_VERSION = "17.3.0" - SKIP_PREFLIGHT_CHECK = "true" NETLIFY_USE_YARN = "true" diff --git a/packages/skin-museum-client/package.json b/packages/skin-museum-client/package.json index 77b172c3..40344b21 100644 --- a/packages/skin-museum-client/package.json +++ b/packages/skin-museum-client/package.json @@ -30,8 +30,9 @@ "spark-md5": "^3.0.1" }, "scripts": { - "start": "react-scripts --openssl-legacy-provider start", - "build": "react-scripts --openssl-legacy-provider build", + "start": "SKIP_PREFLIGHT_CHECK=true react-scripts --openssl-legacy-provider start", + "build-webamp": "cd ../webamp && yarn build-library", + "build": "yarn build-webamp && SKIP_PREFLIGHT_CHECK=true react-scripts --openssl-legacy-provider build", "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject", "find-skins": "node ./scripts/findSkins.js", @@ -52,13 +53,19 @@ "extends": "react-app", "overrides": [ { - "files": ["*.js"], - "processor": "@graphql-eslint/graphql" - }, + "files": [ + "*.js" + ], + "processor": "@graphql-eslint/graphql" + }, { - "files": ["*.graphql"], + "files": [ + "*.graphql" + ], "parser": "@graphql-eslint/eslint-plugin", - "plugins": ["@graphql-eslint"], + "plugins": [ + "@graphql-eslint" + ], "rules": { "@graphql-eslint/known-type-names": "error" }