switch from yarn to pnpm

This commit is contained in:
Matthew Penner 2023-02-23 14:37:12 -07:00
parent 0d225b0e8f
commit 8320c64918
No known key found for this signature in database
10 changed files with 5745 additions and 5571 deletions

View file

@ -13,7 +13,7 @@ on:
jobs:
analysis:
name: Static Analysis
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
APP_ENV: testing
APP_DEBUG: "true"
@ -42,7 +42,7 @@ jobs:
lint:
name: Lint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Code checkout
uses: actions/checkout@v3
@ -64,7 +64,7 @@ jobs:
mysql:
name: Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
@ -136,7 +136,7 @@ jobs:
postgres:
name: Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: "!contains(github.event.head_commit.message, 'skip ci') && !contains(github.event.head_commit.message, 'ci skip')"
strategy:
fail-fast: false

View file

@ -8,7 +8,7 @@ on:
jobs:
release:
name: Release
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Code checkout
uses: actions/checkout@v3
@ -17,13 +17,13 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
cache: pnpm
- name: Install dependencies
run: yarn install --frozen-lockfile
run: pnpm install
- name: Build
run: yarn build
run: pnpm run build
- name: Create release branch and bump version
env:

View file

@ -13,7 +13,7 @@ on:
jobs:
lint:
name: Lint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Code checkout
uses: actions/checkout@v3
@ -22,17 +22,17 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: 18
cache: yarn
cache: pnpm
- name: Install dependencies
run: yarn install --frozen-lockfile
run: pnpm install
- name: Lint
run: yarn run lint
run: pnpm run lint
tests:
name: Tests
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
@ -45,13 +45,13 @@ jobs:
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node }}
cache: yarn
cache: pnpm
- name: Install dependencies
run: yarn install --frozen-lockfile
run: pnpm install
- name: Build
run: yarn run build
run: pnpm run build
- name: Tests
run: yarn run test
run: pnpm run test

1
.npmrc Normal file
View file

@ -0,0 +1 @@
shamefully-hoist=true

View file

@ -1,63 +0,0 @@
# Local Development
Pterodactyl is now powered by React, Typescript, and Tailwindcss using webpack at its core to generate compiled assets.
Release versions of Pterodactyl will include pre-compiled, minified, and hashed assets ready-to-go.
However, if you are interested in running custom themes or making modifications to the React files you'll need a build
system in place to generate these compiled assets. To get your environment setup you'll need at minimum:
* [Node.js](https://nodejs.org/en/) v14.x.x
* [Yarn](https://classic.yarnpkg.com/lang/en/) v1.x.x
* [Go](https://golang.org/) 1.17.x
### Install Dependencies
```bash
yarn install
```
The command above will download all of the dependencies necessary to get Pterodactyl assets building. After that, its as
simple as running the command below to generate assets while you're developing. Until you've run this command at least
once you'll likely see a 500 error on your Panel about a missing `manifest.json` file. This is generated by the commands
below.
```bash
# Build the compiled set of assets for development.
yarn run build
# Build the assets automatically as they are changed. This allows you to refresh
# the page and see the changes immediately.
yarn run watch
```
### Hot Module Reloading
For more advanced users, we also support 'Hot Module Reloading', allowing you to quickly see changes you're making
to the Vue template files without having to reload the page you're on. To Get started with this, you just need
to run the command below.
```bash
PUBLIC_PATH=http://192.168.1.1:8080 yarn run serve --host 192.168.1.1
```
There are two _very important_ parts of this command to take note of and change for your specific environment. The first
is the `--host` flag, which is required and should point to the machine where the `webpack-serve` server will be running.
The second is the `PUBLIC_PATH` environment variable which is the URL pointing to the HMR server and is appended to all of
the asset URLs used in Pterodactyl.
#### Development Environment
If you're using the [`pterodactyl/development`](https://github.com/pterodactyl/development) environments, which are
highly recommended, you can just run `yarn run serve` to run the HMR server, no additional configuration is necessary.
### Building for Production
Once you have your files squared away and ready for the live server, you'll be needing to generate compiled, minified,
and hashed assets to push live. To do so, run the command below:
```bash
yarn run build:production
```
This will generate a production JS bundle and associated assets, all located in `public/assets/` which will need to
be uploaded to your server or CDN for clients to use.
### Running Wings
To run `wings` in development all you need to do is set up the configuration file as normal when adding a new node, and
then you can build and run a local version of Wings by executing `make debug` in the Wings code directory. This must
be run on a Linux VM of some sort, you cannot run this locally on macOS or Windows.

View file

@ -172,7 +172,7 @@
buildInputs = [];
buildPhase = ''
yarn run build
pnpm run build
'';
installPhase = ''
@ -224,7 +224,6 @@
nodejs-18_x
nodePackages.npm
nodePackages.pnpm
nodePackages.yarn
php81WithExtensions
postgresql_14
];

View file

@ -1,9 +1,11 @@
{
"name": "@pterodactyl/panel",
"version": "1.0.0",
"license": "MIT",
"private": true,
"packageManager": "pnpm@7.26.3",
"engines": {
"node": ">=16.0"
"node": ">=16.13"
},
"scripts": {
"build": "vite build",

5722
pnpm-lock.yaml Normal file

File diff suppressed because it is too large Load diff

View file

@ -9,7 +9,7 @@ with pkgs;
alejandra
composer
nodejs-18_x
nodePackages.yarn
nodePackages.pnpm
php81WithExtensions
];
}

5487
yarn.lock

File diff suppressed because it is too large Load diff