@sitecore-jss/sitecore-jss-dev-tools 22.3.0 → 22.3.1-canary.2

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.
Files changed (67) hide show
  1. package/dist/cjs/clean.js +1 -2
  2. package/dist/cjs/deploy.js +1 -2
  3. package/dist/cjs/digest.js +2 -3
  4. package/dist/cjs/disconnected-server/create-default-disconnected-server.js +1 -2
  5. package/dist/cjs/disconnected-server/default-document.js +1 -2
  6. package/dist/cjs/disconnected-server/dictionary-service.js +1 -2
  7. package/dist/cjs/disconnected-server/layout-service.js +2 -3
  8. package/dist/cjs/disconnected-server/media-service.js +1 -2
  9. package/dist/cjs/manifest/generator/SitecoreIcon.js +1 -1
  10. package/dist/cjs/manifest/generator/generate.js +8 -11
  11. package/dist/cjs/manifest/generator/manifest.babel-shim.js +7 -8
  12. package/dist/cjs/manifest/generator/manifest.types.js +4 -4
  13. package/dist/cjs/manifest/generator/pipelines/generateManifest/generateMedia.js +1 -1
  14. package/dist/cjs/manifest/generator/pipelines/generateManifest/generatePlaceholders.js +1 -1
  15. package/dist/cjs/manifest/generator/pipelines/generateMedia/utils.js +3 -3
  16. package/dist/cjs/manifest/generator/traversal.js +4 -7
  17. package/dist/cjs/manifest/generator/utils.js +11 -11
  18. package/dist/cjs/package-deploy.js +10 -11
  19. package/dist/cjs/package-generate.js +1 -2
  20. package/dist/cjs/pipelines/configLoader.js +1 -1
  21. package/dist/cjs/pipelines/index.js +1 -1
  22. package/dist/cjs/pipelines/pipeline.js +3 -3
  23. package/dist/cjs/pipelines/utils.js +3 -4
  24. package/dist/cjs/resolve-scjssconfig.js +1 -2
  25. package/dist/cjs/setup/find-app-name.js +2 -3
  26. package/dist/cjs/setup/secret-patch.js +2 -3
  27. package/dist/cjs/setup/setup.js +2 -2
  28. package/dist/cjs/templating/components.js +1 -2
  29. package/dist/cjs/templating/metadata.js +25 -22
  30. package/dist/cjs/templating/nextjs/component-props.loader.js +1 -1
  31. package/dist/cjs/templating/nextjs/generate-component-builder.js +6 -7
  32. package/dist/cjs/templating/plugins.js +5 -5
  33. package/dist/cjs/templating/react/generate-component-builder.js +5 -6
  34. package/dist/cjs/templating/scaffold.js +2 -3
  35. package/dist/cjs/templating/utils.js +2 -3
  36. package/dist/esm/manifest/generator/generate.js +6 -8
  37. package/dist/esm/manifest/generator/pipelines/generateManifest/generateMedia.js +1 -1
  38. package/dist/esm/manifest/generator/pipelines/generateManifest/generatePlaceholders.js +1 -1
  39. package/dist/esm/manifest/generator/pipelines/generateMedia/utils.js +1 -1
  40. package/dist/esm/manifest/generator/traversal.js +0 -3
  41. package/dist/esm/manifest/generator/utils.js +4 -4
  42. package/dist/esm/package-deploy.js +2 -2
  43. package/dist/esm/pipelines/configLoader.js +1 -1
  44. package/dist/esm/pipelines/pipeline.js +3 -3
  45. package/dist/esm/pipelines/utils.js +1 -1
  46. package/dist/esm/templating/metadata.js +24 -17
  47. package/dist/esm/templating/nextjs/generate-component-builder.js +3 -3
  48. package/dist/esm/templating/plugins.js +1 -1
  49. package/dist/esm/templating/react/generate-component-builder.js +2 -2
  50. package/package.json +8 -8
  51. package/types/manifest/generator/generate.d.ts +0 -2
  52. package/types/manifest/generator/pipelines/generateManifest/generateContentItems.d.ts +1 -1
  53. package/types/manifest/generator/pipelines/generateManifest/generateDictionary.d.ts +1 -1
  54. package/types/manifest/generator/pipelines/generateManifest/generatePlaceholders.d.ts +1 -1
  55. package/types/manifest/generator/pipelines/generateManifest/generateRenderings.d.ts +1 -1
  56. package/types/manifest/generator/pipelines/generateManifest/generateRouteItems.d.ts +1 -1
  57. package/types/manifest/generator/traversal.d.ts +0 -3
  58. package/types/manifest/generator/utils.d.ts +5 -6
  59. package/types/manifest/generator/validators.d.ts +2 -2
  60. package/types/manifest/utils.d.ts +1 -1
  61. package/types/package-deploy.d.ts +6 -9
  62. package/types/pipelines/configLoader.d.ts +5 -5
  63. package/types/pipelines/pipeline.d.ts +1 -1
  64. package/types/pipelines/utils.d.ts +3 -3
  65. package/types/templating/nextjs/generate-component-builder.d.ts +3 -3
  66. package/types/templating/plugins.d.ts +1 -1
  67. package/types/templating/react/generate-component-builder.d.ts +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sitecore-jss/sitecore-jss-dev-tools",
