@teispace/next-maker 3.0.2 → 3.0.4
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/CHANGELOG.md +14 -0
- package/dist/index.js +146 -146
- package/package.json +13 -11
- package/dist/build.d.ts +0 -1
- package/dist/src/commands/app.d.ts +0 -2
- package/dist/src/commands/component.d.ts +0 -2
- package/dist/src/commands/doctor.d.ts +0 -2
- package/dist/src/commands/env.d.ts +0 -2
- package/dist/src/commands/favicon.d.ts +0 -2
- package/dist/src/commands/feature.d.ts +0 -2
- package/dist/src/commands/hook.d.ts +0 -2
- package/dist/src/commands/index.d.ts +0 -2
- package/dist/src/commands/layout.d.ts +0 -2
- package/dist/src/commands/locale.d.ts +0 -2
- package/dist/src/commands/page.d.ts +0 -2
- package/dist/src/commands/provider.d.ts +0 -2
- package/dist/src/commands/remove.d.ts +0 -2
- package/dist/src/commands/service.d.ts +0 -2
- package/dist/src/commands/setup.d.ts +0 -2
- package/dist/src/commands/slice.d.ts +0 -2
- package/dist/src/commands/test.d.ts +0 -2
- package/dist/src/config/constants.d.ts +0 -0
- package/dist/src/config/errorHandlers.d.ts +0 -6
- package/dist/src/config/index.d.ts +0 -5
- package/dist/src/config/output.d.ts +0 -10
- package/dist/src/config/packages.d.ts +0 -25
- package/dist/src/config/path-safety.d.ts +0 -28
- package/dist/src/config/paths.d.ts +0 -93
- package/dist/src/config/spinner.d.ts +0 -11
- package/dist/src/config/utils.d.ts +0 -4
- package/dist/src/core/files.d.ts +0 -7
- package/dist/src/core/git.d.ts +0 -9
- package/dist/src/core/package-manager.d.ts +0 -11
- package/dist/src/detection/existence.checker.d.ts +0 -8
- package/dist/src/detection/index.d.ts +0 -3
- package/dist/src/detection/project.detector.d.ts +0 -14
- package/dist/src/generators/component.generator.d.ts +0 -8
- package/dist/src/generators/crud-service.generator.d.ts +0 -5
- package/dist/src/generators/feature.generator.d.ts +0 -6
- package/dist/src/generators/hook.generator.d.ts +0 -7
- package/dist/src/generators/index.d.ts +0 -19
- package/dist/src/generators/layout.generator.d.ts +0 -21
- package/dist/src/generators/locale.generator.d.ts +0 -9
- package/dist/src/generators/page.generator.d.ts +0 -9
- package/dist/src/generators/provider.generator.d.ts +0 -13
- package/dist/src/generators/service.generator.d.ts +0 -5
- package/dist/src/generators/slice.generator.d.ts +0 -10
- package/dist/src/generators/templates/barrel.template.d.ts +0 -11
- package/dist/src/generators/templates/component.template.d.ts +0 -4
- package/dist/src/generators/templates/crud-service.template.d.ts +0 -9
- package/dist/src/generators/templates/custom-hook.template.d.ts +0 -4
- package/dist/src/generators/templates/hook.template.d.ts +0 -8
- package/dist/src/generators/templates/layout.template.d.ts +0 -12
- package/dist/src/generators/templates/page.template.d.ts +0 -17
- package/dist/src/generators/templates/persist.template.d.ts +0 -5
- package/dist/src/generators/templates/provider.template.d.ts +0 -11
- package/dist/src/generators/templates/selectors.template.d.ts +0 -5
- package/dist/src/generators/templates/service.template.d.ts +0 -4
- package/dist/src/generators/templates/shared-component.template.d.ts +0 -9
- package/dist/src/generators/templates/slice.template.d.ts +0 -5
- package/dist/src/generators/templates/test.template.d.ts +0 -26
- package/dist/src/generators/templates/types.template.d.ts +0 -4
- package/dist/src/generators/test.generator.d.ts +0 -18
- package/dist/src/generators/types.d.ts +0 -18
- package/dist/src/index.d.ts +0 -1
- package/dist/src/manifests/bundle-analyzer.manifest.d.ts +0 -2
- package/dist/src/manifests/commitizen.manifest.d.ts +0 -2
- package/dist/src/manifests/dark-theme.manifest.d.ts +0 -2
- package/dist/src/manifests/http-client.manifest.d.ts +0 -2
- package/dist/src/manifests/i18n.manifest.d.ts +0 -2
- package/dist/src/manifests/index.d.ts +0 -23
- package/dist/src/manifests/react-compiler.manifest.d.ts +0 -2
- package/dist/src/manifests/redux.manifest.d.ts +0 -8
- package/dist/src/manifests/runner.d.ts +0 -36
- package/dist/src/manifests/security-headers.manifest.d.ts +0 -2
- package/dist/src/manifests/tests.manifest.d.ts +0 -2
- package/dist/src/manifests/transforms/next-config.d.ts +0 -24
- package/dist/src/manifests/transforms/unwrap-jsx.d.ts +0 -31
- package/dist/src/manifests/types.d.ts +0 -131
- package/dist/src/manifests/validate-scripts.manifest.d.ts +0 -2
- package/dist/src/manifests/ws.manifest.d.ts +0 -2
- package/dist/src/modifiers/api-registration.modifier.d.ts +0 -5
- package/dist/src/modifiers/app-paths.modifier.d.ts +0 -4
- package/dist/src/modifiers/crud-api-registration.modifier.d.ts +0 -4
- package/dist/src/modifiers/env-var.modifier.d.ts +0 -59
- package/dist/src/modifiers/helpers.d.ts +0 -13
- package/dist/src/modifiers/index.d.ts +0 -8
- package/dist/src/modifiers/root-provider.modifier.d.ts +0 -25
- package/dist/src/modifiers/root-reducer.modifier.d.ts +0 -6
- package/dist/src/modifiers/translation.modifier.d.ts +0 -4
- package/dist/src/modifiers/types.d.ts +0 -14
- package/dist/src/pipelines/feature.pipeline.d.ts +0 -13
- package/dist/src/pipelines/index.d.ts +0 -8
- package/dist/src/pipelines/runner.d.ts +0 -6
- package/dist/src/pipelines/service.pipeline.d.ts +0 -7
- package/dist/src/pipelines/slice.pipeline.d.ts +0 -8
- package/dist/src/pipelines/types.d.ts +0 -11
- package/dist/src/prompts/component.prompt.d.ts +0 -9
- package/dist/src/prompts/create-app.prompt.d.ts +0 -49
- package/dist/src/prompts/favicon.prompt.d.ts +0 -6
- package/dist/src/prompts/feature.prompt.d.ts +0 -10
- package/dist/src/prompts/hook.prompt.d.ts +0 -4
- package/dist/src/prompts/locale.prompt.d.ts +0 -12
- package/dist/src/prompts/page.prompt.d.ts +0 -12
- package/dist/src/prompts/service.prompt.d.ts +0 -6
- package/dist/src/prompts/slice.prompt.d.ts +0 -5
- package/dist/src/services/common/test-utils.d.ts +0 -11
- package/dist/src/services/favicon/css-colors.d.ts +0 -7
- package/dist/src/services/favicon/detect.d.ts +0 -15
- package/dist/src/services/favicon/encoders.d.ts +0 -22
- package/dist/src/services/favicon/index.d.ts +0 -6
- package/dist/src/services/favicon/manifest.d.ts +0 -24
- package/dist/src/services/favicon/pipeline.d.ts +0 -2
- package/dist/src/services/favicon/shapes.d.ts +0 -10
- package/dist/src/services/favicon/types.d.ts +0 -31
- package/dist/src/services/favicon/validate.d.ts +0 -10
- package/dist/src/services/init/cleanup/bundle-analyzer.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/dark-mode.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/http.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/i18n.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/index.d.ts +0 -2
- package/dist/src/services/init/cleanup/misc.cleanup.d.ts +0 -12
- package/dist/src/services/init/cleanup/react-compiler.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/redux.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/seo.cleanup.d.ts +0 -14
- package/dist/src/services/init/cleanup/tests.cleanup.d.ts +0 -2
- package/dist/src/services/init/cleanup/ws.cleanup.d.ts +0 -14
- package/dist/src/services/init/config.service.d.ts +0 -2
- package/dist/src/services/init/devtools.service.d.ts +0 -2
- package/dist/src/services/init/providers.service.d.ts +0 -3
- package/dist/src/services/init/template.service.d.ts +0 -1
- package/dist/src/services/setup/bundle-analyzer/index.d.ts +0 -1
- package/dist/src/services/setup/commitizen/index.d.ts +0 -2
- package/dist/src/services/setup/commitizen/package-modifier.d.ts +0 -16
- package/dist/src/services/setup/dark-theme/assets.d.ts +0 -3
- package/dist/src/services/setup/dark-theme/checks.d.ts +0 -5
- package/dist/src/services/setup/dark-theme/index.d.ts +0 -1
- package/dist/src/services/setup/dark-theme/injectors.d.ts +0 -4
- package/dist/src/services/setup/dark-theme/utils.d.ts +0 -1
- package/dist/src/services/setup/http-client/assets.d.ts +0 -4
- package/dist/src/services/setup/http-client/checks.d.ts +0 -7
- package/dist/src/services/setup/http-client/index.d.ts +0 -1
- package/dist/src/services/setup/http-client/injectors.d.ts +0 -97
- package/dist/src/services/setup/i18n/assets.d.ts +0 -3
- package/dist/src/services/setup/i18n/checks.d.ts +0 -5
- package/dist/src/services/setup/i18n/index.d.ts +0 -1
- package/dist/src/services/setup/i18n/injectors.d.ts +0 -5
- package/dist/src/services/setup/react-compiler/index.d.ts +0 -1
- package/dist/src/services/setup/redux/assets.d.ts +0 -4
- package/dist/src/services/setup/redux/checks.d.ts +0 -5
- package/dist/src/services/setup/redux/index.d.ts +0 -1
- package/dist/src/services/setup/redux/injectors.d.ts +0 -3
- package/dist/src/services/setup/security-headers/headers.d.ts +0 -28
- package/dist/src/services/setup/security-headers/index.d.ts +0 -2
- package/dist/src/services/setup/tests/index.d.ts +0 -1
- package/dist/src/services/setup/validate-scripts/index.d.ts +0 -3
- package/dist/src/services/setup/validate-scripts/package-modifier.d.ts +0 -18
- package/dist/src/services/setup/validate-scripts/scripts.d.ts +0 -11
- package/dist/src/services/setup/ws/assets.d.ts +0 -20
- package/dist/src/services/setup/ws/checks.d.ts +0 -17
- package/dist/src/services/setup/ws/index.d.ts +0 -20
- package/dist/src/services/setup/ws/injectors.d.ts +0 -56
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teispace/next-maker",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.4",
|
|
4
4
|
"description": "Create a new Teispace Next.js application with interactive setup.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nextjs",
|
|
@@ -24,8 +24,6 @@
|
|
|
24
24
|
"LICENSE",
|
|
25
25
|
"CHANGELOG.md"
|
|
26
26
|
],
|
|
27
|
-
"main": "dist/index.js",
|
|
28
|
-
"types": "dist/index.d.ts",
|
|
29
27
|
"bin": "dist/index.js",
|
|
30
28
|
"repository": {
|
|
31
29
|
"type": "git",
|
|
@@ -33,31 +31,35 @@
|
|
|
33
31
|
"directory": "packages/next-maker"
|
|
34
32
|
},
|
|
35
33
|
"scripts": {
|
|
36
|
-
"build": "tsx build.ts
|
|
34
|
+
"build": "tsx build.ts",
|
|
37
35
|
"start": "node dist/index.js",
|
|
38
36
|
"dev": "tsx --watch src/index.ts",
|
|
39
37
|
"test": "vitest run",
|
|
40
|
-
"test:watch": "vitest"
|
|
38
|
+
"test:watch": "vitest",
|
|
39
|
+
"test:cov": "vitest run --coverage",
|
|
40
|
+
"type-check": "tsc --noEmit",
|
|
41
|
+
"clean": "rm -rf dist",
|
|
42
|
+
"prepublishOnly": "yarn clean && yarn build"
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
43
45
|
"commander": "^15.0.0",
|
|
44
|
-
"degit": "^3.
|
|
46
|
+
"degit": "^3.4.7",
|
|
45
47
|
"enquirer": "^2.4.1",
|
|
46
48
|
"ora": "^9.4.0",
|
|
47
49
|
"picocolors": "^1.1.1",
|
|
48
50
|
"png-to-ico": "^3.0.1",
|
|
49
|
-
"sharp": "^0.
|
|
51
|
+
"sharp": "^0.35.2"
|
|
50
52
|
},
|
|
51
53
|
"devDependencies": {
|
|
52
54
|
"@types/degit": "^2.8.6",
|
|
53
|
-
"@types/node": "^
|
|
55
|
+
"@types/node": "^26.0.0",
|
|
54
56
|
"esbuild": "^0.28.0",
|
|
55
|
-
"tsx": "^4.22.
|
|
57
|
+
"tsx": "^4.22.4",
|
|
56
58
|
"typescript": "^6.0.3",
|
|
57
|
-
"vitest": "^4.1.
|
|
59
|
+
"vitest": "^4.1.9"
|
|
58
60
|
},
|
|
59
61
|
"engines": {
|
|
60
|
-
"node": ">=
|
|
62
|
+
"node": ">=24.0.0"
|
|
61
63
|
},
|
|
62
64
|
"publishConfig": {
|
|
63
65
|
"access": "public",
|
package/dist/build.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
File without changes
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type Color = 'reset' | 'red' | 'green' | 'yellow' | 'blue' | 'cyan' | 'magenta' | 'white' | 'gray' | 'bright' | 'dim';
|
|
2
|
-
export declare function print(message: string, color?: Color): void;
|
|
3
|
-
export declare function printHeader(title: string): void;
|
|
4
|
-
export declare function success(message: string): void;
|
|
5
|
-
export declare function error(message: string): void;
|
|
6
|
-
export declare const logError: typeof error;
|
|
7
|
-
export declare function warning(message: string): void;
|
|
8
|
-
export declare function info(message: string): void;
|
|
9
|
-
export declare function log(message: string): void;
|
|
10
|
-
export declare function printBanner(): void;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export declare const PACKAGES: {
|
|
2
|
-
readonly REDUX_TOOLKIT: "@reduxjs/toolkit";
|
|
3
|
-
readonly REACT_REDUX: "react-redux";
|
|
4
|
-
readonly REDUX: "redux";
|
|
5
|
-
readonly REDUX_PERSIST: "redux-persist";
|
|
6
|
-
readonly REACT_SECURE_STORAGE: "react-secure-storage";
|
|
7
|
-
readonly NEXT_INTL: "next-intl";
|
|
8
|
-
readonly NEXT_THEMES: "@teispace/next-themes";
|
|
9
|
-
readonly AXIOS: "axios";
|
|
10
|
-
readonly HUSKY: "husky";
|
|
11
|
-
readonly COMMITLINT_CLI: "@commitlint/cli";
|
|
12
|
-
readonly COMMITLINT_CONFIG: "@commitlint/config-conventional";
|
|
13
|
-
readonly LINT_STAGED: "lint-staged";
|
|
14
|
-
readonly COMMITIZEN: "commitizen";
|
|
15
|
-
readonly CZ_CONVENTIONAL_CHANGELOG: "cz-conventional-changelog";
|
|
16
|
-
readonly VITEST: "vitest";
|
|
17
|
-
readonly JSDOM: "jsdom";
|
|
18
|
-
readonly VITE_PLUGIN_REACT: "@vitejs/plugin-react";
|
|
19
|
-
readonly TESTING_LIBRARY_DOM: "@testing-library/dom";
|
|
20
|
-
readonly TESTING_LIBRARY_JEST_DOM: "@testing-library/jest-dom";
|
|
21
|
-
readonly TESTING_LIBRARY_REACT: "@testing-library/react";
|
|
22
|
-
readonly TESTING_LIBRARY_USER_EVENT: "@testing-library/user-event";
|
|
23
|
-
readonly REACT_COMPILER_BABEL: "babel-plugin-react-compiler";
|
|
24
|
-
readonly NEXT_BUNDLE_ANALYZER: "@next/bundle-analyzer";
|
|
25
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Assert a name is a single safe segment. Rejects empty, path separators,
|
|
3
|
-
* `..`, absolute paths, Windows reserved names, and anything outside
|
|
4
|
-
* kebab/camel-case word characters.
|
|
5
|
-
*
|
|
6
|
-
* @throws Error with an actionable message when invalid.
|
|
7
|
-
*/
|
|
8
|
-
export declare function assertSafeSegment(name: string, label?: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Assert a relative path is a safe, slash-separated list of segments. Used for
|
|
11
|
-
* `--path` / `--feature`. Rejects absolute paths, drive letters, and any
|
|
12
|
-
* segment that isn't a valid `SEGMENT_RE` (which inherently rules out `..`,
|
|
13
|
-
* dots, backslashes, and non-ASCII — so there is no need for a separate,
|
|
14
|
-
* over-broad `includes('..')` check that would also reject legitimate names
|
|
15
|
-
* like `foo..bar`).
|
|
16
|
-
*
|
|
17
|
-
* @throws Error with an actionable message when invalid.
|
|
18
|
-
*/
|
|
19
|
-
export declare function assertSafeRelativePath(relPath: string, label?: string): string;
|
|
20
|
-
/**
|
|
21
|
-
* Resolve `relativePath` against `root` and guarantee the result stays inside
|
|
22
|
-
* `root`. This is the last line of defense even after segment validation —
|
|
23
|
-
* symlinks or unusual inputs can still escape, so callers that build a final
|
|
24
|
-
* write path should resolve through here.
|
|
25
|
-
*
|
|
26
|
-
* @throws Error if the resolved path escapes `root`.
|
|
27
|
-
*/
|
|
28
|
-
export declare function resolveInside(root: string, ...relativeParts: string[]): string;
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
export declare const PROJECT_PATHS: {
|
|
2
|
-
readonly NEXT_CONFIG: "next.config.ts";
|
|
3
|
-
readonly POSTCSS_CONFIG: "postcss.config.mjs";
|
|
4
|
-
readonly BIOME_CONFIG: "biome.json";
|
|
5
|
-
readonly VITEST_CONFIG: "vitest.config.ts";
|
|
6
|
-
readonly TEST_DIR: "test";
|
|
7
|
-
readonly TS_CONFIG: "tsconfig.json";
|
|
8
|
-
readonly PACKAGE_JSON: "package.json";
|
|
9
|
-
readonly ENV_EXAMPLE: ".env.example";
|
|
10
|
-
readonly GITIGNORE: ".gitignore";
|
|
11
|
-
readonly README: "README.md";
|
|
12
|
-
readonly LICENSE: "LICENSE";
|
|
13
|
-
readonly CHANGELOG: "CHANGELOG.md";
|
|
14
|
-
readonly NVM_RC: ".nvmrc";
|
|
15
|
-
readonly NPM_RC: ".npmrc";
|
|
16
|
-
readonly AGENTS_MD: "AGENTS.md";
|
|
17
|
-
readonly CLAUDE_MD: "CLAUDE.md";
|
|
18
|
-
readonly SRC: "src";
|
|
19
|
-
readonly APP: "src/app";
|
|
20
|
-
readonly COMPONENTS: "src/components";
|
|
21
|
-
readonly LIB: "src/lib";
|
|
22
|
-
readonly PROVIDERS: "src/providers";
|
|
23
|
-
readonly STYLES: "src/styles";
|
|
24
|
-
readonly TYPES: "src/types";
|
|
25
|
-
readonly UTILS: "src/lib/utils";
|
|
26
|
-
readonly HOOKS: "src/hooks";
|
|
27
|
-
readonly SERVICES: "src/services";
|
|
28
|
-
readonly STORE: "src/store";
|
|
29
|
-
readonly I18N: "src/i18n";
|
|
30
|
-
readonly GLOBALS_CSS: "src/styles/globals.css";
|
|
31
|
-
readonly ROOT_LAYOUT: "src/app/layout.tsx";
|
|
32
|
-
readonly ROOT_PAGE: "src/app/page.tsx";
|
|
33
|
-
readonly ROOT_PROVIDER: "src/providers/RootProvider.tsx";
|
|
34
|
-
readonly PROVIDERS_INDEX: "src/providers/index.ts";
|
|
35
|
-
readonly COMPONENTS_INDEX: "src/components/index.ts";
|
|
36
|
-
readonly TYPES_INDEX: "src/types/index.ts";
|
|
37
|
-
readonly UTILS_INDEX: "src/lib/utils/index.ts";
|
|
38
|
-
readonly CONFIG_INDEX: "src/lib/config/index.ts";
|
|
39
|
-
readonly CONSTANTS: "src/lib/config/constants.ts";
|
|
40
|
-
readonly APP_LOCALES: "src/lib/config/app-locales.ts";
|
|
41
|
-
readonly SEO_FILE: "src/lib/config/seo.ts";
|
|
42
|
-
readonly SITEMAP_FILE: "src/app/sitemap.ts";
|
|
43
|
-
readonly MIDDLEWARE: "src/middleware.ts";
|
|
44
|
-
readonly PROXY: "src/proxy.ts";
|
|
45
|
-
readonly I18N_TYPES: "src/types/i18n.ts";
|
|
46
|
-
readonly HTTP_UTILS: "src/lib/utils/http";
|
|
47
|
-
readonly HTTP_SHARED: "src/lib/utils/http/shared";
|
|
48
|
-
readonly HTTP_SERVER_FILE: "src/lib/utils/http/server.ts";
|
|
49
|
-
readonly HTTP_BUNDLE_SENTINEL_DIR: "src/lib/utils/http/__bundle-sentinel__";
|
|
50
|
-
readonly HTTP_BUNDLE_SENTINEL_FILE: "src/lib/utils/http/__bundle-sentinel__/client-bundle-sentinel.tsx";
|
|
51
|
-
readonly WS_UTILS: "src/lib/utils/ws";
|
|
52
|
-
readonly WS_SLICE_FILE: "src/store/slices/ws.slice.ts";
|
|
53
|
-
readonly ROOT_REDUCER: "src/store/rootReducer.ts";
|
|
54
|
-
readonly TEST_SETUP_FILE: "test/setup.ts";
|
|
55
|
-
readonly AXIOS_CLIENT: "src/lib/utils/http/axios-client";
|
|
56
|
-
readonly FETCH_CLIENT: "src/lib/utils/http/fetch-client";
|
|
57
|
-
readonly AXIOS_CLIENT_FILE: "src/lib/utils/http/axios-client/index.ts";
|
|
58
|
-
readonly FETCH_CLIENT_FILE: "src/lib/utils/http/fetch-client/index.ts";
|
|
59
|
-
readonly CLIENT_UTILS: "src/lib/utils/http/client-utils.ts";
|
|
60
|
-
readonly APP_APIS: "src/lib/config/app-apis.ts";
|
|
61
|
-
readonly API_URL_FILE: "src/lib/config/api-url.ts";
|
|
62
|
-
readonly STORAGE_SERVICE: "src/services/storage";
|
|
63
|
-
readonly COUNTER_FEATURE: "src/features/counter";
|
|
64
|
-
readonly I18N_DIR: "src/i18n";
|
|
65
|
-
readonly LOCALE_DIR: "src/app/[locale]";
|
|
66
|
-
readonly ERRORS_DIR: "src/lib/errors";
|
|
67
|
-
readonly UTILITY_TYPES_DIR: "src/types/utility";
|
|
68
|
-
readonly COMMON_TYPES_DIR: "src/types/common";
|
|
69
|
-
readonly HTTP_TYPES: "src/types/common/http.types.ts";
|
|
70
|
-
readonly GITHUB_DIR: ".github";
|
|
71
|
-
readonly HUSKY_DIR: ".husky";
|
|
72
|
-
readonly STORE_PROVIDER: "src/providers/StoreProvider.tsx";
|
|
73
|
-
readonly THEME_PROVIDER: "src/providers/CustomThemeProvider.tsx";
|
|
74
|
-
readonly COUNTER_COMPONENT: "src/features/counter/components/Counter.tsx";
|
|
75
|
-
readonly LOCALE_PAGE: "src/app/[locale]/page.tsx";
|
|
76
|
-
readonly LOCALE_LAYOUT: "src/app/[locale]/layout.tsx";
|
|
77
|
-
readonly COMMITLINT_CONFIG: "commitlint.config.mjs";
|
|
78
|
-
readonly LINTSTAGED_RC: ".lintstagedrc.mjs";
|
|
79
|
-
readonly CZRC: ".czrc";
|
|
80
|
-
readonly DOCKERIGNORE: ".dockerignore";
|
|
81
|
-
readonly DOCKERFILE: "Dockerfile";
|
|
82
|
-
readonly DOCKER_COMPOSE: "docker-compose.yml";
|
|
83
|
-
readonly GITHUB_WORKFLOWS: ".github/workflows";
|
|
84
|
-
readonly GITHUB_ISSUE_TEMPLATE: "ISSUE_TEMPLATE";
|
|
85
|
-
readonly GITHUB_PR_TEMPLATE: "PULL_REQUEST_TEMPLATE.md";
|
|
86
|
-
readonly CODE_OF_CONDUCT: "CODE_OF_CONDUCT.md";
|
|
87
|
-
readonly CONTRIBUTING: "CONTRIBUTING.md";
|
|
88
|
-
readonly SECURITY: "SECURITY.md";
|
|
89
|
-
readonly SCRIPTS_DIR: "scripts";
|
|
90
|
-
readonly DOCS_DIR: "docs";
|
|
91
|
-
readonly CLAUDE_DIR: ".claude";
|
|
92
|
-
readonly VSCODE_DIR: ".vscode";
|
|
93
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { type Options, type Ora } from 'ora';
|
|
2
|
-
export declare function startSpinner(text?: string, options?: Options): Ora;
|
|
3
|
-
export declare function stopSpinner(spinner: Ora): void;
|
|
4
|
-
export declare function succeedSpinner(spinner: Ora, text?: string): void;
|
|
5
|
-
export declare function failSpinner(spinner: Ora, text?: string): void;
|
|
6
|
-
export declare function withSpinner<T>(text: string, fn: () => Promise<T>, { successText, failText, options, }?: {
|
|
7
|
-
successText?: string;
|
|
8
|
-
failText?: string;
|
|
9
|
-
options?: Options;
|
|
10
|
-
}): Promise<T>;
|
|
11
|
-
export default startSpinner;
|
package/dist/src/core/files.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const readFile: (filePath: string) => Promise<string>;
|
|
2
|
-
export declare const writeFile: (filePath: string, content: string) => Promise<void>;
|
|
3
|
-
export declare const copyFile: (source: string, destination: string) => Promise<void>;
|
|
4
|
-
export declare const deleteFile: (filePath: string) => Promise<void>;
|
|
5
|
-
export declare const deleteDirectory: (dirPath: string) => Promise<void>;
|
|
6
|
-
export declare const updateJson: <T = any>(filePath: string, update: (json: T) => T) => Promise<void>;
|
|
7
|
-
export declare const fileExists: (filePath: string) => boolean;
|
package/dist/src/core/git.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validate a git remote URL/spec before use. Even though argv form already
|
|
3
|
-
* neutralizes injection, we reject obviously malformed values (and a leading
|
|
4
|
-
* `-` that git would treat as an option) for clear, early errors.
|
|
5
|
-
*/
|
|
6
|
-
export declare function assertValidRemote(remote: string): void;
|
|
7
|
-
export declare const initializeGit: (cwd: string, gitRemote?: string, pushToRemote?: boolean) => Promise<void>;
|
|
8
|
-
export declare const addRemote: (cwd: string, url: string) => Promise<void>;
|
|
9
|
-
export declare const isGitInstalled: () => Promise<boolean>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export type PackageManager = 'npm' | 'yarn' | 'pnpm' | 'bun';
|
|
2
|
-
export declare const installDependencies: (cwd: string, manager: PackageManager) => Promise<void>;
|
|
3
|
-
export declare const runScript: (cwd: string, manager: PackageManager, script: string) => Promise<void>;
|
|
4
|
-
export declare const getPackageManager: () => PackageManager;
|
|
5
|
-
export declare const detectPackageManager: (cwd: string) => Promise<PackageManager>;
|
|
6
|
-
export declare const installPackages: (cwd: string, manager: PackageManager, packages: string[]) => Promise<void>;
|
|
7
|
-
export declare const installPackage: (cwd: string, packageName: string) => Promise<void>;
|
|
8
|
-
export declare const installDevPackages: (cwd: string, manager: PackageManager, packages: string[]) => Promise<void>;
|
|
9
|
-
export declare const installDevPackage: (cwd: string, packageName: string) => Promise<void>;
|
|
10
|
-
export declare const uninstallPackages: (cwd: string, manager: PackageManager, packages: string[]) => Promise<void>;
|
|
11
|
-
export declare const uninstallPackage: (cwd: string, packageName: string) => Promise<void>;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Check if a directory exists at projectPath/basePath/name.
|
|
3
|
-
*/
|
|
4
|
-
export declare const directoryExists: (projectPath: string, name: string, basePath: string) => Promise<boolean>;
|
|
5
|
-
/**
|
|
6
|
-
* Check if a specific file exists at projectPath/basePath/fileName.
|
|
7
|
-
*/
|
|
8
|
-
export declare const fileExistsAt: (projectPath: string, basePath: string, fileName: string) => boolean;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface ProjectDetection {
|
|
2
|
-
hasRedux: boolean;
|
|
3
|
-
httpClient: 'axios' | 'fetch' | 'both' | 'none';
|
|
4
|
-
hasI18n: boolean;
|
|
5
|
-
hasTests: boolean;
|
|
6
|
-
/**
|
|
7
|
-
* `'present'` when both the `socket.io-client` dependency and the
|
|
8
|
-
* `src/lib/utils/ws/` directory exist. The dual signal mirrors httpClient
|
|
9
|
-
* — a stray dep without the directory (or vice-versa) is reported as
|
|
10
|
-
* `'none'` so doctor's "is this feature installed?" check stays honest.
|
|
11
|
-
*/
|
|
12
|
-
ws: 'none' | 'present';
|
|
13
|
-
}
|
|
14
|
-
export declare const detectProjectSetup: (projectPath: string) => Promise<ProjectDetection>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { FeatureGeneratorOptions } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Generate a complete feature module with component, hook, types,
|
|
4
|
-
* and optionally store (slice) and service sub-modules.
|
|
5
|
-
*/
|
|
6
|
-
export declare const generateFeature: (options: FeatureGeneratorOptions) => Promise<void>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type { ComponentGeneratorOptions } from './component.generator';
|
|
2
|
-
export { generateComponent } from './component.generator';
|
|
3
|
-
export { generateCrudService } from './crud-service.generator';
|
|
4
|
-
export { generateFeature } from './feature.generator';
|
|
5
|
-
export type { HookGeneratorOptions } from './hook.generator';
|
|
6
|
-
export { generateHook } from './hook.generator';
|
|
7
|
-
export type { LayoutGeneratorOptions, LayoutGeneratorResult, } from './layout.generator';
|
|
8
|
-
export { generateLayout } from './layout.generator';
|
|
9
|
-
export type { LocaleGeneratorOptions } from './locale.generator';
|
|
10
|
-
export { generateLocale } from './locale.generator';
|
|
11
|
-
export type { PageGeneratorOptions } from './page.generator';
|
|
12
|
-
export { generatePage } from './page.generator';
|
|
13
|
-
export type { ProviderGeneratorOptions, ProviderGeneratorResult, } from './provider.generator';
|
|
14
|
-
export { generateProvider } from './provider.generator';
|
|
15
|
-
export { generateService } from './service.generator';
|
|
16
|
-
export { generateSlice } from './slice.generator';
|
|
17
|
-
export type { GenerateTestOptions, TestKind } from './test.generator';
|
|
18
|
-
export { generateTest } from './test.generator';
|
|
19
|
-
export type { FeatureGeneratorOptions, ServiceGeneratorOptions, SliceGeneratorOptions, } from './types';
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface LayoutGeneratorOptions {
|
|
2
|
-
/**
|
|
3
|
-
* The leaf segment for the layout, e.g. `dashboard` or `marketing`. Route
|
|
4
|
-
* groups are expressed via `withGroup: true` rather than encoding parens
|
|
5
|
-
* into the segment string — keeps validation simple.
|
|
6
|
-
*/
|
|
7
|
-
segment: string;
|
|
8
|
-
/** Optional path under the locale root, e.g. `dashboard/settings`. The leaf becomes the layout. */
|
|
9
|
-
at?: string;
|
|
10
|
-
projectPath: string;
|
|
11
|
-
hasI18n: boolean;
|
|
12
|
-
/** Wraps the leaf segment in parens to form a route group `(marketing)`. */
|
|
13
|
-
withGroup: boolean;
|
|
14
|
-
}
|
|
15
|
-
export interface LayoutGeneratorResult {
|
|
16
|
-
layoutFile: string;
|
|
17
|
-
/** Display path for logging, e.g. `src/app/[locale]/(marketing)/layout.tsx`. */
|
|
18
|
-
displayPath: string;
|
|
19
|
-
componentName: string;
|
|
20
|
-
}
|
|
21
|
-
export declare const generateLayout: (options: LayoutGeneratorOptions) => Promise<LayoutGeneratorResult>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export interface ProviderGeneratorOptions {
|
|
2
|
-
/** Kebab-case or PascalCase base name (e.g. `auth` or `Auth`). */
|
|
3
|
-
name: string;
|
|
4
|
-
projectPath: string;
|
|
5
|
-
}
|
|
6
|
-
export interface ProviderGeneratorResult {
|
|
7
|
-
componentName: string;
|
|
8
|
-
/** Filename without extension, e.g. `AuthProvider`. */
|
|
9
|
-
fileBaseName: string;
|
|
10
|
-
/** Absolute path to the generated provider file. */
|
|
11
|
-
providerFile: string;
|
|
12
|
-
}
|
|
13
|
-
export declare const generateProvider: (options: ProviderGeneratorOptions) => Promise<ProviderGeneratorResult>;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { SliceGeneratorOptions } from './types';
|
|
2
|
-
/**
|
|
3
|
-
* Generate a complete Redux slice with types, selectors, optional persist, and barrel export.
|
|
4
|
-
*
|
|
5
|
-
* Used by both the `slice` command (standalone) and the `feature` command (embedded in feature/store/).
|
|
6
|
-
* The `typesImportPath` controls whether types are imported from `../types/` (feature) or `./` (standalone).
|
|
7
|
-
*/
|
|
8
|
-
export declare const generateSlice: (options: SliceGeneratorOptions & {
|
|
9
|
-
typesImportPath?: string;
|
|
10
|
-
}) => Promise<void>;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const sliceBarrelTemplate: (params: {
|
|
2
|
-
sliceName: string;
|
|
3
|
-
withPersist: boolean;
|
|
4
|
-
}) => string;
|
|
5
|
-
export declare const featureBarrelTemplate: (params: {
|
|
6
|
-
featureName: string;
|
|
7
|
-
componentName: string;
|
|
8
|
-
hookName: string;
|
|
9
|
-
withStore: boolean;
|
|
10
|
-
withService: boolean;
|
|
11
|
-
}) => string;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Templates for the `layout` generator (B2). Nested layouts only — the root
|
|
3
|
-
* layout is owned by the starter and is too heavy (fonts, providers, html/body)
|
|
4
|
-
* to scaffold from a CLI.
|
|
5
|
-
*/
|
|
6
|
-
export interface LayoutTemplateParams {
|
|
7
|
-
/** PascalCase component name (e.g. `DashboardLayout`). */
|
|
8
|
-
componentName: string;
|
|
9
|
-
/** True when the layout sits under `src/app/[locale]/...` and should consume the locale param. */
|
|
10
|
-
hasI18n: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const layoutTemplate: ({ componentName, hasI18n }: LayoutTemplateParams) => string;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export declare const pageTemplate: (params: {
|
|
2
|
-
componentName: string;
|
|
3
|
-
routePath: string;
|
|
4
|
-
hasI18n: boolean;
|
|
5
|
-
}) => string;
|
|
6
|
-
export declare const dynamicPageTemplate: (params: {
|
|
7
|
-
componentName: string;
|
|
8
|
-
routePath: string;
|
|
9
|
-
paramName: string;
|
|
10
|
-
hasI18n: boolean;
|
|
11
|
-
}) => string;
|
|
12
|
-
export declare const loadingTemplate: (params: {
|
|
13
|
-
componentName: string;
|
|
14
|
-
}) => string;
|
|
15
|
-
export declare const errorTemplate: (params: {
|
|
16
|
-
componentName: string;
|
|
17
|
-
}) => string;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Templates for the `provider` generator (B3). Generates a context-based
|
|
3
|
-
* provider — the most common use case. Users who only need a thin wrapper
|
|
4
|
-
* around an external `<XxxProvider>` can delete the context boilerplate.
|
|
5
|
-
*/
|
|
6
|
-
export interface ProviderTemplateParams {
|
|
7
|
-
/** PascalCase base name (e.g. `Auth`). The template appends `Provider` for the component and `useX` for the hook. */
|
|
8
|
-
baseName: string;
|
|
9
|
-
}
|
|
10
|
-
export declare const providerTemplate: ({ baseName }: ProviderTemplateParams) => string;
|
|
11
|
-
export declare const providerComponentName: (baseName: string) => string;
|