Переглянути джерело

chore: Enable custom admin ui in dev-server

Michael Bromley 2 роки тому
батько
коміт
be35b5f195

+ 1 - 2
package.json

@@ -65,8 +65,7 @@
     ],
     "nohoist": [
       "**/@types/jasmine",
-      "**/@types/jasminewd2",
-      "**/@angular*/**"
+      "**/@types/jasminewd2"
     ]
   },
   "commitlint": {

+ 4 - 1
packages/admin-ui/scripts/compile-styles.js

@@ -8,7 +8,10 @@ const outFile = path.join(__dirname, '../package/static/theme.min.css');
 const result = sass.renderSync({
     file: path.join(__dirname, '../src/lib/static/styles/ui-extension-theme.scss'),
     importer,
-    includePaths: [path.join(__dirname, '../src/lib/static/styles'), path.join(__dirname, '../node_modules')],
+    includePaths: [
+        path.join(__dirname, '../src/lib/static/styles'),
+        path.join(__dirname, '../../../node_modules'),
+    ],
     outputStyle: 'compressed',
     outFile,
 });

+ 1 - 0
packages/dev-server/.gitignore

@@ -10,3 +10,4 @@ load-testing/static/assets
 dev-config-override.ts
 vendure.log
 scripts/dev-test
+custom-admin-ui

+ 7 - 0
packages/dev-server/dev-config.ts

@@ -14,6 +14,7 @@ import { ElasticsearchPlugin } from '@vendure/elasticsearch-plugin';
 import { defaultEmailHandlers, EmailPlugin } from '@vendure/email-plugin';
 import { BullMQJobQueuePlugin } from '@vendure/job-queue-plugin/package/bullmq';
 import 'dotenv/config';
+import { compileUiExtensions } from '@vendure/ui-devkit/compiler';
 import path from 'path';
 import { DataSourceOptions } from 'typeorm';
 
@@ -93,6 +94,12 @@ export const devConfig: VendureConfig = {
         AdminUiPlugin.init({
             route: 'admin',
             port: 5001,
+            // Un-comment to compile a custom admin ui
+            // app: compileUiExtensions({
+            //     outputPath: path.join(__dirname, './custom-admin-ui'),
+            //     extensions: [],
+            //     devMode: true,
+            // }),
         }),
     ],
 };

+ 1 - 0
packages/dev-server/package.json