3
- "version": "22.3.0",
3
+ "version": "22.3.1-canary.2",
4
4
  "description": "Utilities to assist in the development and deployment of Sitecore JSS apps.",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -13,10 +13,10 @@
13
13
  "test": "mocha --require ts-node/register -r tsconfig-paths/register \"./src/**/*.test.ts\"",
14
14
  "prepublishOnly": "npm run build",
15
15
  "coverage": "nyc npm test",
16
- "generate-docs": "npx typedoc --plugin typedoc-plugin-markdown --readme none --out ../../ref-docs/sitecore-jss-dev-tools src/index.ts --githubPages false"
16
+ "generate-docs": "npx typedoc --plugin typedoc-plugin-markdown --outputFileStrategy Members --parametersFormat table --readme none --out ../../ref-docs/sitecore-jss-dev-tools src/index.ts --githubPages false"
17
17
  },
18
18
  "engines": {
19
- "node": ">=20"
19
+ "node": ">=22"
20
20
  },
21
21
  "bin": {
22
22
  "scjss-deploy": "./dist/cjs/bin/deploy.js",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "@babel/parser": "^7.24.0",
36
- "@sitecore-jss/sitecore-jss": "22.3.0",
36
+ "@sitecore-jss/sitecore-jss": "^22.3.1-canary.2",
37
37
  "axios": "^1.3.2",
38
38
  "chalk": "^4.1.2",
39
39
  "chokidar": "^3.6.0",
@@ -66,7 +66,7 @@
66
66
  "@types/glob": "^8.0.1",
67
67
  "@types/js-yaml": "^4.0.5",
68
68
  "@types/mocha": "^10.0.1",
69
- "@types/node": "^20.14.2",
69
+ "@types/node": "^22.9.0",
70
70
  "@types/readline-sync": "^1.4.4",
71
71
  "@types/resolve": "^1.20.2",
72
72
  "@types/sinon": "^10.0.13",
@@ -76,17 +76,17 @@
76
76
  "chai": "^4.3.7",
77
77
  "cross-env": "^7.0.3",
78
78
  "del-cli": "^5.0.0",
79
- "eslint": "^8.33.0",
79
+ "eslint": "^8.56.0",
80
80
  "mocha": "^10.2.0",
81
81
  "nock": "^13.3.0",
82
82
  "nyc": "^15.1.0",
83
83
  "sinon": "^15.0.1",
84
84
  "ts-node": "^10.9.1",
85
85
  "tsconfig-paths": "^4.1.2",
86
- "typescript": "~4.9.5"
86
+ "typescript": "~5.6.3"
87
87
  },
88
88
  "types": "types/index.d.ts",
