betterstart-cli 0.0.16 → 0.0.17

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.
@@ -91,12 +91,17 @@ export interface PaginatedResponse<T> {
91
91
  totalPages: number
92
92
  }
93
93
 
94
+ type TableRowId<TData extends import('@tanstack/react-table').RowData> = TData extends {
95
+ id: infer TId
96
+ }
97
+ ? TId
98
+ : string
99
+
94
100
  /** TanStack Table meta augmentation */
95
101
  declare module '@tanstack/react-table' {
96
- // biome-ignore lint/correctness/noUnusedVariables: augmenting module
97
102
  interface TableMeta<TData extends import('@tanstack/react-table').RowData> {
98
103
  reorderMode?: boolean
99
- onMoveRow?: (id: string, direction: 'up' | 'down') => void
104
+ onMoveRow?: (id: TableRowId<TData>, direction: 'up' | 'down') => void
100
105
  currentUser?: {
101
106
  id: string
102
107
  email: string
@@ -4,6 +4,7 @@ export const REACT_ADMIN_DEPS = [
4
4
  '@codemirror/lang-javascript',
5
5
  '@codemirror/lang-json',
6
6
  '@codemirror/lang-markdown',
7
+ '@codemirror/state',
7
8
  '@codemirror/view',
8
9
  '@dnd-kit/core',
9
10
  '@dnd-kit/sortable',
@@ -2,13 +2,13 @@
2
2
 
3
3
  import { cn } from '@admin/utils/shared/cn'
4
4
  import * as React from 'react'
5
- import type { TooltipValueType } from 'recharts'
6
5
  import * as RechartsPrimitive from 'recharts'
7
6
 
8
7
  // Format: { THEME_NAME: CSS_SELECTOR }
9
8
  const THEMES = { light: '', dark: '.dark' } as const
10
9
 
11
10
  const INITIAL_DIMENSION = { width: 320, height: 200 } as const
11
+ type TooltipValueType = number | string | ReadonlyArray<number | string>
12
12
  type TooltipNameType = number | string
13
13
 
14
14
  export type ChartConfig = Record<
package/dist/cli.js CHANGED
@@ -895,6 +895,7 @@ var REACT_ADMIN_DEPS = [
895
895
  "@codemirror/lang-javascript",
896
896
  "@codemirror/lang-json",
897
897
  "@codemirror/lang-markdown",
898
+ "@codemirror/state",
898
899
  "@codemirror/view",
899
900
  "@dnd-kit/core",
900
901
  "@dnd-kit/sortable",
@@ -965,6 +966,18 @@ var REACT_ADMIN_DEV_DEPS = ["@tailwindcss/typography"];
965
966
  // adapters/next/init/scaffolders/dependencies.ts
966
967
  var CLI_PACKAGE_NAME = "betterstart-cli";
967
968
  var LOCAL_PACKAGE_PREFIXES = ["workspace:", "link:", "file:", "portal:"];
969
+ var TIPTAP_PACKAGE_PREFIX = "@tiptap/";
970
+ var TIPTAP_PACKAGE_VERSION_SPEC = "^3.26.0";
971
+ var CODEMIRROR_PACKAGE_SPECS = {
972
+ "@codemirror/commands": "^6.10.3",
973
+ "@codemirror/lang-javascript": "^6.2.5",
974
+ "@codemirror/lang-json": "^6.0.2",
975
+ "@codemirror/lang-markdown": "^6.5.0",
976
+ "@codemirror/state": "^6.6.0",
977
+ "@codemirror/view": "^6.43.0",
978
+ "@uiw/codemirror-theme-github": "^4.25.10",
979
+ "@uiw/react-codemirror": "^4.25.10"
980
+ };
968
981
  var requireFromCli = createRequire(import.meta.url);
969
982
  var PNPM_PACKAGE_EXTENSION_DEFINITIONS = [
970
983
  {
@@ -1059,6 +1072,70 @@ function hasDeclaredPackage(pkg, name) {
1059
1072
  if (!pkg) return false;
1060
1073
  return Object.hasOwn(pkg.dependencies ?? {}, name) || Object.hasOwn(pkg.devDependencies ?? {}, name) || Object.hasOwn(pkg.optionalDependencies ?? {}, name);
1061
1074
  }
1075
+ function getDeclaredRuntimePackageNames(pkg) {
1076
+ if (!pkg) return [];
1077
+ return Object.keys({
1078
+ ...pkg.dependencies ?? {},
1079
+ ...pkg.optionalDependencies ?? {}
1080
+ });
1081
+ }
1082
+ function getDeclaredDevPackageNames(pkg) {
1083
+ if (!pkg) return [];
1084
+ return Object.keys(pkg.devDependencies ?? {}).filter(
1085
+ (name) => !Object.hasOwn(pkg.dependencies ?? {}, name)
1086
+ );
1087
+ }
1088
+ function isTiptapPackageName(name) {
1089
+ return name.startsWith(TIPTAP_PACKAGE_PREFIX);
1090
+ }
1091
+ function getAlignedPackageSpec(name) {
1092
+ if (isTiptapPackageName(name)) {
1093
+ return `${name}@${TIPTAP_PACKAGE_VERSION_SPEC}`;
1094
+ }
1095
+ const versionSpec = CODEMIRROR_PACKAGE_SPECS[name];
1096
+ return versionSpec ? `${name}@${versionSpec}` : null;
1097
+ }
1098
+ function hasAlignedPackageSpec(spec) {
1099
+ return getAlignedPackageSpec(packageNameFromSpec(spec)) !== null;
1100
+ }
1101
+ function alignDependencySpecs(dependencies) {
1102
+ return dependencies.map((dependency) => {
1103
+ const name = packageNameFromSpec(dependency);
1104
+ return getAlignedPackageSpec(name) ?? dependency;
1105
+ });
1106
+ }
1107
+ function getAlignedDeclaredDependencies(packageNames) {
1108
+ return packageNames.flatMap((name) => {
1109
+ const alignedSpec = getAlignedPackageSpec(name);
1110
+ return alignedSpec ? [alignedSpec] : [];
1111
+ });
1112
+ }
1113
+ function resolveDependencyInstallPlan(options) {
1114
+ const pkg = readProjectPackageJson(options.cwd);
1115
+ const dependencies = alignDependencySpecs(options.dependencies);
1116
+ const devDependencies = alignDependencySpecs(options.devDependencies);
1117
+ const needsPackageAlignment = [...options.dependencies, ...options.devDependencies].some(
1118
+ hasAlignedPackageSpec
1119
+ );
1120
+ if (!needsPackageAlignment) {
1121
+ return {
1122
+ ...options,
1123
+ dependencies: unique(dependencies),
1124
+ devDependencies: unique(devDependencies)
1125
+ };
1126
+ }
1127
+ return {
1128
+ ...options,
1129
+ dependencies: unique([
1130
+ ...dependencies,
1131
+ ...getAlignedDeclaredDependencies(getDeclaredRuntimePackageNames(pkg))
1132
+ ]),
1133
+ devDependencies: unique([
1134
+ ...devDependencies,
1135
+ ...getAlignedDeclaredDependencies(getDeclaredDevPackageNames(pkg))
1136
+ ])
1137
+ };
1138
+ }
1062
1139
  function canResolveFromProject(cwd, name) {
1063
1140
  try {
1064
1141
  requireFromCli.resolve(name, { paths: [cwd] });
@@ -1198,21 +1275,27 @@ async function installDependenciesAsync({
1198
1275
  dependencies,
1199
1276
  devDependencies
1200
1277
  }) {
1278
+ const installPlan = resolveDependencyInstallPlan({ cwd, pm, dependencies, devDependencies });
1201
1279
  try {
1202
1280
  if (pm === "pnpm") {
1203
- ensurePnpmPackageExtensions(cwd, dependencies);
1281
+ ensurePnpmPackageExtensions(cwd, installPlan.dependencies);
1204
1282
  }
1205
- if (dependencies.length > 0) {
1206
- await spawnAsync(pm, buildAddArgs(pm, dependencies, false), cwd);
1283
+ if (installPlan.dependencies.length > 0) {
1284
+ await spawnAsync(pm, buildAddArgs(pm, installPlan.dependencies, false), cwd);
1207
1285
  }
1208
- if (devDependencies.length > 0) {
1209
- await spawnAsync(pm, buildAddArgs(pm, devDependencies, true), cwd);
1286
+ if (installPlan.devDependencies.length > 0) {
1287
+ await spawnAsync(pm, buildAddArgs(pm, installPlan.devDependencies, true), cwd);
1210
1288
  }
1211
- return { dependencies, devDeps: devDependencies, success: true, error: null };
1289
+ return {
1290
+ dependencies: installPlan.dependencies,
1291
+ devDeps: installPlan.devDependencies,
1292
+ success: true,
1293
+ error: null
1294
+ };
1212
1295
  } catch (err) {
1213
1296
  return {
1214
- dependencies,
1215
- devDeps: devDependencies,
1297
+ dependencies: installPlan.dependencies,
1298
+ devDeps: installPlan.devDependencies,
1216
1299
  success: false,
1217
1300
  error: err instanceof Error ? err.message : "Install failed"
1218
1301
  };
@@ -24970,6 +25053,7 @@ var CODEMIRROR_PACKAGE_DEPS = [
24970
25053
  "@codemirror/lang-javascript",
24971
25054
  "@codemirror/lang-json",
24972
25055
  "@codemirror/lang-markdown",
25056
+ "@codemirror/state",
24973
25057
  "@codemirror/view",
24974
25058
  "@uiw/codemirror-theme-github",
24975
25059
  "@uiw/react-codemirror"