@norrix/cli 0.0.24 → 0.0.25

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.
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Norrix Configuration File Support
3
+ *
4
+ * Provides strongly-typed configuration for NativeScript projects using Norrix.
5
+ * Configuration can be defined in `norrix.config.ts` or `norrix.config.js` at the project root.
6
+ */
7
+ import * as fs from 'fs';
8
+ import * as path from 'path';
9
+ import { pathToFileURL } from 'url';
10
+ /**
11
+ * Helper function for defining Norrix configuration with full TypeScript support.
12
+ * Use this in your `norrix.config.ts` file for IntelliSense and type checking.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * import { defineConfig } from '@norrix/cli';
17
+ *
18
+ * export default defineConfig({
19
+ * ios: {
20
+ * teamId: 'ABC123XYZ0',
21
+ * distributionType: 'enterprise',
22
+ * },
23
+ * android: {
24
+ * keystorePath: './signing/release.keystore',
25
+ * keyAlias: 'my-app-key',
26
+ * },
27
+ * });
28
+ * ```
29
+ */
30
+ export function defineConfig(config) {
31
+ return config;
32
+ }
33
+ /**
34
+ * Cached config to avoid re-reading from disk
35
+ */
36
+ let cachedConfig = null;
37
+ let cachedConfigPath = null;
38
+ /**
39
+ * Load Norrix configuration from the project root.
40
+ * Looks for `norrix.config.ts`, `norrix.config.js`, or `norrix.config.mjs`.
41
+ *
42
+ * @param projectRoot - The root directory of the NativeScript project
43
+ * @returns The loaded configuration, or an empty object if no config file exists
44
+ */
45
+ export async function loadNorrixConfig(projectRoot) {
46
+ // Return cached config if we're in the same project
47
+ if (cachedConfig && cachedConfigPath === projectRoot) {
48
+ return cachedConfig;
49
+ }
50
+ const configNames = [
51
+ 'norrix.config.ts',
52
+ 'norrix.config.js',
53
+ 'norrix.config.mjs',
54
+ 'norrix.config.cjs',
55
+ ];
56
+ for (const configName of configNames) {
57
+ const configPath = path.join(projectRoot, configName);
58
+ if (!fs.existsSync(configPath)) {
59
+ continue;
60
+ }
61
+ try {
62
+ // For TypeScript files, we need to use dynamic import with tsx or ts-node
63
+ // For now, we'll handle .js/.mjs files directly and .ts files need compilation
64
+ if (configName.endsWith('.ts')) {
65
+ // Try to load as ESM with tsx loader (if available)
66
+ // Fall back to reading and parsing if tsx is not available
67
+ const config = await loadTypeScriptConfig(configPath);
68
+ if (config) {
69
+ cachedConfig = config;
70
+ cachedConfigPath = projectRoot;
71
+ return config;
72
+ }
73
+ }
74
+ else {
75
+ // Load JS/MJS files directly
76
+ const fileUrl = pathToFileURL(configPath).href;
77
+ const module = await import(fileUrl);
78
+ const config = module.default || module;
79
+ cachedConfig = config;
80
+ cachedConfigPath = projectRoot;
81
+ return config;
82
+ }
83
+ }
84
+ catch (error) {
85
+ // Log but don't fail - config file is optional
86
+ console.warn(`Warning: Failed to load ${configName}: ${error.message}`);
87
+ }
88
+ }
89
+ // No config file found - return empty config
90
+ cachedConfig = {};
91
+ cachedConfigPath = projectRoot;
92
+ return {};
93
+ }
94
+ /**
95
+ * Attempt to load a TypeScript config file.
96
+ * Since Node.js can't natively import .ts files, we parse the file manually.
97
+ * This handles simple config objects with literal values.
98
+ */
99
+ async function loadTypeScriptConfig(configPath) {
100
+ // Parse the TypeScript config file manually (Node.js can't import .ts directly)
101
+ try {
102
+ const content = fs.readFileSync(configPath, 'utf8');
103
+ // Remove import statements and type annotations
104
+ let cleanContent = content
105
+ // Remove import statements
106
+ .replace(/^import\s+.*?;?\s*$/gm, '')
107
+ // Remove 'satisfies Type' expressions
108
+ .replace(/\s+satisfies\s+\w+/g, '')
109
+ // Remove 'as const' expressions
110
+ .replace(/\s+as\s+const/g, '');
111
+ // Extract the config object - look for export default { ... }
112
+ const configMatch = cleanContent.match(/export\s+default\s+(\{[\s\S]*?\})\s*;?\s*$/m);
113
+ if (configMatch) {
114
+ const configStr = configMatch[1];
115
+ // Try to parse as JSON5-ish (allows trailing commas, unquoted keys)
116
+ // This is a simple approach - for complex configs, tsx should be used
117
+ const config = new Function(`return ${configStr}`)();
118
+ return config;
119
+ }
120
+ }
121
+ catch {
122
+ // Manual parsing failed
123
+ }
124
+ return null;
125
+ }
126
+ /**
127
+ * Clear the cached configuration.
128
+ * Useful when switching projects or after config file changes.
129
+ */
130
+ export function clearConfigCache() {
131
+ cachedConfig = null;
132
+ cachedConfigPath = null;
133
+ }
134
+ /**
135
+ * Check if a Norrix config file exists in the project.
136
+ */
137
+ export function hasNorrixConfig(projectRoot) {
138
+ const configNames = [
139
+ 'norrix.config.ts',
140
+ 'norrix.config.js',
141
+ 'norrix.config.mjs',
142
+ 'norrix.config.cjs',
143
+ ];
144
+ return configNames.some((name) => fs.existsSync(path.join(projectRoot, name)));
145
+ }
146
+ /**
147
+ * Generate a norrix.config.ts file content from collected options.
148
+ */
149
+ export function generateConfigContent(options) {
150
+ const lines = [
151
+ `import type { NorrixConfig } from '@norrix/cli';`,
152
+ ``,
153
+ `/**`,
154
+ ` * Norrix CLI Configuration`,
155
+ ` * Generated by norrix build command`,
156
+ ` * `,
157
+ ` * For more options, see: https://norrix.net/docs/configuration`,
158
+ ` */`,
159
+ `export default {`,
160
+ ];
161
+ // iOS config
162
+ const hasIosConfig = options.teamId || options.distributionType || options.p12Path || options.provisioningProfilePath;
163
+ if (hasIosConfig) {
164
+ lines.push(` ios: {`);
165
+ if (options.teamId) {
166
+ lines.push(` teamId: '${options.teamId}',`);
167
+ }
168
+ if (options.distributionType) {
169
+ lines.push(` distributionType: '${options.distributionType}',`);
170
+ }
171
+ if (options.p12Path) {
172
+ lines.push(` p12Path: '${options.p12Path}',`);
173
+ }
174
+ if (options.provisioningProfilePath) {
175
+ lines.push(` provisioningProfilePath: '${options.provisioningProfilePath}',`);
176
+ }
177
+ lines.push(` },`);
178
+ }
179
+ // Android config
180
+ const hasAndroidConfig = options.keystorePath || options.keyAlias;
181
+ if (hasAndroidConfig) {
182
+ lines.push(` android: {`);
183
+ if (options.keystorePath) {
184
+ lines.push(` keystorePath: '${options.keystorePath}',`);
185
+ }
186
+ if (options.keyAlias) {
187
+ lines.push(` keyAlias: '${options.keyAlias}',`);
188
+ }
189
+ lines.push(` },`);
190
+ }
191
+ // Default platform if provided
192
+ if (options.platform) {
193
+ lines.push(` defaultPlatform: '${options.platform}',`);
194
+ }
195
+ lines.push(`} satisfies NorrixConfig;`);
196
+ lines.push(``);
197
+ return lines.join('\n');
198
+ }
199
+ /**
200
+ * Save a norrix.config.ts file to the project root.
201
+ */
202
+ export function saveNorrixConfig(projectRoot, options) {
203
+ const configPath = path.join(projectRoot, 'norrix.config.ts');
204
+ const content = generateConfigContent(options);
205
+ fs.writeFileSync(configPath, content, 'utf8');
206
+ // Clear cache so next load picks up new file
207
+ clearConfigCache();
208
+ return configPath;
209
+ }
210
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ export interface FingerprintSnapshot {
5
5
  nativePlugins: Record<string, string>;
6
6
  appResourcesHash?: string;
7
7
  nativeSourcesHash?: string;
8
+ /** Workspace type if detected (nx or standalone) */
9
+ workspaceType?: 'nx' | 'standalone';
10
+ /** Relative path to app within workspace */
11
+ workspaceAppPath?: string;
8
12
  }
