@mpfrontend/nx-plugin 0.1.0 → 1.1.0
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/README.md +6 -4
- package/dist/core.d.ts +22 -0
- package/dist/core.js +46 -0
- package/dist/core.js.map +1 -0
- package/dist/generator.js +1 -1
- package/dist/generator.js.map +1 -1
- package/dist/index.d.ts +1 -22
- package/dist/index.js +1 -45
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +1 -0
- package/dist/internal.js +3 -0
- package/dist/internal.js.map +1 -0
- package/dist/workspace.d.ts +3 -3
- package/dist/workspace.js +2 -2
- package/dist/workspace.js.map +1 -1
- package/package.json +7 -3
- package/templates/next/package.json.template +10 -10
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# @mpfrontend/nx-plugin
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
Part of [MP Frontend](https://github.com/panahister/mpfrontend), released to the public npm registry as one cohort: every `@mpfrontend`
|
|
4
|
+
package at the same exact version. Runtime: tooling. Install it through a workspace that `mpfrontend init`
|
|
5
|
+
created, which pins the cohort and binds the scope to the registry in `.npmrc`. [Versioning](https://github.com/panahister/mpfrontend#versioning)
|
|
6
|
+
states the compatibility policy and [Implementation status](https://github.com/panahister/mpfrontend/blob/main/docs/IMPLEMENTATION-STATUS.md) the
|
|
7
|
+
evidence.
|
|
6
8
|
|
|
7
9
|
`createWorkspace`/`workspaceFiles` implement the CLI `init` shell. `createApplication`/`applicationFiles`
|
|
8
10
|
implement the application template. `createFeature`/`featureFiles`, `createRoute`/`routeFiles` and
|
|
@@ -46,7 +48,7 @@ workspace's Prettier configuration (the CLI resolves Prettier from the workspace
|
|
|
46
48
|
use `formatFiles`). Generated contracts default to `src/api/generated/<contract>`; an existing app's
|
|
47
49
|
feature-local output stays valid. Init also writes `CODEOWNERS` with placeholder owners and
|
|
48
50
|
`.agents/skills/README.md`; create app writes `.env.example` (names only) and `docs/`. See
|
|
49
|
-
[the CLI guide](
|
|
51
|
+
[the CLI guide](https://github.com/panahister/mpfrontend/blob/main/docs/CLI-GUIDE.md).
|
|
50
52
|
|
|
51
53
|
Every visible text of the application template is a catalog message: the app-wide set in
|
|
52
54
|
`src/i18n/messages/<locale>.ts` and one set per feature in `model/messages/<locale>.ts`. The template ships
|
package/dist/core.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type Formatter } from './templates.js';
|
|
2
|
+
export { createWorkspace, workspaceFiles, type DesignSource, type WorkspaceOptions } from './workspace.js';
|
|
3
|
+
export { featureFiles, routeFiles, packageFiles, planFeature, planRoute, planPackage, createFeature, createRoute, createPackage, diskReader, type FeatureKind, type FeatureRequest, type RouteRequest, type PackageRequest, type PackageRuntime, type CreateOptions, type Plan, type WorkspaceReader } from './scaffold.js';
|
|
4
|
+
export { workspaceFormatter, type Formatter } from './templates.js';
|
|
5
|
+
export type ApplicationOptions = {
|
|
6
|
+
name: string;
|
|
7
|
+
directory: string;
|
|
8
|
+
dryRun?: boolean;
|
|
9
|
+
formatter?: Formatter;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* The application template. Its catalog example is produced by the feature generator (a list feature over
|
|
13
|
+
* the generated `catalog` read) and its two screens by the route generator: one list route and one detail route.
|
|
14
|
+
*/
|
|
15
|
+
export declare function applicationFiles(name: string): Promise<Record<string, string>>;
|
|
16
|
+
export declare function createApplication(options: ApplicationOptions): Promise<{
|
|
17
|
+
ok: boolean;
|
|
18
|
+
name: string;
|
|
19
|
+
files: string[];
|
|
20
|
+
dryRun: boolean;
|
|
21
|
+
formatted: boolean;
|
|
22
|
+
}>;
|
package/dist/core.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { mkdir, lstat } from 'node:fs/promises';
|
|
2
|
+
import { resolve, dirname } from 'node:path';
|
|
3
|
+
import { templateFiles, workspaceFormatter, writeNew } from './templates.js';
|
|
4
|
+
import { featureFiles, routeFiles } from './scaffold.js';
|
|
5
|
+
export { createWorkspace, workspaceFiles } from './workspace.js';
|
|
6
|
+
export { featureFiles, routeFiles, packageFiles, planFeature, planRoute, planPackage, createFeature, createRoute, createPackage, diskReader } from './scaffold.js';
|
|
7
|
+
export { workspaceFormatter } from './templates.js';
|
|
8
|
+
/** Names only: values are deployment configuration and never belong in the repository. */
|
|
9
|
+
const envExample = '# Environment variables this app reads. Supply values from the deployment, never from this file.\nBFF_ORIGIN=\nBFF_SESSION_COOKIE=\nENABLE_API_DOCS=\n';
|
|
10
|
+
/**
|
|
11
|
+
* The application template. Its catalog example is produced by the feature generator (a list feature over
|
|
12
|
+
* the generated `catalog` read) and its two screens by the route generator: one list route and one detail route.
|
|
13
|
+
*/
|
|
14
|
+
export async function applicationFiles(name) {
|
|
15
|
+
if (!/^[a-z][a-z0-9-]{1,48}$/.test(name))
|
|
16
|
+
throw new Error('INVALID_APP_NAME');
|
|
17
|
+
// The template's own files come last; its example feature is used exactly as generated.
|
|
18
|
+
return {
|
|
19
|
+
...await featureFiles('catalog', { resource: 'catalog', operationId: 'listCatalog', generatedOutput: 'src/api/generated/catalog' }),
|
|
20
|
+
...routeFiles('catalog', 'catalog', 'CatalogScreen'),
|
|
21
|
+
...routeFiles('catalog/[position]', 'catalog', 'CatalogDetailScreen'),
|
|
22
|
+
...await templateFiles('next', { __APP_NAME__: name }),
|
|
23
|
+
'.env.example': envExample,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export async function createApplication(options) {
|
|
27
|
+
const directory = resolve(options.directory);
|
|
28
|
+
try {
|
|
29
|
+
await lstat(directory);
|
|
30
|
+
throw new Error('DESTINATION_EXISTS');
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (error.code !== 'ENOENT')
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
const files = await applicationFiles(options.name);
|
|
37
|
+
let formatted = false;
|
|
38
|
+
if (!options.dryRun) {
|
|
39
|
+
// Exclusive creation of the app directory refuses a competing creator; files are formatted by the
|
|
40
|
+
// workspace formatter found above the new app, when there is one.
|
|
41
|
+
await mkdir(directory, { recursive: false });
|
|
42
|
+
formatted = await writeNew(directory, files, options.formatter ?? await workspaceFormatter(dirname(dirname(directory))));
|
|
43
|
+
}
|
|
44
|
+
return { ok: true, name: options.name, files: Object.keys(files).sort(), dryRun: options.dryRun === true, formatted };
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=core.js.map
|
package/dist/core.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAkB,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,cAAc,EAAyC,MAAM,gBAAgB,CAAC;AACtG,OAAO,EAAC,YAAY,EAAC,UAAU,EAAC,YAAY,EAAC,WAAW,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,EAAC,WAAW,EAAC,aAAa,EAAC,UAAU,EACkB,MAAM,eAAe,CAAC;AACzK,OAAO,EAAC,kBAAkB,EAAgB,MAAM,gBAAgB,CAAC;AAEjE,0FAA0F;AAC1F,MAAM,UAAU,GAAC,wJAAwJ,CAAC;AAC1K;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAAW;IAChD,IAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC5E,wFAAwF;IACxF,OAAO;QACL,GAAG,MAAM,YAAY,CAAC,SAAS,EAAC,EAAC,QAAQ,EAAC,SAAS,EAAC,WAAW,EAAC,aAAa,EAAC,eAAe,EAAC,2BAA2B,EAAC,CAAC;QAC3H,GAAG,UAAU,CAAC,SAAS,EAAC,SAAS,EAAC,eAAe,CAAC;QAClD,GAAG,UAAU,CAAC,oBAAoB,EAAC,SAAS,EAAC,qBAAqB,CAAC;QACnE,GAAG,MAAM,aAAa,CAAC,MAAM,EAAC,EAAC,YAAY,EAAC,IAAI,EAAC,CAAC;QAClD,cAAc,EAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA0B;IAChE,MAAM,SAAS,GAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC;QAAA,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;QAAA,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAAA,CAAC;IAAA,OAAM,KAAK,EAAC,CAAC;QAAA,IAAI,KAA+B,CAAC,IAAI,KAAG,QAAQ;YAAC,MAAM,KAAK,CAAC;IAAA,CAAC;IACjJ,MAAM,KAAK,GAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,SAAS,GAAC,KAAK,CAAC;IACpB,IAAG,CAAC,OAAO,CAAC,MAAM,EAAC,CAAC;QAClB,kGAAkG;QAClG,kEAAkE;QAClE,MAAM,KAAK,CAAC,SAAS,EAAC,EAAC,SAAS,EAAC,KAAK,EAAC,CAAC,CAAC;QACzC,SAAS,GAAC,MAAM,QAAQ,CAAC,SAAS,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,IAAE,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACrH,CAAC;IACD,OAAO,EAAC,EAAE,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,CAAC,IAAI,EAAC,KAAK,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAC,MAAM,EAAC,OAAO,CAAC,MAAM,KAAG,IAAI,EAAC,SAAS,EAAC,CAAC;AAC5G,CAAC"}
|
package/dist/generator.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { formatFiles } from '@nx/devkit';
|
|
2
|
-
import { applicationFiles } from './
|
|
2
|
+
import { applicationFiles } from './core.js';
|
|
3
3
|
import { writeTree } from './nx-tree.js';
|
|
4
4
|
/** `nx g @mpfrontend/nx-plugin:application`: the same files as `mpfrontend create app`. */
|
|
5
5
|
export default async function applicationGenerator(tree, options) {
|
package/dist/generator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAa,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,2FAA2F;AAC3F,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAS,EAAC,OAAsC;IACjG,IAAG,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC/I,MAAM,KAAK,GAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA,EAAE,CAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,GAAC,GAAG,GAAC,IAAI,CAAC,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAChJ,SAAS,CAAC,IAAI,EAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAC,OAAO,CAAC,EAAC,EAAE,CAAA,CAAC,OAAO,CAAC,SAAS,GAAC,GAAG,GAAC,IAAI,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtH,MAAM,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,22 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export { createWorkspace, workspaceFiles, type DesignSource, type WorkspaceOptions } from './workspace.js';
|
|
3
|
-
export { featureFiles, routeFiles, packageFiles, planFeature, planRoute, planPackage, createFeature, createRoute, createPackage, diskReader, type FeatureKind, type FeatureRequest, type RouteRequest, type PackageRequest, type PackageRuntime, type CreateOptions, type Plan, type WorkspaceReader } from './scaffold.js';
|
|
4
|
-
export { workspaceFormatter, type Formatter } from './templates.js';
|
|
5
|
-
export type ApplicationOptions = {
|
|
6
|
-
name: string;
|
|
7
|
-
directory: string;
|
|
8
|
-
dryRun?: boolean;
|
|
9
|
-
formatter?: Formatter;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* The application template. Its catalog example is produced by the feature generator (a list feature over
|
|
13
|
-
* the generated `catalog` read) and its two screens by the route generator: one list route and one detail route.
|
|
14
|
-
*/
|
|
15
|
-
export declare function applicationFiles(name: string): Promise<Record<string, string>>;
|
|
16
|
-
export declare function createApplication(options: ApplicationOptions): Promise<{
|
|
17
|
-
ok: boolean;
|
|
18
|
-
name: string;
|
|
19
|
-
files: string[];
|
|
20
|
-
dryRun: boolean;
|
|
21
|
-
formatted: boolean;
|
|
22
|
-
}>;
|
|
1
|
+
export { applicationFiles, type ApplicationOptions, createApplication, createFeature, type CreateOptions, createPackage, createRoute, createWorkspace, type DesignSource, featureFiles, type FeatureKind, type FeatureRequest, type Formatter, packageFiles, type PackageRequest, type PackageRuntime, type Plan, routeFiles, type RouteRequest, workspaceFiles, type WorkspaceOptions, type WorkspaceReader, } from './core.js';
|
package/dist/index.js
CHANGED
|
@@ -1,46 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
import { resolve, dirname } from 'node:path';
|
|
3
|
-
import { templateFiles, workspaceFormatter, writeNew } from './templates.js';
|
|
4
|
-
import { featureFiles, routeFiles } from './scaffold.js';
|
|
5
|
-
export { createWorkspace, workspaceFiles } from './workspace.js';
|
|
6
|
-
export { featureFiles, routeFiles, packageFiles, planFeature, planRoute, planPackage, createFeature, createRoute, createPackage, diskReader } from './scaffold.js';
|
|
7
|
-
export { workspaceFormatter } from './templates.js';
|
|
8
|
-
/** Names only: values are deployment configuration and never belong in the repository. */
|
|
9
|
-
const envExample = '# Environment variables this app reads. Supply values from the deployment, never from this file.\nBFF_ORIGIN=\nBFF_SESSION_COOKIE=\nENABLE_API_DOCS=\n';
|
|
10
|
-
/**
|
|
11
|
-
* The application template. Its catalog example is produced by the feature generator (a list feature over
|
|
12
|
-
* the generated `catalog` read) and its two screens by the route generator: one list route and one detail route.
|
|
13
|
-
*/
|
|
14
|
-
export async function applicationFiles(name) {
|
|
15
|
-
if (!/^[a-z][a-z0-9-]{1,48}$/.test(name))
|
|
16
|
-
throw new Error('INVALID_APP_NAME');
|
|
17
|
-
// The template's own files come last; its example feature is used exactly as generated.
|
|
18
|
-
return {
|
|
19
|
-
...await featureFiles('catalog', { resource: 'catalog', operationId: 'listCatalog', generatedOutput: 'src/api/generated/catalog' }),
|
|
20
|
-
...routeFiles('catalog', 'catalog', 'CatalogScreen'),
|
|
21
|
-
...routeFiles('catalog/[position]', 'catalog', 'CatalogDetailScreen'),
|
|
22
|
-
...await templateFiles('next', { __APP_NAME__: name }),
|
|
23
|
-
'.env.example': envExample,
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
export async function createApplication(options) {
|
|
27
|
-
const directory = resolve(options.directory);
|
|
28
|
-
try {
|
|
29
|
-
await lstat(directory);
|
|
30
|
-
throw new Error('DESTINATION_EXISTS');
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
if (error.code !== 'ENOENT')
|
|
34
|
-
throw error;
|
|
35
|
-
}
|
|
36
|
-
const files = await applicationFiles(options.name);
|
|
37
|
-
let formatted = false;
|
|
38
|
-
if (!options.dryRun) {
|
|
39
|
-
// Exclusive creation of the app directory refuses a competing creator; files are formatted by the
|
|
40
|
-
// workspace formatter found above the new app, when there is one.
|
|
41
|
-
await mkdir(directory, { recursive: false });
|
|
42
|
-
formatted = await writeNew(directory, files, options.formatter ?? await workspaceFormatter(dirname(dirname(directory))));
|
|
43
|
-
}
|
|
44
|
-
return { ok: true, name: options.name, files: Object.keys(files).sort(), dryRun: options.dryRun === true, formatted };
|
|
45
|
-
}
|
|
1
|
+
export { applicationFiles, createApplication, createFeature, createPackage, createRoute, createWorkspace, featureFiles, packageFiles, routeFiles, workspaceFiles, } from './core.js';
|
|
46
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,iBAAiB,EACjB,aAAa,EAEb,aAAa,EACb,WAAW,EACX,eAAe,EAEf,YAAY,EAIZ,YAAY,EAIZ,UAAU,EAEV,cAAc,GAGf,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { diskReader, planFeature, planPackage, planRoute, workspaceFormatter } from './core.js';
|
package/dist/internal.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,OAAO,EAAC,UAAU,EAAC,WAAW,EAAC,WAAW,EAAC,SAAS,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC"}
|
package/dist/workspace.d.ts
CHANGED
|
@@ -7,9 +7,9 @@ export type WorkspaceOptions = {
|
|
|
7
7
|
};
|
|
8
8
|
/** The cohort a new workspace pins; the quality profile is upgraded with it, never copied into the workspace. */
|
|
9
9
|
export declare const COHORT: {
|
|
10
|
-
readonly cli: "
|
|
11
|
-
readonly nxPlugin: "
|
|
12
|
-
readonly workspaceConfig: "
|
|
10
|
+
readonly cli: "1.1.0";
|
|
11
|
+
readonly nxPlugin: "1.1.0";
|
|
12
|
+
readonly workspaceConfig: "1.1.0";
|
|
13
13
|
};
|
|
14
14
|
/** The scope of the framework packages, bound to the registry that publishes them. */
|
|
15
15
|
export declare const NPMRC = "@mpfrontend:registry=https://registry.npmjs.org/\nsave-exact=true\n";
|
package/dist/workspace.js
CHANGED
|
@@ -2,7 +2,7 @@ import { lstat, mkdir, writeFile } from 'node:fs/promises';
|
|
|
2
2
|
import { resolve, join, dirname } from 'node:path';
|
|
3
3
|
const json = (value) => JSON.stringify(value, null, 2) + '\n';
|
|
4
4
|
/** The cohort a new workspace pins; the quality profile is upgraded with it, never copied into the workspace. */
|
|
5
|
-
export const COHORT = { cli: '
|
|
5
|
+
export const COHORT = { cli: '1.1.0', nxPlugin: '1.1.0', workspaceConfig: '1.1.0' };
|
|
6
6
|
/** The scope of the framework packages, bound to the registry that publishes them. */
|
|
7
7
|
export const NPMRC = '@mpfrontend:registry=https://registry.npmjs.org/\nsave-exact=true\n';
|
|
8
8
|
/** Tool versions the quality profile is verified with. */
|
|
@@ -165,7 +165,7 @@ export function workspaceFiles(name, designSource = 'none') {
|
|
|
165
165
|
'package.json': json({ name, private: true, type: 'module', packageManager: 'pnpm@11.25.0', engines: { node: '>=24 <25' },
|
|
166
166
|
scripts: WORKSPACE_SCRIPTS,
|
|
167
167
|
devDependencies: { '@mpfrontend/ftg-cli': COHORT.cli, '@mpfrontend/nx-plugin': COHORT.nxPlugin, '@mpfrontend/workspace-config': COHORT.workspaceConfig, eslint: QUALITY_TOOLS.eslint, nx: '23.2.1', prettier: QUALITY_TOOLS.prettier, tsx: QUALITY_TOOLS.tsx, typescript: '5.9.3', '@types/node': '24.10.1', '@types/react': '19.3.0', '@types/react-dom': '19.2.3' } }),
|
|
168
|
-
'pnpm-workspace.yaml': 'packages:\n - apps/*\n - packages/*\n - themes/*\noverrides:\n axios@1.18.1: 1.20.0\n brace-expansion@5.0.9: 5.0.12\n smol-toml@1.6.1: 1.9.0\nallowBuilds:\n "@scarf/scarf": false\n esbuild: true\n nx: true\n sharp: true\n unrs-resolver: true\n',
|
|
168
|
+
'pnpm-workspace.yaml': 'packages:\n - apps/*\n - packages/*\n - themes/*\noverrides:\n axios@1.18.1: 1.20.0\n brace-expansion@5.0.9: 5.0.12\n smol-toml@1.6.1: 1.9.0\n fast-uri@3.1.8: 3.1.9\n follow-redirects@1.16.0: 1.16.3\n "minimatch@>=10.2.5 <11.0.1": 11.0.8\n undici@8.11.2: 8.12.4\nallowBuilds:\n "@scarf/scarf": false\n esbuild: true\n nx: true\n sharp: true\n unrs-resolver: true\n',
|
|
169
169
|
'nx.json': nxJson,
|
|
170
170
|
// The @mpfrontend scope is bound to the public npm registry, so that no other registry can serve it; dependencies
|
|
171
171
|
// are saved at exact versions.
|
package/dist/workspace.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAG/C,MAAM,IAAI,GAAC,CAAC,KAAa,EAAC,EAAE,CAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAC,IAAI,EAAC,CAAC,CAAC,GAAC,IAAI,CAAC;AAC9D,iHAAiH;AACjH,MAAM,CAAC,MAAM,MAAM,GAAC,EAAC,GAAG,EAAC,OAAO,EAAC,QAAQ,EAAC,OAAO,EAAC,eAAe,EAAC,OAAO,EAAU,CAAC;AACpF,sFAAsF;AACtF,MAAM,CAAC,MAAM,KAAK,GAAC,qEAAqE,CAAC;AACzF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAC,EAAC,MAAM,EAAC,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAC,GAAG,EAAC,SAAS,EAAU,CAAC;AACtF,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAC;IAC7B,KAAK,EAAC,sBAAsB;IAC5B,MAAM,EAAC,oBAAoB;IAC3B,cAAc,EAAC,oBAAoB;IACnC,IAAI,EAAC,qBAAqB;IAC1B,IAAI,EAAC,qBAAqB;IAC1B,KAAK,EAAC,8FAA8F;CAC5F,CAAC;AACX,yFAAyF;AACzF,MAAM,MAAM,GAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BZ,CAAC;AACF,MAAM,cAAc,GAAC;;;;;;;;;;;;;;;CAepB,CAAC;AACF,MAAM,YAAY,GAAC;;;;;CAKlB,CAAC;AACF,MAAM,cAAc,GAAC;;;;CAIpB,CAAC;AACF,MAAM,UAAU,GAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BhB,CAAC;AACF,MAAM,QAAQ,GAAC;;;;;;;;CAQd,CAAC;AACF,MAAM,UAAU,GAAC;;;;;;CAMhB,CAAC;AACF,MAAM,WAAW,GAAC;;;;;;;;;;;;;;;CAejB,CAAC;AACF,MAAM,MAAM,GAAC;;;;;;;;;;;;;;;;;;;;;;CAsBZ,CAAC;AACF,0GAA0G;AAC1G,MAAM,UAAU,cAAc,CAAC,IAAW,EAAC,eAA0B,MAAM;IACzE,IAAG,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAClF,IAAG,CAAC,CAAC,MAAM,EAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IACxF,MAAM,YAAY,GAAC,YAAY,KAAG,MAAM,CAAA,CAAC,CAAA,UAAU,CAAA,CAAC,CAAA,SAAS,CAAC;IAC9D,OAAO;QACL,cAAc,EAAC,IAAI,CAAC,EAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,EAAC,cAAc,EAAC,cAAc,EAAC,OAAO,EAAC,EAAC,IAAI,EAAC,UAAU,EAAC;YAC1G,OAAO,EAAC,iBAAiB;YACzB,eAAe,EAAC,EAAC,qBAAqB,EAAC,MAAM,CAAC,GAAG,EAAC,uBAAuB,EAAC,MAAM,CAAC,QAAQ,EAAC,8BAA8B,EAAC,MAAM,CAAC,eAAe,EAAC,MAAM,EAAC,aAAa,CAAC,MAAM,EAAC,EAAE,EAAC,QAAQ,EAAC,QAAQ,EAAC,aAAa,CAAC,QAAQ,EAAC,GAAG,EAAC,aAAa,CAAC,GAAG,EAAC,UAAU,EAAC,OAAO,EAAC,aAAa,EAAC,SAAS,EAAC,cAAc,EAAC,QAAQ,EAAC,kBAAkB,EAAC,QAAQ,EAAC,EAAC,CAAC;QACjV,qBAAqB,EAAC,
|
|
1
|
+
{"version":3,"file":"workspace.js","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mpfrontend/nx-plugin",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,7 +16,11 @@
|
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
17
|
},
|
|
18
18
|
"./package.json": "./package.json",
|
|
19
|
-
"./generators.json": "./generators.json"
|
|
19
|
+
"./generators.json": "./generators.json",
|
|
20
|
+
"./internal": {
|
|
21
|
+
"types": "./dist/internal.d.ts",
|
|
22
|
+
"import": "./dist/internal.js"
|
|
23
|
+
}
|
|
20
24
|
},
|
|
21
25
|
"files": [
|
|
22
26
|
"dist",
|
|
@@ -34,7 +38,7 @@
|
|
|
34
38
|
"@nx/devkit": "23.2.1"
|
|
35
39
|
},
|
|
36
40
|
"devDependencies": {
|
|
37
|
-
"@mpfrontend/workspace-config": "
|
|
41
|
+
"@mpfrontend/workspace-config": "1.1.0"
|
|
38
42
|
},
|
|
39
43
|
"generators": "./generators.json"
|
|
40
44
|
}
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
"private": true,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@mpfrontend/access-core": "
|
|
8
|
-
"@mpfrontend/access-react": "
|
|
9
|
-
"@mpfrontend/app-layout": "
|
|
10
|
-
"@mpfrontend/data-react": "
|
|
11
|
-
"@mpfrontend/ftg-core": "
|
|
12
|
-
"@mpfrontend/i18n": "
|
|
13
|
-
"@mpfrontend/presentation-server": "
|
|
14
|
-
"@mpfrontend/tokens": "
|
|
15
|
-
"@mpfrontend/ui": "
|
|
7
|
+
"@mpfrontend/access-core": "1.1.0",
|
|
8
|
+
"@mpfrontend/access-react": "1.1.0",
|
|
9
|
+
"@mpfrontend/app-layout": "1.1.0",
|
|
10
|
+
"@mpfrontend/data-react": "1.1.0",
|
|
11
|
+
"@mpfrontend/ftg-core": "1.1.0",
|
|
12
|
+
"@mpfrontend/i18n": "1.1.0",
|
|
13
|
+
"@mpfrontend/presentation-server": "1.1.0",
|
|
14
|
+
"@mpfrontend/tokens": "1.1.0",
|
|
15
|
+
"@mpfrontend/ui": "1.1.0",
|
|
16
16
|
"@tailwindcss/postcss": "4.3.3",
|
|
17
17
|
"@tanstack/react-query": "5.104.0",
|
|
18
18
|
"ajv": "8.20.0",
|
|
19
19
|
"ajv-formats": "3.0.1",
|
|
20
|
-
"next": "16.
|
|
20
|
+
"next": "16.4.1",
|
|
21
21
|
"nuqs": "2.10.1",
|
|
22
22
|
"react": "19.3.0",
|
|
23
23
|
"react-dom": "19.3.0",
|