@@ -23,6 +23,7 @@
         "typescript": "4.9.5"
     },
     "devDependencies": {
+        "@vendure/admin-ui": "./packages/admin-ui/package",
         "@types/csv-stringify": "^3.1.0",
         "@vendure/testing": "^2.0.0-beta.1",
         "@vendure/ui-devkit": "^2.0.0-beta.1",

+ 94 - 12
yarn.lock

@@ -4568,6 +4568,55 @@
     "@typescript-eslint/types" "5.57.0"
     eslint-visitor-keys "^3.3.0"
 
+"@vendure/admin-ui@./packages/admin-ui/package":
+  version "2.0.0-beta.1"
+  dependencies:
+    "@angular/animations" "^15.2.1"
+    "@angular/cdk" "^15.2.1"
+    "@angular/common" "^15.2.1"
+    "@angular/core" "^15.2.1"
+    "@angular/forms" "^15.2.1"
+    "@angular/language-service" "^15.2.1"
+    "@angular/platform-browser" "^15.2.1"
+    "@angular/platform-browser-dynamic" "^15.2.1"
+    "@angular/router" "^15.2.1"
+    "@apollo/client" "^3.7.9"
+    "@biesbjerg/ngx-translate-extract-marker" "^1.0.0"
+    "@cds/core" "^6.3.2"
+    "@clr/angular" "^15.1.0"
+    "@clr/core" "^4.0.15"
+    "@clr/icons" "^13.0.2"
+    "@clr/ui" "^15.0.1"
+    "@messageformat/core" "^3.1.0"
+    "@ng-select/ng-select" "^10.0.3"
+    "@ngx-translate/core" "^14.0.0"
+    "@ngx-translate/http-loader" "^7.0.0"
+    "@vendure/common" "^2.0.0-beta.1"
+    "@webcomponents/custom-elements" "^1.5.1"
+    apollo-angular "^4.2.1"
+    apollo-upload-client "^17.0.0"
+    codejar "^3.7.0"
+    core-js "^3.29.0"
+    dayjs "^1.10.4"
+    graphql "16.6.0"
+    messageformat "2.3.0"
+    ngx-pagination "^6.0.3"
+    ngx-translate-messageformat-compiler "^6.2.0"
+    prosemirror-commands "^1.5.1"
+    prosemirror-dropcursor "^1.7.1"
+    prosemirror-gapcursor "^1.3.1"
+    prosemirror-history "^1.3.0"
+    prosemirror-inputrules "^1.2.0"
+    prosemirror-keymap "^1.2.1"
+    prosemirror-menu "^1.2.1"
+    prosemirror-schema-basic "^1.2.1"
+    prosemirror-schema-list "^1.2.2"
+    prosemirror-state "^1.4.2"
+    prosemirror-tables "^1.3.2"
+    rxjs "^7.8.0"
+    tslib "^2.5.0"
+    zone.js "~0.12.0"
+
 "@vendure/ngx-translate-extract@^8.1.0":
   version "8.1.0"
   resolved "https://registry.yarnpkg.com/@vendure/ngx-translate-extract/-/ngx-translate-extract-8.1.0.tgz#6244342e84acde99efa97014bc55ecd8808d5ff1"
@@ -10141,12 +10190,19 @@ ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1:
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
   integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
 
-ignore-walk@^3.0.1:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335"
-  integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==
+ignore-walk@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-5.0.1.tgz#5f199e23e1288f518d90358d461387788a154776"
+  integrity sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==
   dependencies:
-    minimatch "^3.0.4"
+    minimatch "^5.0.1"
+
+ignore-walk@^6.0.0:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-6.0.2.tgz#c48f48397cf8ef6174fcc28aa5f8c1de6203d389"
+  integrity sha512-ezmQ1Dg2b3jVZh2Dh+ar6Eu2MqNSTkyb32HU2MAQQQX9tKM3q/UQ/9lf03lQ5hW+fOeoMnwxwkleZ0xcNp0/qg==
+  dependencies:
+    minimatch "^7.4.2"
 
 ignore@5.2.4, ignore@^5.0.4, ignore@^5.2.0:
   version "5.2.4"
@@ -13305,13 +13361,20 @@ now-and-later@^2.0.0:
   dependencies:
     once "^1.3.2"
 
-npm-bundled@^1.0.1, npm-bundled@^1.1.1:
+npm-bundled@^1.1.1, npm-bundled@^1.1.2:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1"
   integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==
   dependencies:
     npm-normalize-package-bin "^1.0.1"
 
+npm-bundled@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-2.0.1.tgz#94113f7eb342cd7a67de1e789f896b04d2c600f4"
+  integrity sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==
+  dependencies:
+    npm-normalize-package-bin "^2.0.0"
+
 npm-bundled@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-3.0.0.tgz#7e8e2f8bb26b794265028491be60321a25a39db7"
@@ -13377,13 +13440,32 @@ npm-package-arg@^9.0.0, npm-package-arg@^9.0.1:
     semver "^7.3.5"
     validate-npm-package-name "^4.0.0"
 
-npm-packlist@1.1.12, npm-packlist@5.1.1, npm-packlist@^5.1.0, npm-packlist@^7.0.0:
-  version "1.1.12"
-  resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a"
-  integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==
+npm-packlist@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0"
+  integrity sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==
+  dependencies:
+    glob "^8.0.1"
+    ignore-walk "^5.0.1"
+    npm-bundled "^1.1.2"
+    npm-normalize-package-bin "^1.0.1"
+
+npm-packlist@^5.1.0:
+  version "5.1.3"
+  resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.3.tgz#69d253e6fd664b9058b85005905012e00e69274b"
+  integrity sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==
+  dependencies:
+    glob "^8.0.1"
+    ignore-walk "^5.0.1"
+    npm-bundled "^2.0.0"
+    npm-normalize-package-bin "^2.0.0"
+
+npm-packlist@^7.0.0:
+  version "7.0.4"
+  resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-7.0.4.tgz#033bf74110eb74daf2910dc75144411999c5ff32"
+  integrity sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==
   dependencies:
-    ignore-walk "^3.0.1"
-    npm-bundled "^1.0.1"
+    ignore-walk "^6.0.0"
 
 npm-pick-manifest@8.0.1, npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1:
   version "8.0.1"