Yuki Takei 3 лет назад
Родитель
Сommit
5585484d10
4 измененных файлов с 48 добавлено и 28 удалено
  1. 15 20
      .github/workflows/ci-app.yml
  2. 0 7
      apps/app/package.json
  3. 1 1
      packages/presentation/package.json
  4. 32 0
      turbo.json

+ 15 - 20
.github/workflows/ci-app.yml

@@ -31,7 +31,7 @@ jobs:
 
 
     strategy:
     strategy:
       matrix:
       matrix:
-        node-version: [16.x]
+        node-version: [18.x]
 
 
     steps:
     steps:
       - uses: actions/checkout@v3
       - uses: actions/checkout@v3
@@ -53,19 +53,14 @@ jobs:
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-
 
 
-      - name: lerna bootstrap
+      - name: Install dependencies
         run: |
         run: |
-          npx lerna bootstrap -- --frozen-lockfile
+          yarn --frozen-lockfile
 
 
-      - name: lerna run lint for dependent packages
+      - name: lint
+        working-directory: ./apps/app
         run: |
         run: |
-          yarn lerna run lint --scope @growi/codemirror-textlint --scope @growi/core --scope @growi/hackmd --scope @growi/preset-themes --scope @growi/remark-* --scope @growi/slack --scope @growi/ui
-      - name: build dependent packages
-        run: |
-          yarn lerna run build --scope @growi/preset-themes
-      - name: lerna run lint for app
-        run: |
-          yarn lerna run lint --scope @growi/app
+          turbo run lint
 
 
       - name: Slack Notification
       - name: Slack Notification
         uses: weseek/ghaction-slack-notification@master
         uses: weseek/ghaction-slack-notification@master
@@ -82,7 +77,7 @@ jobs:
 
 
     strategy:
     strategy:
       matrix:
       matrix:
-        node-version: [16.x]
+        node-version: [18.x]
 
 
     services:
     services:
       mongodb:
       mongodb:
@@ -110,13 +105,13 @@ jobs:
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-
             node_modules-${{ runner.OS }}-node${{ matrix.node-version }}-
 
 
-      - name: lerna bootstrap
+      - name: Install dependencies
         run: |
         run: |
-          npx lerna bootstrap -- --frozen-lockfile
+          yarn --frozen-lockfile
 
 
-      - name: lerna run test for plugins
+      - name: Test sub-packages
         run: |
         run: |
-          yarn lerna run test --scope @growi/remark-*
+          turbo run test --filter=@growi/remark-*
 
 
       - name: Test app
       - name: Test app
         working-directory: ./packages/app
         working-directory: ./packages/app
@@ -148,7 +143,7 @@ jobs:
 
 
     strategy:
     strategy:
       matrix:
       matrix:
-        node-version: [16.x]
+        node-version: [18.x]
 
 
     services:
     services:
       mongodb:
       mongodb:
@@ -177,12 +172,12 @@ jobs:
             dev-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             dev-${{ runner.OS }}-node${{ matrix.node-version }}-${{ hashFiles('**/yarn.lock') }}-
             dev-${{ runner.OS }}-node${{ matrix.node-version }}-
             dev-${{ runner.OS }}-node${{ matrix.node-version }}-
 
 
-      - name: lerna bootstrap
+      - name: Install dependencies
         run: |
         run: |
-          npx lerna bootstrap -- --frozen-lockfile
+          yarn --frozen-lockfile
 
 
       - name: yarn dev:ci
       - name: yarn dev:ci
-        working-directory: ./packages/app
+        working-directory: ./apps/app
         run: |
         run: |
           cp config/ci/.env.local.for-ci .env.development.local
           cp config/ci/.env.local.for-ci .env.development.local
           yarn dev:ci
           yarn dev:ci

+ 0 - 7
apps/app/package.json

