@vendure/ui-devkit 2.0.0-next.27 → 2.0.0-next.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/scaffold.js +38 -7
- package/compiler/scaffold.js.map +1 -1
- package/compiler/types.d.ts +89 -0
- package/compiler/utils.d.ts +2 -2
- package/compiler/utils.js.map +1 -1
- package/package.json +5 -5
package/compiler/scaffold.js
CHANGED
|
@@ -29,9 +29,10 @@ const translations_1 = require("./translations");
|
|
|
29
29
|
const utils_1 = require("./utils");
|
|
30
30
|
async function setupScaffold(outputPath, extensions) {
|
|
31
31
|
deleteExistingExtensionModules(outputPath);
|
|
32
|
-
copyAdminUiSource(outputPath);
|
|
33
32
|
const adminUiExtensions = extensions.filter(utils_1.isAdminUiExtension);
|
|
34
33
|
const normalizedExtensions = (0, utils_1.normalizeExtensions)(adminUiExtensions);
|
|
34
|
+
const modulePathMapping = generateModulePathMapping(normalizedExtensions);
|
|
35
|
+
copyAdminUiSource(outputPath, modulePathMapping);
|
|
35
36
|
await copyExtensionModules(outputPath, normalizedExtensions);
|
|
36
37
|
const staticAssetExtensions = extensions.filter(utils_1.isStaticAssetExtension);
|
|
37
38
|
await copyStaticAssets(outputPath, staticAssetExtensions);
|
|
@@ -57,6 +58,23 @@ exports.setupScaffold = setupScaffold;
|
|
|
57
58
|
function deleteExistingExtensionModules(outputPath) {
|
|
58
59
|
fs.removeSync(path.join(outputPath, constants_1.MODULES_OUTPUT_DIR));
|
|
59
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Generates a module path mapping object for all extensions with a "pathAlias"
|
|
63
|
+
* property declared (if any).
|
|
64
|
+
*/
|
|
65
|
+
function generateModulePathMapping(extensions) {
|
|
66
|
+
const extensionsWithAlias = extensions.filter(e => e.pathAlias);
|
|
67
|
+
if (extensionsWithAlias.length === 0) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
return extensionsWithAlias.reduce((acc, e) => {
|
|
71
|
+
// for imports from the index file if there is one
|
|
72
|
+
acc[e.pathAlias] = [`src/extensions/${e.id}`];
|
|
73
|
+
// direct access to files / deep imports
|
|
74
|
+
acc[`${e.pathAlias}/*`] = [`src/extensions/${e.id}/*`];
|
|
75
|
+
return acc;
|
|
76
|
+
}, {});
|
|
77
|
+
}
|
|
60
78
|
/**
|
|
61
79
|
* Copies all files from the extensionPaths of the configured extensions into the
|
|
62
80
|
* admin-ui source tree.
|
|
@@ -152,13 +170,14 @@ function getModuleFilePath(id, module) {
|
|
|
152
170
|
return `./extensions/${id}/${path.basename(module.ngModuleFileName, '.ts')}`;
|
|
153
171
|
}
|
|
154
172
|
/**
|
|
155
|
-
*
|
|
156
|
-
*
|
|
173
|
+
* Copies the Admin UI sources & static assets to the outputPath if it does not already
|
|
174
|
+
* exist there.
|
|
157
175
|
*/
|
|
158
|
-
function copyAdminUiSource(outputPath) {
|
|
159
|
-
const
|
|
160
|
-
const
|
|
161
|
-
if (fs.existsSync(
|
|
176
|
+
function copyAdminUiSource(outputPath, modulePathMapping) {
|
|
177
|
+
const tsconfigFilePath = path.join(outputPath, 'tsconfig.json');
|
|
178
|
+
const indexFilePath = path.join(outputPath, '/src/index.html');
|
|
179
|
+
if (fs.existsSync(tsconfigFilePath) && fs.existsSync(indexFilePath)) {
|
|
180
|
+
configureModulePathMapping(tsconfigFilePath, modulePathMapping);
|
|
162
181
|
return;
|
|
163
182
|
}
|
|
164
183
|
const scaffoldDir = path.join(__dirname, '../scaffold');
|
|
@@ -173,11 +192,23 @@ function copyAdminUiSource(outputPath) {
|
|
|
173
192
|
fs.removeSync(outputPath);
|
|
174
193
|
fs.ensureDirSync(outputPath);
|
|
175
194
|
fs.copySync(scaffoldDir, outputPath);
|
|
195
|
+
configureModulePathMapping(tsconfigFilePath, modulePathMapping);
|
|
176
196
|
// copy source files from admin-ui package
|
|
177
197
|
const outputSrc = path.join(outputPath, 'src');
|
|
178
198
|
fs.ensureDirSync(outputSrc);
|
|
179
199
|
fs.copySync(adminUiSrc, outputSrc);
|
|
180
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* Adds module path mapping to the bundled tsconfig.json file if defined as a UI extension.
|
|
203
|
+
*/
|
|
204
|
+
function configureModulePathMapping(tsconfigFilePath, modulePathMapping) {
|
|
205
|
+
if (!modulePathMapping) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const tsconfig = require(tsconfigFilePath);
|
|
209
|
+
tsconfig.compilerOptions.paths = modulePathMapping;
|
|
210
|
+
fs.writeFileSync(tsconfigFilePath, JSON.stringify(tsconfig, null, 2));
|
|
211
|
+
}
|
|
181
212
|
/**
|
|
182
213
|
* Attempts to find out it the ngcc compiler has been run on the Angular packages, and if not,
|
|
183
214
|
* attemps to run it. This is done this way because attempting to run ngcc from a sub-directory
|
package/compiler/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/compiler/scaffold.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,iDAAsC;AACtC,6CAA+B;AAC/B,2CAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/compiler/scaffold.ts"],"names":[],"mappings":"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"}
|
package/compiler/types.d.ts
CHANGED
|
@@ -105,6 +105,92 @@ export interface AdminUiExtension extends Partial<TranslationExtension>, Partial
|
|
|
105
105
|
* One or more Angular modules which extend the default Admin UI.
|
|
106
106
|
*/
|
|
107
107
|
ngModules: Array<AdminUiExtensionSharedModule | AdminUiExtensionLazyModule>;
|
|
108
|
+
/**
|
|
109
|
+
* @description
|
|
110
|
+
* An optional alias for the module so it can be referenced by other UI extension modules.
|
|
111
|
+
*
|
|
112
|
+
* By default, Angular modules declared in an AdminUiExtension do not have access to code outside the directory
|
|
113
|
+
* defined by the `extensionPath`. A scenario in which that can be useful though is in a monorepo codebase where
|
|
114
|
+
* a common NgModule is shared across different plugins, each defined in its own package. An example can be found
|
|
115
|
+
* below - note that the main `tsconfig.json` also maps the target module but using a path relative to the project's
|
|
116
|
+
* root folder. The UI module is not part of the main TypeScript build task as explained in
|
|
117
|
+
* [Extending the Admin UI](https://www.vendure.io/docs/plugins/extending-the-admin-ui/) but having `paths`
|
|
118
|
+
* properly configured helps with usual IDE code editing features such as code completion and quick navigation, as
|
|
119
|
+
* well as linting.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* // packages/common-ui-module/src/ui/ui-shared.module.ts
|
|
124
|
+
* import { NgModule } from '\@angular/core';
|
|
125
|
+
* import { SharedModule } from '\@vendure/admin-ui/core';
|
|
126
|
+
* import { CommonUiComponent } from './components/common-ui/common-ui.component';
|
|
127
|
+
*
|
|
128
|
+
* export { CommonUiComponent };
|
|
129
|
+
*
|
|
130
|
+
* \@NgModule({
|
|
131
|
+
* imports: [SharedModule],
|
|
132
|
+
* exports: [CommonUiComponent],
|
|
133
|
+
* declarations: [CommonUiComponent],
|
|
134
|
+
* })
|
|
135
|
+
* export class CommonSharedUiModule {}
|
|
136
|
+
* ```
|
|
137
|
+
*
|
|
138
|
+
* ```ts
|
|
139
|
+
* // packages/common-ui-module/src/index.ts
|
|
140
|
+
* import path from 'path';
|
|
141
|
+
*
|
|
142
|
+
* import { AdminUiExtension } from '\@vendure/ui-devkit/compiler';
|
|
143
|
+
*
|
|
144
|
+
* export const uiExtensions: AdminUiExtension = {
|
|
145
|
+
* pathAlias: '\@common-ui-module', // this is the important part
|
|
146
|
+
* extensionPath: path.join(__dirname, 'ui'),
|
|
147
|
+
* ngModules: [
|
|
148
|
+
* {
|
|
149
|
+
* type: 'shared' as const,
|
|
150
|
+
* ngModuleFileName: 'ui-shared.module.ts',
|
|
151
|
+
* ngModuleName: 'CommonSharedUiModule',
|
|
152
|
+
* },
|
|
153
|
+
* ],
|
|
154
|
+
* };
|
|
155
|
+
* ```
|
|
156
|
+
*
|
|
157
|
+
* ```json
|
|
158
|
+
* // tsconfig.json
|
|
159
|
+
* {
|
|
160
|
+
* "compilerOptions": {
|
|
161
|
+
* "baseUrl": ".",
|
|
162
|
+
* "paths": {
|
|
163
|
+
* "\@common-ui-module/*": ["packages/common-ui-module/src/ui/*"]
|
|
164
|
+
* }
|
|
165
|
+
* }
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* ```ts
|
|
170
|
+
* // packages/sample-plugin/src/ui/ui-extension.module.ts
|
|
171
|
+
* import { NgModule } from '\@angular/core';
|
|
172
|
+
* import { SharedModule } from '\@vendure/admin-ui/core';
|
|
173
|
+
* // the import below works both in the context of the custom Admin UI app as well as the main project
|
|
174
|
+
* // '\@common-ui-module' is the value of "pathAlias" and 'ui-shared.module' is the file we want to reference inside "extensionPath"
|
|
175
|
+
* import { CommonSharedUiModule, CommonUiComponent } from '\@common-ui-module/ui-shared.module';
|
|
176
|
+
*
|
|
177
|
+
* \@NgModule({
|
|
178
|
+
* imports: [
|
|
179
|
+
* SharedModule,
|
|
180
|
+
* CommonSharedUiModule,
|
|
181
|
+
* RouterModule.forChild([
|
|
182
|
+
* {
|
|
183
|
+
* path: '',
|
|
184
|
+
* pathMatch: 'full',
|
|
185
|
+
* component: CommonUiComponent,
|
|
186
|
+
* },
|
|
187
|
+
* ]),
|
|
188
|
+
* ],
|
|
189
|
+
* })
|
|
190
|
+
* export class SampleUiExtensionModule {}
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
pathAlias?: string;
|
|
108
194
|
}
|
|
109
195
|
/**
|
|
110
196
|
* @description
|
|
@@ -261,3 +347,6 @@ export interface BrandingOptions {
|
|
|
261
347
|
largeLogoPath?: string;
|
|
262
348
|
faviconPath?: string;
|
|
263
349
|
}
|
|
350
|
+
export interface AdminUiExtensionWithId extends AdminUiExtension {
|
|
351
|
+
id: string;
|
|
352
|
+
}
|
package/compiler/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdminUiExtension, Extension, GlobalStylesExtension, SassVariableOverridesExtension, StaticAssetDefinition, StaticAssetExtension, TranslationExtension } from './types';
|
|
1
|
+
import { AdminUiExtension, AdminUiExtensionWithId, Extension, GlobalStylesExtension, SassVariableOverridesExtension, StaticAssetDefinition, StaticAssetExtension, TranslationExtension } from './types';
|
|
2
2
|
export declare const logger: {
|
|
3
3
|
log: (message: string) => void;
|
|
4
4
|
error: (message: string) => void;
|
|
@@ -26,7 +26,7 @@ export declare function copyStaticAsset(outputPath: string, staticAssetDef: Stat
|
|
|
26
26
|
* If not defined by the user, a deterministic ID is generated
|
|
27
27
|
* from a hash of the extension config.
|
|
28
28
|
*/
|
|
29
|
-
export declare function normalizeExtensions(extensions?: AdminUiExtension[]):
|
|
29
|
+
export declare function normalizeExtensions(extensions?: AdminUiExtension[]): AdminUiExtensionWithId[];
|
|
30
30
|
export declare function isAdminUiExtension(input: Extension): input is AdminUiExtension;
|
|
31
31
|
export declare function isTranslationExtension(input: Extension): input is TranslationExtension;
|
|
32
32
|
export declare function isStaticAssetExtension(input: Extension): input is StaticAssetExtension;
|
package/compiler/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/compiler/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA+B;AAC/B,kDAA0B;AAC1B,iDAAyC;AACzC,mCAAoC;AACpC,6CAA+B;AAC/B,2CAA6B;AAE7B,2CAAuD;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/compiler/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vendure/ui-devkit",
|
|
3
|
-
"version": "2.0.0-next.
|
|
3
|
+
"version": "2.0.0-next.28",
|
|
4
4
|
"description": "A library for authoring Vendure Admin UI extensions",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vendure",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
"@angular/cli": "13.2.4",
|
|
41
41
|
"@angular/compiler": "13.2.3",
|
|
42
42
|
"@angular/compiler-cli": "13.2.3",
|
|
43
|
-
"@vendure/admin-ui": "^2.0.0-next.
|
|
44
|
-
"@vendure/common": "^2.0.0-next.
|
|
43
|
+
"@vendure/admin-ui": "^2.0.0-next.28",
|
|
44
|
+
"@vendure/common": "^2.0.0-next.28",
|
|
45
45
|
"chalk": "^4.1.0",
|
|
46
46
|
"chokidar": "^3.5.1",
|
|
47
47
|
"fs-extra": "^10.0.0",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"@rollup/plugin-node-resolve": "^11.2.0",
|
|
53
53
|
"@types/fs-extra": "^9.0.8",
|
|
54
54
|
"@types/glob": "^7.1.3",
|
|
55
|
-
"@vendure/core": "^2.0.0-next.
|
|
55
|
+
"@vendure/core": "^2.0.0-next.28",
|
|
56
56
|
"rimraf": "^3.0.2",
|
|
57
57
|
"rollup": "^2.40.0",
|
|
58
58
|
"rollup-plugin-terser": "^7.0.2",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"tslib": "^2.1.0",
|
|
61
61
|
"typescript": "4.5.5"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "6811d6554afbb0e0d993da4788499bcd3563d5ab"
|
|
64
64
|
}
|