@@ -94,6 +94,52 @@ interface IConfigAndroid extends IConfigPlatform {
94
94
enableMultithreadedJavascript ?: boolean ;
95
95
}
96
96
97
+ interface IConfigCLI {
98
+ /**
99
+ * Set the package manager to use for this project.
100
+ * Defaults to the CLI set package manager, or `npm` if not set globally
101
+ */
102
+ packageManager : 'yarn' | 'pnpm' | 'npm' ;
103
+ }
104
+
105
+ interface IConfigHook {
106
+ // prettier-ignore
107
+ /**
108
+ * Event name for when to run the hook.
109
+ * Possible event names are any of the following with the pattern
110
+ * `before-*` and `after-*`
111
+ *
112
+ * * `buildAndroidPlugin` - Builds aar file for Android plugin, runs during prepareNativeApp
113
+ * * `buildAndroid` - Builds Android app
114
+ * * `buildIOS` - Builds iOS app
115
+ * * `checkEnvironment` - Validate project env, runs during ns doctor, clean, and most build commands
116
+ * * `checkForChanges` - Changes occured during watch
117
+ * * `install` - Application installed to device/emulator
118
+ * * `prepare` - Compiles webpack and prepares native app in platforms folder
119
+ * * `prepareNativeApp` - Preparing the actual native app, runs during prepare/watch hook
120
+ * * `resolveCommand` - Resolves command and arguments, runs before all cli commands
121
+ * * `watch` - Setup watchers for live sync, runs during prepare hook
122
+ * * `watchPatterns` - Setup watch patterns, runs during watch hook
123
+ */
124
+ type :
125
+ | 'before-buildAndroidPlugin' | 'after-buildAndroidPlugin'
126
+ | 'before-buildAndroid' | 'after-buildAndroid'
127
+ | 'before-buildIOS' | 'after-buildIOS'
128
+ | 'before-checkEnvironment' | 'after-checkEnvironment'
129
+ | 'before-checkForChanges' | 'after-checkForChanges'
130
+ | 'before-install' | 'after-install'
131
+ | 'before-prepare' | 'after-prepare'
132
+ | 'before-prepareNativeApp' | 'after-prepareNativeApp'
133
+ | 'before-resolveCommand' | 'after-resolveCommand'
134
+ | 'before-watch' | 'after-watch'
135
+ | 'before-watchPatterns' | 'after-watchPatterns' ;
136
+
137
+ /**
138
+ * Path to the hook script file to run
139
+ */
140
+ script : string ;
141
+ }
142
+
97
143
export interface NativeScriptConfig {
98
144
/**
99
145
* App's bundle id
@@ -147,4 +193,14 @@ export interface NativeScriptConfig {
147
193
* Optionally specify a list of npm package names for which you would like the NativeScript CLI to ignore when attaching native dependencies to the build
148
194
*/
149
195
ignoredNativeDependencies ?: string [ ] ;
196
+
197
+ /**
198
+ * Set cli options
199
+ */
200
+ cli ?: IConfigCLI ;
201
+
202
+ /**
203
+ * Set project persistent hooks to run
204
+ */
205
+ hooks ?: IConfigHook [ ] ;
150
206
}
0 commit comments