@@ -11,14 +11,12 @@
     "build:server": "yarn cross-env NODE_ENV=production tsc -p tsconfig.build.server.json && tsc-alias -p tsconfig.build.server-tsc-alias.json",
     "build:server": "yarn cross-env NODE_ENV=production tsc -p tsconfig.build.server.json && tsc-alias -p tsconfig.build.server-tsc-alias.json",
     "postbuild:server": "npx -y shx echo \"Listing files under transpiled\" && npx -y shx ls transpiled && npx -y shx mv transpiled/src dist && npx -y shx cp -r transpiled/config/* config && npx -y shx rm -rf transpiled",
     "postbuild:server": "npx -y shx echo \"Listing files under transpiled\" && npx -y shx ls transpiled && npx -y shx mv transpiled/src dist && npx -y shx cp -r transpiled/config/* config && npx -y shx rm -rf transpiled",
     "clean": "npx -y shx rm -rf dist transpiled",
     "clean": "npx -y shx rm -rf dist transpiled",
-    "prebuild": "yarn cross-env NODE_ENV=production run-p clean resources:*",
     "server": "yarn cross-env NODE_ENV=production node -r dotenv-flow/config dist/server/app.js",
     "server": "yarn cross-env NODE_ENV=production node -r dotenv-flow/config dist/server/app.js",
     "server:ci": "yarn server --ci",
     "server:ci": "yarn server --ci",
     "preserver": "yarn cross-env NODE_ENV=production yarn migrate",
     "preserver": "yarn cross-env NODE_ENV=production yarn migrate",
     "migrate": "node -r dotenv-flow/config node_modules/.bin/migrate-mongo up -f config/migrate-mongo-config.js",
     "migrate": "node -r dotenv-flow/config node_modules/.bin/migrate-mongo up -f config/migrate-mongo-config.js",
     "//// for development": "",
     "//// for development": "",
     "dev": "yarn cross-env NODE_ENV=development ts-node-dev -r tsconfig-paths/register -r dotenv-flow/config --inspect --transpile-only src/server/app.ts",
     "dev": "yarn cross-env NODE_ENV=development ts-node-dev -r tsconfig-paths/register -r dotenv-flow/config --inspect --transpile-only src/server/app.ts",
-    "// predev": "yarn cross-env NODE_ENV=development run-p resources:* dev:migrate:up",
     "predev": "yarn cross-env NODE_ENV=development run-p dev:migrate:up",
     "predev": "yarn cross-env NODE_ENV=development run-p dev:migrate:up",
     "dev:analyze": "yarn cross-env ANALYZE=true yarn dev",
     "dev:analyze": "yarn cross-env ANALYZE=true yarn dev",
     "dev:migrate-mongo": "yarn cross-env NODE_ENV=development yarn ts-node node_modules/.bin/migrate-mongo",
     "dev:migrate-mongo": "yarn cross-env NODE_ENV=development yarn ts-node node_modules/.bin/migrate-mongo",
@@ -30,7 +28,6 @@
     "cy:run": "cypress run --browser chrome",
     "cy:run": "cypress run --browser chrome",
     "//// for CI": "",
     "//// for CI": "",
     "dev:ci": "yarn dev --ci",
     "dev:ci": "yarn dev --ci",
-    "predev:ci": "run-p resources:*",
     "lint:typecheck": "npx -y tsc",
     "lint:typecheck": "npx -y tsc",
     "lint:eslint": "eslint --quiet \"**/*.{js,jsx,ts,tsx}\"",
     "lint:eslint": "eslint --quiet \"**/*.{js,jsx,ts,tsx}\"",
     "lint:styles": "stylelint src/**/*.scss",
     "lint:styles": "stylelint src/**/*.scss",
@@ -38,7 +35,6 @@
     "lint": "run-p lint:*",
     "lint": "run-p lint:*",
     "test": "cross-env NODE_ENV=test jest --passWithNoTests -- ",
     "test": "cross-env NODE_ENV=test jest --passWithNoTests -- ",
     "test:ci": "cross-env NODE_ENV=test jest",
     "test:ci": "cross-env NODE_ENV=test jest",
-    "// prelint:eslint": "yarn resources:plugin",
     "prelint:swagger2openapi": "yarn openapi:v3",
     "prelint:swagger2openapi": "yarn openapi:v3",
     "reg:run": "reg-suit run",
     "reg:run": "reg-suit run",
     "//// misc": "",
     "//// misc": "",
