linkModelsToProjects method

Future<void> linkModelsToProjects()

Link models package to other projects by adding path dependency

Implementation

Future<void> linkModelsToProjects() async {
  if (!config.createModels) return;

  info('Linking models package to other projects...');

  final String modelsPath = '../${config.modelsPackageName}';

  // Link to main app (use webPackageName for Jaspr templates)
  final String mainAppDir = config.template.isJasprApp
      ? config.webPackageName
      : config.appName;
  final File appPubspec = File(
    p.join(config.outputDir, mainAppDir, 'pubspec.yaml'),
  );
  await _addPathDependency(appPubspec, config.modelsPackageName, modelsPath);

  // Link to server
  if (config.createServer) {
    final File serverPubspec = File(
      p.join(config.outputDir, config.serverPackageName, 'pubspec.yaml'),
    );
    await _addPathDependency(
      serverPubspec,
      config.modelsPackageName,
      modelsPath,
    );
  }

  success('Models package linked to projects');
}