@o3r/design 10.2.0-prerelease.13 → 10.2.0-prerelease.15

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@o3r/design",
3
- "version": "10.2.0-prerelease.13",
3
+ "version": "10.2.0-prerelease.15",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -51,9 +51,9 @@
51
51
  "tslib": "^2.5.3"
52
52
  },
53
53
  "peerDependencies": {
54
- "@o3r/core": "^10.2.0-prerelease.13",
55
- "@o3r/schematics": "^10.2.0-prerelease.13",
56
- "@o3r/styling": "^10.2.0-prerelease.13",
54
+ "@o3r/core": "^10.2.0-prerelease.15",
55
+ "@o3r/schematics": "^10.2.0-prerelease.15",
56
+ "@o3r/styling": "^10.2.0-prerelease.15",
57
57
  "chokidar": "^3.5.2",
58
58
  "globby": "^11.1.0",
59
59
  "sass": "~1.71.0"
@@ -99,12 +99,12 @@
99
99
  "@nx/eslint-plugin": "~18.0.2",
100
100
  "@nx/jest": "~18.0.2",
101
101
  "@nx/js": "~18.0.2",
102
- "@o3r/build-helpers": "^10.2.0-prerelease.13",
103
- "@o3r/core": "^10.2.0-prerelease.13",
104
- "@o3r/eslint-plugin": "^10.2.0-prerelease.13",
105
- "@o3r/schematics": "^10.2.0-prerelease.13",
106
- "@o3r/styling": "^10.2.0-prerelease.13",
107
- "@o3r/test-helpers": "^10.2.0-prerelease.13",
102
+ "@o3r/build-helpers": "^10.2.0-prerelease.15",
103
+ "@o3r/core": "^10.2.0-prerelease.15",
104
+ "@o3r/eslint-plugin": "^10.2.0-prerelease.15",
105
+ "@o3r/schematics": "^10.2.0-prerelease.15",
106
+ "@o3r/styling": "^10.2.0-prerelease.15",
107
+ "@o3r/test-helpers": "^10.2.0-prerelease.15",
108
108
  "@schematics/angular": "~17.2.0",
109
109
  "@stylistic/eslint-plugin-ts": "^1.5.4",
110
110
  "@types/jest": "~29.5.2",
@@ -9,5 +9,5 @@ export declare function ngAddDesignTokenFn(options: NgAddDesignTokenSchematicsSc
9
9
  * Add Design Token to an existing component
10
10
  * @param options
11
11
  */
12
- export declare const ngAddDesignToken: (options: NgAddDesignTokenSchematicsSchema) => Rule;
12
+ export declare const ngAddDesignToken: (options: NgAddDesignTokenSchematicsSchema) => () => Promise<Rule>;
13
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/design-token-to-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAelF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qDAA4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/design-token-to-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,IAAI,EAGL,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAGjE;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gCAAgC,GAAG,IAAI,CAelF;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAAa,gCAAgC,wBAWzE,CAAC"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ngAddDesignToken = exports.ngAddDesignTokenFn = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const schematics_2 = require("@o3r/schematics");
6
5
  const node_path_1 = require("node:path");
7
6
  /**
8
7
  * Add Design Token to an existing component
@@ -27,5 +26,18 @@ exports.ngAddDesignTokenFn = ngAddDesignTokenFn;
27
26
  * Add Design Token to an existing component
28
27
  * @param options
29
28
  */
30
- exports.ngAddDesignToken = (0, schematics_2.createSchematicWithMetricsIfInstalled)(ngAddDesignTokenFn);
29
+ const ngAddDesignToken = (options) => async () => {
30
+ let createSchematicWithMetrics;
31
+ try {
32
+ ({ createSchematicWithMetricsIfInstalled: createSchematicWithMetrics } = await Promise.resolve().then(() => require('@o3r/schematics')));
33
+ }
34
+ catch {
35
+ // No @o3r/schematics detected
36
+ }
37
+ if (!createSchematicWithMetrics) {
38
+ return ngAddDesignTokenFn(options);
39
+ }
40
+ return createSchematicWithMetrics(ngAddDesignTokenFn)(options);
41
+ };
42
+ exports.ngAddDesignToken = ngAddDesignToken;
31
43
  //# sourceMappingURL=index.js.map
@@ -4,5 +4,10 @@ import type { NgAddSchematicsSchema } from './schema';
4
4
  * Add Otter design to an Angular Project
5
5
  * @param options
6
6
  */
7
- export declare function ngAdd(options: NgAddSchematicsSchema): Rule;
7
+ export declare function ngAddFn(options: NgAddSchematicsSchema): Rule;
8
+ /**
9
+ * Add Otter design to an Angular Project
10
+ * @param options
11
+ */
12
+ export declare const ngAdd: (options: NgAddSchematicsSchema) => Rule;
8
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAIpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKtD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAwB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAWtD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CA2B5D;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,YAAa,qBAAqB,KAAG,IAGtD,CAAC"}
@@ -1,40 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ngAdd = void 0;
3
+ exports.ngAdd = exports.ngAddFn = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
5
  const register_generate_css_1 = require("./register-generate-css");
6
6
  const extract_token_1 = require("../extract-token");
7
- const schematics_2 = require("@o3r/schematics");
8
7
  const path = require("node:path");
9
8
  const packageJsonPath = path.resolve(__dirname, '..', '..', 'package.json');
9
+ const reportMissingSchematicsDep = (logger) => (reason) => {
10
+ logger.error(`[ERROR]: Adding @o3r/design has failed.
11
+ You need to install '@o3r/schematics' to be able to use the o3r apis-manager package. Please run 'ng add @o3r/schematics'.`);
12
+ throw reason;
13
+ };
10
14
  /**
11
15
  * Add Otter design to an Angular Project
12
16
  * @param options
13
17
  */
14
- function ngAdd(options) {
18
+ function ngAddFn(options) {
15
19
  /* ng add rules */
16
- return (tree) => (0, schematics_1.chain)([
17
- (0, register_generate_css_1.registerGenerateCssBuilder)(),
18
- (0, schematics_2.setupSchematicsDefaultParams)({
19
- // eslint-disable-next-line @typescript-eslint/naming-convention
20
- '@o3r/core:component': {
21
- useOtterDesignToken: true
22
- },
23
- // eslint-disable-next-line @typescript-eslint/naming-convention
24
- '@o3r/core:component-presenter': {
25
- useOtterDesignToken: true
26
- },
27
- // eslint-disable-next-line @typescript-eslint/naming-convention
28
- '*:*': {
29
- useOtterDesignToken: true
30
- }
31
- }),
32
- (0, schematics_2.setupDependencies)({
33
- projectName: options.projectName,
34
- dependencies: (0, schematics_2.getPackageInstallConfig)(packageJsonPath, tree, options.projectName, false, !!options.exactO3rVersion)
35
- }),
36
- options.extractDesignToken ? (0, extract_token_1.extractToken)({ componentFilePatterns: ['**/*.scss'], includeTags: true }) : schematics_1.noop
37
- ]);
20
+ return async (tree) => {
21
+ const { getPackageInstallConfig, setupDependencies, setupSchematicsDefaultParams } = await Promise.resolve().then(() => require('@o3r/schematics'));
22
+ return (0, schematics_1.chain)([
23
+ (0, register_generate_css_1.registerGenerateCssBuilder)(),
24
+ setupSchematicsDefaultParams({
25
+ // eslint-disable-next-line @typescript-eslint/naming-convention
26
+ '@o3r/core:component': {
27
+ useOtterDesignToken: true
28
+ },
29
+ // eslint-disable-next-line @typescript-eslint/naming-convention
30
+ '@o3r/core:component-presenter': {
31
+ useOtterDesignToken: true
32
+ },
33
+ // eslint-disable-next-line @typescript-eslint/naming-convention
34
+ '*:*': {
35
+ useOtterDesignToken: true
36
+ }
37
+ }),
38
+ setupDependencies({
39
+ projectName: options.projectName,
40
+ dependencies: getPackageInstallConfig(packageJsonPath, tree, options.projectName, false, !!options.exactO3rVersion)
41
+ }),
42
+ options.extractDesignToken ? (0, extract_token_1.extractToken)({ componentFilePatterns: ['**/*.scss'], includeTags: true }) : schematics_1.noop
43
+ ]);
44
+ };
38
45
  }
46
+ exports.ngAddFn = ngAddFn;
47
+ /**
48
+ * Add Otter design to an Angular Project
49
+ * @param options
50
+ */
51
+ const ngAdd = (options) => async (_, { logger }) => {
52
+ const { createSchematicWithMetricsIfInstalled } = await Promise.resolve().then(() => require('@o3r/schematics')).catch(reportMissingSchematicsDep(logger));
53
+ return createSchematicWithMetricsIfInstalled(ngAddFn)(options);
54
+ };
39
55
  exports.ngAdd = ngAdd;
40
56
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-task.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/register-generate-css/register-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,KAAK,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AAKzI;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,iBAAkB,MAAM,wBAA8B,IAyD5F,CAAC"}
1
+ {"version":3,"file":"register-task.d.ts","sourceRoot":"","sources":["../../../../schematics/ng-add/register-generate-css/register-task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,KAAK,IAAI,EAAiB,MAAM,4BAA4B,CAAC;AAIzI;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,iBAAkB,MAAM,wBAA8B,IA0D5F,CAAC"}
@@ -2,7 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerGenerateCssBuilder = void 0;
4
4
  const schematics_1 = require("@angular-devkit/schematics");
5
- const schematics_2 = require("@o3r/schematics");
6
5
  const node_path_1 = require("node:path");
7
6
  /**
8
7
  * Register the Design Token CSS generator
@@ -10,8 +9,9 @@ const node_path_1 = require("node:path");
10
9
  * @param taskName name of the task to generate
11
10
  */
12
11
  const registerGenerateCssBuilder = (projectName, taskName = 'generate-css') => {
13
- const registerBuilderRule = (tree, { logger }) => {
14
- const workspaceProject = projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[projectName] : undefined;
12
+ const registerBuilderRule = async (tree, { logger }) => {
13
+ const { getWorkspaceConfig, registerBuilder } = await Promise.resolve().then(() => require('@o3r/schematics'));
14
+ const workspaceProject = projectName ? getWorkspaceConfig(tree)?.projects[projectName] : undefined;
15
15
  const srcBasePath = workspaceProject?.sourceRoot || (workspaceProject?.root ? node_path_1.posix.resolve(workspaceProject.root, 'src') : '');
16
16
  const themeFile = node_path_1.posix.resolve(srcBasePath, 'style', 'theme.scss');
17
17
  const taskOptions = {
@@ -30,31 +30,32 @@ const registerGenerateCssBuilder = (projectName, taskName = 'generate-css') => {
30
30
  };
31
31
  if (!workspaceProject) {
32
32
  logger.warn(`No angular.json found, the task ${taskName} will not be created`);
33
- return tree;
33
+ return;
34
34
  }
35
- (0, schematics_2.registerBuilder)(workspaceProject, taskName, taskParameters);
36
- return tree;
35
+ registerBuilder(workspaceProject, taskName, taskParameters);
37
36
  };
38
- const generateTemplateRule = (tree, context) => {
39
- const workspaceProject = projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[projectName] : undefined;
37
+ const generateTemplateRule = async (tree) => {
38
+ const { getWorkspaceConfig } = await Promise.resolve().then(() => require('@o3r/schematics'));
39
+ const workspaceProject = projectName ? getWorkspaceConfig(tree)?.projects[projectName] : undefined;
40
40
  const srcBasePath = workspaceProject?.sourceRoot || (workspaceProject?.root ? node_path_1.posix.resolve(workspaceProject.root, 'src') : '');
41
41
  const themeFolder = node_path_1.posix.resolve(srcBasePath, 'style');
42
42
  const rule = (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('./templates'), [
43
43
  (0, schematics_1.template)({}),
44
44
  (0, schematics_1.move)(themeFolder),
45
45
  (0, schematics_1.renameTemplateFiles)()
46
- ]), schematics_1.MergeStrategy.Overwrite)(tree, context);
46
+ ]), schematics_1.MergeStrategy.Overwrite);
47
47
  return rule;
48
48
  };
49
- const importTheme = (tree, context) => {
50
- const workspaceProject = projectName ? (0, schematics_2.getWorkspaceConfig)(tree)?.projects[projectName] : undefined;
49
+ const importTheme = async (tree, context) => {
50
+ const { getWorkspaceConfig } = await Promise.resolve().then(() => require('@o3r/schematics'));
51
+ const workspaceProject = projectName ? getWorkspaceConfig(tree)?.projects[projectName] : undefined;
51
52
  const srcBasePath = workspaceProject?.sourceRoot || (workspaceProject?.root ? node_path_1.posix.resolve(workspaceProject.root, 'src') : '');
52
53
  const styleFile = node_path_1.posix.resolve(srcBasePath, 'styles.scss');
53
54
  if (!tree.exists(styleFile)) {
54
55
  context.logger.warn(`The theme was not updated as ${styleFile} was not found`);
55
- return tree;
56
+ return;
56
57
  }
57
- return tree.overwrite(styleFile, '@import "./style/theme.scss";\n' + tree.readText(styleFile));
58
+ tree.overwrite(styleFile, '@import "./style/theme.scss";\n' + tree.readText(styleFile));
58
59
  };
59
60
  return (0, schematics_1.chain)([
60
61
  registerBuilderRule,