9
13
  export interface FingerprintResult extends FingerprintSnapshot {
10
14
  hash: string;
@@ -13,5 +17,9 @@ export declare function computeFingerprint(options?: {
13
17
  projectRoot?: string;
14
18
  platform?: string;
15
19
  appId?: string;
20
+ /** Workspace type (nx or standalone) */
21
+ workspaceType?: 'nx' | 'standalone';
22
+ /** Relative path to app within workspace */
23
+ workspaceAppPath?: string;
16
24
  }): FingerprintResult;
17
25
  export declare function writeRuntimeFingerprintFile(projectRoot: string, fingerprint: FingerprintResult, _platform?: string): string | undefined;
@@ -219,8 +219,11 @@ export function computeFingerprint(options = {}) {
219
219
  nativePlugins,
220
220
  appResourcesHash,
221
221
  nativeSourcesHash,
222
+ workspaceType: options.workspaceType,
223
+ workspaceAppPath: options.workspaceAppPath,
222
224
  };
223
- // Hash only the stable native-layer inputs, not metadata like createdAt.
225
+ // Hash only the stable native-layer inputs, not metadata like createdAt or workspace info.
226
+ // Workspace info is metadata and shouldn't affect the native fingerprint.
224
227
  const hash = hashObjectStable({
225
228
  nativePlugins,
226
229
  appResourcesHash: appResourcesHash ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprinting.js","sourceRoot":"","sources":["../../src/lib/fingerprinting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprinting.js","sourceRoot":"","sources":["../../src/lib/fingerprinting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Nx Workspace Detection and Integration
3
+ *
4
+ * Provides utilities for detecting Nx workspaces, querying project dependencies,
5
+ * and managing workspace-aware builds for monorepo setups.
6
+ */
7
+ export interface WorkspaceContext {
8
+ /** Type of workspace detected */
9
+ type: 'nx' | 'standalone';
10
+ /** Absolute path to the workspace/monorepo root */
11
+ workspaceRoot: string;
12
+ /** Absolute path to the NativeScript app */
13
+ appRoot: string;
14
+ /** Relative path from workspace root to app (e.g., "apps/safety/nativescript-safety") */
15
+ relativeAppPath: string;
16
+ /** Nx project name (from project.json) */
17
+ projectName?: string;
18
+ /** Path mappings from tsconfig.base.json */
19
+ pathMappings?: Record<string, string[]>;
20
+ }
21
+ export interface NxProjectGraph {
22
+ graph: {
23
+ nodes: Record<string, NxProjectNode>;
24
+ dependencies: Record<string, NxDependency[]>;
25
+ };
26
+ }
27
+ export interface NxProjectNode {
28
+ name: string;
29
+ type: 'app' | 'lib' | 'e2e';
30
+ data: {
31
+ root: string;
32
+ sourceRoot?: string;
33
+ projectType?: string;
34
+ targets?: Record<string, unknown>;
35
+ };
36
+ }
37
+ export interface NxDependency {
38
+ source: string;
39
+ target: string;
40
+ type: 'static' | 'implicit' | 'dynamic';
41
+ }
42
+ export interface NxProjectInfo {
43
+ name: string;
44
+ root: string;
45
+ sourceRoot?: string;
46
+ projectType?: string;
47
+ targets?: Record<string, unknown>;
48
+ implicitDependencies?: string[];
49
+ tags?: string[];
50
+ }
51
+ export interface WorkspaceDependencies {
52
+ /** Relative paths to lib directories that the app depends on */
53
+ libPaths: string[];
54
+ /** Root config files to include */
55
+ rootConfigs: string[];
56
+ /** Tool directories to include */
57
+ toolPaths: string[];
58
+ /** Asset paths referenced by the app */
59
+ assetPaths: string[];
60
+ }
61
+ /**
62
+ * Detect the workspace context from the current working directory.
63
+ * Walks up the directory tree looking for nx.json to identify Nx workspaces.
64
+ */
65
+ export declare function detectWorkspaceContext(appRoot?: string): WorkspaceContext;
66
+ /**
67
+ * Query Nx for the project dependency graph.
68
+ * Returns the list of lib paths that the specified project depends on.
69
+ */
70
+ export declare function getNxProjectDependencies(projectName: string, workspaceRoot: string, verbose?: boolean): WorkspaceDependencies | undefined;
71
+ /**
72
+ * Get project info using nx show project command
73
+ */
74
+ export declare function getNxProjectInfo(projectName: string, workspaceRoot: string, verbose?: boolean): NxProjectInfo | undefined;
75
+ /**
76
+ * Fallback: Parse tsconfig.base.json paths and scan source files
77
+ * to determine which libs are actually used.
78
+ */
79
+ export declare function getWorkspaceDependenciesFallback(workspaceCtx: WorkspaceContext, verbose?: boolean): WorkspaceDependencies;
80
+ /**
81
+ * Create the manifest file content for CI
82
+ */
83
+ export interface WorkspaceManifest {
84
+ version: string;
85
+ createdAt: string;
86
+ workspaceType: 'nx' | 'standalone';
87
+ appPath: string;
88
+ projectName?: string;
89
+ dependencies?: WorkspaceDependencies;
90
+ }
91
+ export declare function createWorkspaceManifest(workspaceCtx: WorkspaceContext, deps?: WorkspaceDependencies): WorkspaceManifest;
92
+ /**
93
+ * Log workspace context information
94
+ */
95
+ export declare function logWorkspaceContext(ctx: WorkspaceContext, verbose?: boolean): void;
96
+ /**
97
+ * Represents a discovered NativeScript app in the workspace
98
+ */
99
+ export interface DiscoveredApp {
100
+ /** Nx project name (from project.json) */
101
+ name: string;
102
+ /** Relative path from workspace root */
103
+ path: string;
104
+ /** Absolute path to the app */
105
+ absolutePath: string;
106
+ }
107
+ /**
108
+ * Check if the current directory is at the root of an Nx workspace
109
+ * (has nx.json but no nativescript.config.ts)
110
+ */
111
+ export declare function isAtWorkspaceRoot(): boolean;
112
+ /**
113
+ * Discover all NativeScript apps within an Nx workspace.
114
+ * Looks for directories containing nativescript.config.ts files.
115
+ */
116
+ export declare function discoverNativeScriptApps(workspaceRoot?: string): DiscoveredApp[];
117
+ /**
118
+ * Get workspace context for a specific app by project name or path.
119
+ * Used when user specifies --project from workspace root.
120
+ */
121
+ export declare function getWorkspaceContextForApp(projectNameOrPath: string, workspaceRoot?: string): WorkspaceContext | undefined;