89
- "gitHead": "81b0239517966b6d0debdf6da3f12a98228c4d0c",
89
+ "gitHead": "5b35bbbe22b6ea21a1829950e371d54422ebf8fd",
90
90
  "files": [
91
91
  "dist",
92
92
  "types",
@@ -24,14 +24,12 @@ export interface GenerateToFileOptions extends GenerateOptions {
24
24
  * NOTE: media is not copied into the manifest when using this method,
25
25
  * and no files are written to disk. Use generateToFile() to make a manifest
26
26
  * that is designed to get packaged/imported.
27
- *
28
27
  * @param {GenerateOptions} config
29
28
  */
30
29
  export declare function generateToVariable({ requireArg, fileGlobs, pipelines, appName, excludeItems, excludeDictionary, language, pipelinePatchFileGlobs, debug, wipe, rootPlaceholders, skipPlaceholderBlacklist, }: GenerateOptions): Promise<ManifestInstance>;
31
30
  /**
32
31
  * generates a JSON manifest and writes its contents to a directory. Media referenced in the manifest
33
32
  * is also copied to the directory.
34
- *
35
33
  * @param {GenerateToFileOptions} config
36
34
  */
37
35
  export declare function generateToFile({ outputPath, excludeMedia, ...generateToVariableOptions }: GenerateToFileOptions): Promise<ManifestInstance>;
@@ -9,7 +9,7 @@ declare const _default: (args: GeneratePipelineArgs) => Promise<{
9
9
  appName: string;
10
10
  templates: TemplateDefinition[];
11
11
  placeholders: import("../../manifest.types").PlaceholderDefinition[];
12
- media?: any[] | undefined;
12
+ media?: any[];
13
13
  dictionary: import("../../manifest.types").DictionaryDefinition[];
14
14
  language: string;
15
15
  wipeExisting: boolean;
@@ -9,7 +9,7 @@ declare const _default: (args: GeneratePipelineArgs) => {
9
9
  nonRoutes: import("../../manifest.types").ItemDefinition[];
10
10
  };
11
11
  placeholders: import("../../manifest.types").PlaceholderDefinition[];
12
- media?: any[] | undefined;
12
+ media?: any[];
13
13
  language: string;
14
14
  wipeExisting: boolean;
15
15
  rootPlaceholders: string[];
@@ -8,7 +8,7 @@ declare const _default: (args: GeneratePipelineArgs) => Promise<{
8
8
  routes: import("../../manifest.types").RouteDefinition[];
9
9
  nonRoutes: import("../../manifest.types").ItemDefinition[];
10
10
  };
11
- media?: any[] | undefined;
11
+ media?: any[];
12
12
  dictionary: import("../../manifest.types").DictionaryDefinition[];
13
13
  language: string;
14
14
  wipeExisting: boolean;
@@ -9,7 +9,7 @@ declare const _default: (args: GeneratePipelineArgs) => {
9
9
  nonRoutes: import("../../manifest.types").ItemDefinition[];
10
10
  };
11
11
  placeholders: import("../../manifest.types").PlaceholderDefinition[];
12
- media?: any[] | undefined;
12
+ media?: any[];
13
13
  dictionary: import("../../manifest.types").DictionaryDefinition[];
14
14
  language: string;
15
15
  wipeExisting: boolean;
@@ -9,7 +9,7 @@ declare const _default: (args: GeneratePipelineArgs) => Promise<{
9
9
  appName: string;
10
10
  templates: import("../../manifest.types").TemplateDefinition[];
11
11
  placeholders: import("../../manifest.types").PlaceholderDefinition[];
12
- media?: any[] | undefined;
12
+ media?: any[];
13
13
  dictionary: import("../../manifest.types").DictionaryDefinition[];
14
14
  language: string;
15
15
  wipeExisting: boolean;
@@ -5,21 +5,18 @@ export declare const traverseItems: (items: any[], callback: (item: any, current
5
5
  * `items` is the root of the tree, eg routes or nonRoutes
6
6
  * the callback gets two arguments: the item definition, and the item type
7
7
  * ('item', 'rendering', or 'datasource')
8
- *
9
8
  * @param {any[]} items
10
9
  * @param {Function} callback
11
10
  */
12
11
  export declare function traverseAllItems(items: any[], callback: (item: any, type: string) => any): void;
13
12
  /**
14
13
  * Traverses every field value in an item array, including all children, datasource items, etc
15
- *
16
14
  * @param {any} items
17
15
  * @param {Function} callback
18
16
  */
19
17
  export declare function traverseAllFields(items: any, callback: (field: any) => any): void;
20
18
  /**
21
19
  * Traverses all rendering instance definitions in an item tree
22
- *
23
20
  * @param {any} items
24
21
  * @param {Function} callback
25
22
  */
@@ -1,16 +1,15 @@
1
- /// <reference types="mocha" />
2
1
  import { ComponentDefinition, ItemDefinition, TemplateDefinition } from './manifest.types';
3
2
  /**
4
3
  * Iterates the keys of the given object and constructs a new object with keys that satisfy the given filter function.
5
- * @param {Object} obj
4
+ * @param {object} obj
6
5
  * @param {Function} filter
7
- * @returns {Object} filtered object
6
+ * @returns {object} filtered object
8
7
  */
9
8
  export declare const filterObject: (obj: any, filter: (key: string, value: any) => boolean) => {};
10
9
  export declare const convertComponentDataToFields: ({ data, context: { item }, }: {
11
10
  data: any;
12
11
  context: {
13
- item?: ItemDefinition | undefined;
12
+ item?: ItemDefinition;
14
13
  };
15
14
  }) => any[] | undefined;
16
15
  export interface FieldValue {
@@ -57,11 +56,11 @@ export declare function findTemplate(templateName: string, templates: Array<Temp
57
56
  export declare function findTemplateForComponent(component: ComponentDefinition, templates: Array<TemplateDefinition>): TemplateDefinition | undefined;
58
57
  /**
59
58
  * Validates that a set of field values are defined on their template definitions
60
- * @param {Object} fields
59
+ * @param {object} fields
61
60
  * @param {TemplateDefinition | ComponentDefinition} template
62
61
  * @param {Function} handleError
63
62
  * @param {...Array<Array<TemplateDefinition | ComponentDefinition>>} inheritedTemplates
64
- * @returns {Object} validated fields
63
+ * @returns {object} validated fields
65
64
  */
66
65
  export declare function validateFieldDefinitions(fields: {
67
66
  [key: string]: any;
@@ -1,9 +1,9 @@
1
1
  import * as joi from 'joi';
2
2
  export declare const validateTemplate: (template: any) => {
3
3
  valid: boolean;
4
- error?: joi.ValidationError | undefined;
4
+ error?: joi.ValidationError;
5
5
  };
6
6
  export declare const validatePlaceholder: (placeholder: any) => {
7
7
  valid: boolean;
8
- error?: joi.ValidationError | undefined;
8
+ error?: joi.ValidationError;
9
9
  };
@@ -7,5 +7,5 @@ export interface ResolveFilesArgs {
7
7
  export declare const resolveFiles: ({ fileGlob, extensions, recursive, workingDirectory, }: ResolveFilesArgs) => string[];
8
8
  export declare const importModules: ({ fileGlobs, workingDirectory, }: {
9
9
  fileGlobs: string[];
10
- workingDirectory?: string | undefined;
10
+ workingDirectory?: string;
11
11
  }) => (() => unknown)[];
@@ -1,6 +1,3 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- /// <reference types="node" />
4
1
  import https from 'https';
5
2
  import { ClientRequest, IncomingMessage } from 'http';
6
3
  export interface PackageDeployOptions {
@@ -27,7 +24,7 @@ export declare function normalizeFingerprint(fp: string): string;
27
24
  */
28
25
  export declare function doFingerprintsMatch(fp1: string, fp2: string): boolean;
29
26
  /**
30
- * @param {Object} params
27
+ * @param {object} params
31
28
  * @param {string[]} params.warnings
32
29
  * @param {string[]} params.errors
33
30
  * @param {Function} params.resolve
@@ -40,7 +37,7 @@ export declare function finishWatchJobStatusTask({ warnings, errors, resolve, re
40
37
  reject: () => void;
41
38
  }): void;
42
39
  /**
43
- * @param {Object} params
40
+ * @param {object} params
44
41
  * @param {string} params.message
45
42
  * @param {string} params.entryLevel
46
43
  * @param {string[]} params.warnings
@@ -73,10 +70,10 @@ export declare function extractProxy(proxy?: string): {
73
70
  */
74
71
  export declare function getHttpsTransport(options: PackageDeployOptions): {
75
72
  request: (reqOptions: https.RequestOptions, callback: (res: IncomingMessage) => void) => ClientRequest;
76
- createServer<Request_1 extends typeof IncomingMessage = typeof IncomingMessage, Response_1 extends typeof import("http").ServerResponse = typeof import("http").ServerResponse>(requestListener?: import("http").RequestListener<Request_1, Response_1> | undefined): https.Server<Request_1, Response_1>;
77
- createServer<Request_2 extends typeof IncomingMessage = typeof IncomingMessage, Response_2 extends typeof import("http").ServerResponse = typeof import("http").ServerResponse>(options: https.ServerOptions<Request_2, Response_2>, requestListener?: import("http").RequestListener<Request_2, Response_2> | undefined): https.Server<Request_2, Response_2>;
78
- get(options: string | import("url").URL | https.RequestOptions, callback?: ((res: IncomingMessage) => void) | undefined): ClientRequest;
79
- get(url: string | import("url").URL, options: https.RequestOptions, callback?: ((res: IncomingMessage) => void) | undefined): ClientRequest;
73
+ createServer<Request extends typeof IncomingMessage = typeof IncomingMessage, Response extends typeof import("http").ServerResponse = typeof import("http").ServerResponse>(requestListener?: import("http").RequestListener<Request, Response>): https.Server<Request, Response>;
74
+ createServer<Request extends typeof IncomingMessage = typeof IncomingMessage, Response extends typeof import("http").ServerResponse = typeof import("http").ServerResponse>(options: https.ServerOptions<Request, Response>, requestListener?: import("http").RequestListener<Request, Response>): https.Server<Request, Response>;
75
+ get(options: https.RequestOptions | string | import("url").URL, callback?: (res: IncomingMessage) => void): ClientRequest;
76
+ get(url: string | import("url").URL, options: https.RequestOptions, callback?: (res: IncomingMessage) => void): ClientRequest;
80
77
  Agent: typeof https.Agent;
81
78
  Server: typeof https.Server;
82
79
  globalAgent: https.Agent;
@@ -1,12 +1,12 @@
1
1
  export declare const configLoader: ({ fileGlobs, workingDirectory, existingConfig, allowEmptyGlobs, createPipelinesRegistryImplementation, importModulesImplementation, }: {
2
2
  fileGlobs: string[];
3
- workingDirectory?: string | undefined;
3
+ workingDirectory?: string;
4
4
  existingConfig?: any;
5
- allowEmptyGlobs?: boolean | undefined;
6
- createPipelinesRegistryImplementation?: ((existingConfig: any) => any) | undefined;
7
- importModulesImplementation?: ((options: {
5
+ allowEmptyGlobs?: boolean;
6
+ createPipelinesRegistryImplementation?: (existingConfig: any) => any;
7
+ importModulesImplementation?: (options: {
8
8
  fileGlobs: string[];
9
9
  workingDirectory: string;
10
10
  allowEmptyGlobs: boolean;
11
- }) => any) | undefined;
11
+ }) => any;
12
12
  }) => Promise<any>;
@@ -1,6 +1,6 @@
1
1
  import { ExecutablePipeline, Processor } from './pipelineFactory';
2
2
  /**
3
- * @param {Object} args
3
+ * @param {object} args
4
4
  * @param {Processor[]} args.processors the processors to run (optional but must be specified if pipeline is not specified)
5
5
  * @param {any} args.pipelineArgs arguments to pass to the pipeline processors
6
6
  */
@@ -3,12 +3,12 @@ export declare const resolveFiles: ({ fileGlob, extensions, recursive, workingDi
3
3
  extensions: string[];
4
4
  recursive: boolean;
5
5
  workingDirectory: string;
6
- allowEmptyGlobs?: boolean | undefined;
6
+ allowEmptyGlobs?: boolean;
7
7
  }) => string | string[];
8
8
  export declare const importModules: ({ fileGlobs, workingDirectory, allowEmptyGlobs, }: {
9
9
  fileGlobs: string[];
10
- workingDirectory?: string | undefined;
11
- allowEmptyGlobs?: boolean | undefined;
10
+ workingDirectory?: string;
11
+ allowEmptyGlobs?: boolean;
12
12
  }) => {
13
13
  file: string;
14
14
  import: () => Promise<any>;
@@ -1,7 +1,7 @@
1
1
  import { ComponentFile, PackageDefinition } from '../components';
2
2
  /**
3
3
  * Generate component builder based on provided settings
4
- * @param {Object} [settings] settings for component builder generation
4
+ * @param {object} [settings] settings for component builder generation
5
5
  * @param {string} [settings.componentRootPath] path to components root
6
6
  * @param {string} [settings.componentBuilderOutputPath] path to component builder output
7
7
  * @param {PackageDefinition[]} [settings.packages] list of packages to include in component builder
@@ -17,7 +17,7 @@ export declare function generateComponentBuilder({ componentRootPath, componentB
17
17
  }): void;
18
18
  /**
19
19
  * Watch for changes to component builder sources
20
- * @param {Object} settings settings for component builder generation
20
+ * @param {object} settings settings for component builder generation
21
21
  * @param {string} settings.componentRootPath path to components root
22
22
  * @param {string} settings.componentBuilderOutputPath path to component builder output
23
23
  * @param {PackageDefinition[]} settings.packages list of packages to include in component builder
@@ -31,7 +31,7 @@ export declare function watchComponentBuilder({ componentRootPath, componentBuil
31
31
  }): void;
32
32
  /**
33
33
  * Write component builder to file
34
- * @param {Object} settings settings for component builder generation
34
+ * @param {object} settings settings for component builder generation
35
35
  * @param {string} settings.componentRootPath path to components root
36
36
  * @param {string} settings.componentBuilderOutputPath path to component builder output
37
37
  * @param {PackageDefinition[]} settings.packages list of packages to include in component builder
@@ -45,7 +45,7 @@ export interface PluginDefinition {
45
45
  * name: 'fooPlugin'
46
46
  * }
47
47
  * @example getPluginList('src/foo/plugins', 'Foo')
48
- * @param {Object} definition plugin definition
48
+ * @param {object} definition plugin definition
49
49
  * @param {string} definition.path path to get plugin from
50
50
  * @param {string} definition.pluginName plugin name
51
51
  * @param {boolean} [definition.silent] whether to suppress console output
@@ -1,7 +1,7 @@
1
1
  import { ComponentFile, PackageDefinition } from '../components';
2
2
  /**
3
3
  * Generate component builder based on provided settings
4
- * @param {Object} settings settings for component builder generation
4
+ * @param {object} settings settings for component builder generation
5
5
  * @param {string} settings.componentRootPath path to components root
6
6
  * @param {PackageDefinition[]} [settings.packages] list of packages to include in component builder
7
7
  * @param {ComponentFile[]} [settings.components] list of components to include in component builder
@@ -27,7 +27,7 @@ export declare function watchComponentBuilder({ componentRootPath, packages, com
27
27
  }): void;
28
28
  /**
29
29
  * Write component builder to file
30
- * @param {Object} settings settings for component builder generation
30
+ * @param {object} settings settings for component builder generation
31
31
  * @param {string} settings.componentRootPath root path to components
32
32
  * @param {PackageDefinition[]} settings.packages packages to include in component builder
33
33
  * @param {ComponentFile[]} settings.components list of components to include in component builder