@ng-annotate/angular 0.1.1 → 0.1.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-annotate/angular",
3
- "version": "0.1.1",
3
+ "version": "0.1.4",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "repository": {
6
6
  "type": "git",
@@ -71,14 +71,20 @@ function addProviders() {
71
71
  }
72
72
  function addMcpConfig() {
73
73
  return (tree, context) => {
74
- // .mcp.json Claude Code (needs cmd /c on Windows to spawn npx.cmd)
74
+ // The project root at ng-add time used to build stable absolute paths.
75
+ // MCP hosts (VS Code Copilot, Claude Code) may spawn the server with a
76
+ // different cwd, so we bake in the paths rather than relying on cwd.
77
+ const projectRoot = process.cwd().replace(/\\/g, '/');
78
+ const serverEntry = `${projectRoot}/node_modules/@ng-annotate/mcp-server/dist/index.js`;
79
+ const env = { NG_ANNOTATE_PROJECT_ROOT: projectRoot };
80
+ // .mcp.json — Claude Code
75
81
  if (!tree.exists('.mcp.json')) {
76
82
  const isWindows = process.platform === 'win32';
77
83
  const mcpConfig = {
78
84
  mcpServers: {
79
85
  'ng-annotate': isWindows
80
- ? { command: 'cmd', args: ['/c', 'npx', '@ng-annotate/mcp-server'] }
81
- : { command: 'npx', args: ['@ng-annotate/mcp-server'] },
86
+ ? { command: 'cmd', args: ['/c', 'node', serverEntry], env }
87
+ : { command: 'node', args: [serverEntry], env },
82
88
  },
83
89
  };
84
90
  tree.create('.mcp.json', JSON.stringify(mcpConfig, null, 2) + '\n');
@@ -87,15 +93,16 @@ function addMcpConfig() {
87
93
  else {
88
94
  context.logger.info('.mcp.json already exists, skipping.');
89
95
  }
90
- // .vscode/mcp.json — VS Code Copilot (spawns npx.cmd natively on Windows)
96
+ // .vscode/mcp.json — VS Code Copilot
91
97
  const vscodeMcpPath = '.vscode/mcp.json';
92
98
  if (!tree.exists(vscodeMcpPath)) {
93
99
  const vscodeMcpConfig = {
94
100
  servers: {
95
101
  'ng-annotate': {
96
102
  type: 'stdio',
97
- command: 'npx',
98
- args: ['@ng-annotate/mcp-server'],
103
+ command: 'node',
104
+ args: [serverEntry],
105
+ env,
99
106
  },
100
107
  },
101
108
  };
@@ -133,7 +140,7 @@ function addDevDependency() {
133
140
  }
134
141
  function default_1() {
135
142
  return (tree, context) => {
136
- context.logger.info('Setting up @ng-annotate/vite-plugin...');
143
+ context.logger.info('Setting up @ng-annotate...');
137
144
  return (0, schematics_1.chain)([checkAngularVersion(), addDevDependency(), addVitePlugin(), addProviders(), addMcpConfig()])(tree, context);
138
145
  };
139
146
  }
@@ -102,14 +102,21 @@ function addProviders(): Rule {
102
102
 
103
103
  function addMcpConfig(): Rule {
104
104
  return (tree: Tree, context: SchematicContext) => {
105
- // .mcp.json Claude Code (needs cmd /c on Windows to spawn npx.cmd)
105
+ // The project root at ng-add time used to build stable absolute paths.
106
+ // MCP hosts (VS Code Copilot, Claude Code) may spawn the server with a
107
+ // different cwd, so we bake in the paths rather than relying on cwd.
108
+ const projectRoot = process.cwd().replace(/\\/g, '/');
109
+ const serverEntry = `${projectRoot}/node_modules/@ng-annotate/mcp-server/dist/index.js`;
110
+ const env = { NG_ANNOTATE_PROJECT_ROOT: projectRoot };
111
+
112
+ // .mcp.json — Claude Code
106
113
  if (!tree.exists('.mcp.json')) {
107
114
  const isWindows = process.platform === 'win32';
108
115
  const mcpConfig = {
109
116
  mcpServers: {
110
117
  'ng-annotate': isWindows
111
- ? { command: 'cmd', args: ['/c', 'npx', '@ng-annotate/mcp-server'] }
112
- : { command: 'npx', args: ['@ng-annotate/mcp-server'] },
118
+ ? { command: 'cmd', args: ['/c', 'node', serverEntry], env }
119
+ : { command: 'node', args: [serverEntry], env },
113
120
  },
114
121
  };
115
122
  tree.create('.mcp.json', JSON.stringify(mcpConfig, null, 2) + '\n');
@@ -118,15 +125,16 @@ function addMcpConfig(): Rule {
118
125
  context.logger.info('.mcp.json already exists, skipping.');
119
126
  }
120
127
 
121
- // .vscode/mcp.json — VS Code Copilot (spawns npx.cmd natively on Windows)
128
+ // .vscode/mcp.json — VS Code Copilot
122
129
  const vscodeMcpPath = '.vscode/mcp.json';
123
130
  if (!tree.exists(vscodeMcpPath)) {
124
131
  const vscodeMcpConfig = {
125
132
  servers: {
126
133
  'ng-annotate': {
127
134
  type: 'stdio',
128
- command: 'npx',
129
- args: ['@ng-annotate/mcp-server'],
135
+ command: 'node',
136
+ args: [serverEntry],
137
+ env,
130
138
  },
131
139
  },
132
140
  };
@@ -172,7 +180,7 @@ function addDevDependency(): Rule {
172
180
 
173
181
  export default function (): Rule {
174
182
  return (tree: Tree, context: SchematicContext) => {
175
- context.logger.info('Setting up @ng-annotate/vite-plugin...');
183
+ context.logger.info('Setting up @ng-annotate...');
176
184
  return chain([checkAngularVersion(), addDevDependency(), addVitePlugin(), addProviders(), addMcpConfig()])(
177
185
  tree,
178
186
  context,