@@ -46,9 +42,6 @@
     "swagger-jsdoc": "swagger-jsdoc -o tmp/swagger.json -d config/swagger-definition.js",
     "swagger-jsdoc": "swagger-jsdoc -o tmp/swagger.json -d config/swagger-definition.js",
     "openapi:v3": "yarn cross-env API_VERSION=3 yarn swagger-jsdoc -- \"src/server/routes/apiv3/**/*.js\" \"src/server/models/**/*.js\"",
     "openapi:v3": "yarn cross-env API_VERSION=3 yarn swagger-jsdoc -- \"src/server/routes/apiv3/**/*.js\" \"src/server/models/**/*.js\"",
     "openapi:v1": "yarn cross-env API_VERSION=1 yarn swagger-jsdoc -- \"src/server/*/*.js\" \"src/server/models/**/*.js\"",
     "openapi:v1": "yarn cross-env API_VERSION=1 yarn swagger-jsdoc -- \"src/server/*/*.js\" \"src/server/models/**/*.js\"",
-    "// resources:hackmd": "yarn lerna run build --scope=@growi/hackmd",
-    "// resources:preset-themes": "yarn lerna run dev:nowatch --scope=@growi/preset-themes",
-    "// resources:dl-resources": "yarn ts-node bin/download-cdn-resources.ts",
     "ts-node": "node -r ts-node/register -r tsconfig-paths/register -r dotenv-flow/config"
     "ts-node": "node -r ts-node/register -r tsconfig-paths/register -r dotenv-flow/config"
   },
   },
   "// comments for dependencies": {
   "// comments for dependencies": {

+ 1 - 1
packages/presentation/package.json

@@ -13,7 +13,7 @@
   "scripts": {
   "scripts": {
     "build": "run-p build:*",
     "build": "run-p build:*",
     "build:js": "vite build",
     "build:js": "vite build",
-    "clean": "npx -y shx rm -rf dist",
+    "clean": "npx -y shx rm -rf dist types",
     "dev": "run-p dev:*",
     "dev": "run-p dev:*",
     "dev:js": "vite build --mode dev",
     "dev:js": "vite build --mode dev",
     "watch": "run-p 'dev:js -w'",
     "watch": "run-p 'dev:js -w'",

+ 32 - 0
turbo.json

@@ -1,11 +1,30 @@
 {
 {
   "$schema": "https://turbo.build/schema.json",
   "$schema": "https://turbo.build/schema.json",
   "pipeline": {
   "pipeline": {
+    "@growi/remark-lsx#build": {
+      "dependsOn": ["@growi/ui#build"],
+      "outputs": ["dist/**", "types/**"]
+    },
+    "build": {
+      "outputs": ["dist/**", "types/**"],
+      "inputs": [
+        "src/**/*.js", "src/**/*.jsx",
+        "src/**/*.ts", "src/**/*.tsx",
+        "src/**/*.css", "src/**/*.scss",
+        "tsconfig*.json",
+        "vite*.ts"
+      ]
+    },
+
     "@growi/app#dev": {
     "@growi/app#dev": {
       "dependsOn": ["^dev"],
       "dependsOn": ["^dev"],
       "cache": false,
       "cache": false,
       "persistent": true
       "persistent": true
     },
     },
+    "@growi/app#dev:ci": {
+      "dependsOn": ["^dev"],
+      "cache": false
+    },
     "dev": {
     "dev": {
       "outputs": ["dist/**", "types/**"],
       "outputs": ["dist/**", "types/**"],
       "inputs": [
       "inputs": [
@@ -15,6 +34,19 @@
         "tsconfig*.json",
         "tsconfig*.json",
         "vite*.ts"
         "vite*.ts"
       ]
       ]
+    },
+
+    "@growi/app#lint": {
+      "dependsOn": ["^dev"]
+    },
+    "lint": {
+    },
+
+    "test": {
+    },
+
+    "clean": {
+      "cache": false
     }
     }
   },
   },
   "globalDependencies": [
   "globalDependencies": [