mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-25 19:48:50 +03:00
af0f26c75f
no issue - Dev Containers let you work on Ghost in a consistent, isolated environment with all the necessary development dependencies pre-installed. VSCode (or Cursor) can effectively run _inside_ the container, providing a local quality development environment while working in a well-defined, isolated environment. - For now the default setup only works with "Clone repository in Container Volume" or "Clone PR in Container Volume" — this allows for a super quick and simple setup. We can also introduce another configuration to allow opening an existing local checkout in a Dev Container, but that's not quite ready yet. - This PR also added the `yarn clean:hard` command which: deletes all node_modules, cleans the yarn cache, and cleans the NX cache. This will be necessary for opening a local checkout in a Dev Container. - To learn more about Dev Containers, read this guide from VSCode: https://code.visualstudio.com/docs/devcontainers/containers#_personalizing-with-dotfile-repositories --------- Co-authored-by: Joe Grigg <joe@ghost.org> Co-authored-by: Steve Larson <9larsons@gmail.com>
133 lines
4.4 KiB
JSON
133 lines
4.4 KiB
JSON
{
|
|
"name": "ghost-monorepo",
|
|
"version": "0.0.0-private",
|
|
"description": "The professional publishing platform",
|
|
"private": true,
|
|
"repository": "https://github.com/TryGhost/Ghost",
|
|
"author": "Ghost Foundation",
|
|
"license": "MIT",
|
|
"workspaces": [
|
|
"ghost/*",
|
|
"apps/*"
|
|
],
|
|
"monorepo": {
|
|
"public": false,
|
|
"internalPackages": true,
|
|
"repo": "https://github.com/TryGhost/Ghost",
|
|
"scope": "@tryghost"
|
|
},
|
|
"eslintIgnore": [
|
|
"**/node_modules/**"
|
|
],
|
|
"scripts": {
|
|
"archive": "nx run ghost:archive",
|
|
"build": "nx run-many -t build",
|
|
"build:clean": "nx reset && rimraf -g 'ghost/*/build' && rimraf -g 'ghost/*/tsconfig.tsbuildinfo'",
|
|
"clean:hard": "./.github/scripts/clean.sh",
|
|
"dev:debug": "DEBUG_COLORS=true DEBUG=@tryghost*,ghost:* yarn dev",
|
|
"dev:admin": "node .github/scripts/dev.js --admin",
|
|
"dev:ghost": "node .github/scripts/dev.js --ghost",
|
|
"dev": "node .github/scripts/dev.js",
|
|
"fix": "yarn cache clean && rimraf -g '**/node_modules' && yarn",
|
|
"knex-migrator": "yarn workspace ghost run knex-migrator",
|
|
"setup": "yarn && git submodule update --init && nx run-many -t build:ts && NODE_ENV=development node .github/scripts/setup.js",
|
|
"reset:data": "cd ghost/core && node index.js generate-data --clear-database --quantities members:100000,posts:500 --seed 123",
|
|
"reset:data:empty": "cd ghost/core && node index.js generate-data --clear-database --quantities members:0,posts:0 --seed 123",
|
|
"reset:data:xxl": "cd ghost/core && node index.js generate-data --clear-database --quantities members:2000000,posts:0,emails:0,members_stripe_customers:0,members_login_events:0,members_status_events:0 --seed 123",
|
|
"docker:reset": "docker-compose -f .github/scripts/docker-compose.yml down -v && docker-compose -f .github/scripts/docker-compose.yml up -d --wait",
|
|
"docker:down": "docker-compose -f .github/scripts/docker-compose.yml down",
|
|
"compose": "docker compose -f .devcontainer/.docker/base.compose.yml -f .devcontainer/.docker/development.compose.yml",
|
|
"lint": "nx run-many -t lint",
|
|
"test": "nx run-many -t test",
|
|
"test:unit": "nx run-many -t test:unit",
|
|
"test:browser": "node .github/scripts/dev.js --browser-tests --all",
|
|
"main": "yarn main:monorepo && yarn main:submodules",
|
|
"main:monorepo": "git checkout main && git pull ${GHOST_UPSTREAM:-origin} main && yarn",
|
|
"main:submodules": "git submodule sync && git submodule update && git submodule foreach \"git checkout main && git pull ${GHOST_UPSTREAM:-origin} main\"",
|
|
"prepare": "husky install .github/hooks",
|
|
"tb": "docker run --rm -v $(pwd):/ghost -w /ghost/ghost/tinybird -it tinybirdco/tinybird-cli-docker",
|
|
"tb:update": "docker pull tinybirdco/tinybird-cli-docker"
|
|
},
|
|
"resolutions": {
|
|
"@tryghost/errors": "1.3.5",
|
|
"@tryghost/logging": "2.4.18",
|
|
"jackspeak": "2.1.1",
|
|
"moment": "2.24.0",
|
|
"moment-timezone": "0.5.45"
|
|
},
|
|
"renovate": {
|
|
"extends": [
|
|
"github>tryghost/renovate-config:quiet"
|
|
],
|
|
"rebaseWhen": "never",
|
|
"ignoreDeps": [
|
|
"got",
|
|
"intl-messageformat",
|
|
"moment",
|
|
"moment-timezone",
|
|
"simple-dom",
|
|
"ember-drag-drop",
|
|
"normalize.css",
|
|
"validator",
|
|
"codemirror",
|
|
"faker",
|
|
"ember-cli-code-coverage",
|
|
"ember-cli-terser"
|
|
],
|
|
"ignorePaths": [
|
|
"test",
|
|
"ghost/admin/lib/koenig-editor/package.json"
|
|
],
|
|
"packageRules": [
|
|
{
|
|
"groupName": "ember-basic-dropdown addons",
|
|
"packagePatterns": [
|
|
"^ember-basic",
|
|
"^ember-power"
|
|
]
|
|
},
|
|
{
|
|
"groupName": "ember core",
|
|
"packageNames": [
|
|
"ember-source",
|
|
"ember-cli",
|
|
"ember-data"
|
|
]
|
|
},
|
|
{
|
|
"groupName": "disable css",
|
|
"matchFiles": [
|
|
"ghost/admin/package.json"
|
|
],
|
|
"packagePatterns": [
|
|
"^postcss",
|
|
"^css"
|
|
],
|
|
"packageNames": [
|
|
"autoprefixer",
|
|
"ember-cli-postcss"
|
|
],
|
|
"enabled": false
|
|
}
|
|
]
|
|
},
|
|
"lint-staged": {
|
|
"*.js": "eslint"
|
|
},
|
|
"devDependencies": {
|
|
"@actions/core": "1.11.1",
|
|
"chalk": "4.1.2",
|
|
"concurrently": "8.2.2",
|
|
"eslint": "8.44.0",
|
|
"eslint-plugin-ghost": "3.4.0",
|
|
"eslint-plugin-react": "7.33.0",
|
|
"husky": "8.0.3",
|
|
"inquirer": "8.2.6",
|
|
"lint-staged": "15.2.10",
|
|
"nx": "19.8.4",
|
|
"rimraf": "5.0.10",
|
|
"ts-node": "10.9.2",
|
|
"typescript": "5.4.5"
|
|
}
|
|
}
|