@@ -11,6 +11,24 @@ import gltf from "./src/index.js";
11
11
const __filename = fileURLToPath ( import . meta. url ) ;
12
12
const __dirname = dirname ( __filename ) ;
13
13
14
+ const parseVersion = ( pkgJson , dep , cbs = { } ) => {
15
+ if ( pkgJson . dependencies [ dep ] ) {
16
+ let raw = cwdPackageJson . dependencies [ dep ] ;
17
+ if ( raw . includes ( "^" ) || ngRawVersion . includes ( "~" ) ) {
18
+ // remove first character
19
+ raw = raw . slice ( 1 ) ;
20
+ }
21
+
22
+ const parsed = parse ( raw ) ;
23
+ const major = parsed . major ;
24
+
25
+ cbs . afterParse ?. ( major , parsed ) ;
26
+ return parsed ;
27
+ } else {
28
+ cbs . depNotFound ?. ( ) ;
29
+ }
30
+ } ;
31
+
14
32
const cli = meow (
15
33
`
16
34
Usage
@@ -81,27 +99,28 @@ const { packageJson: cwdPackageJson } = readPackageUpSync({
81
99
} ) ;
82
100
const { packageJson } = readPackageUpSync ( { cwd : __dirname } ) ;
83
101
84
- let ngVer ;
85
-
86
- if ( cwdPackageJson . dependencies [ "@angular/core" ] ) {
87
- let ngRawVersion = cwdPackageJson . dependencies [ "@angular/core" ] ;
88
- if ( ngRawVersion . includes ( "^" ) || ngRawVersion . includes ( "~" ) ) {
89
- // remove first character
90
- ngRawVersion = ngRawVersion . slice ( 1 ) ;
91
- }
92
-
93
- const parsed = parse ( ngRawVersion ) ;
94
- ngVer = parsed . major ;
102
+ const ngVer = parseVersion ( cwdPackageJson , "@angular/core" , {
103
+ afterParse : ( major , parsed ) => {
104
+ if ( major < 18 ) {
105
+ console . error ( "Angular version must be >= 18" ) ;
106
+ process . exit ( 1 ) ;
107
+ }
95
108
96
- if ( ngVer < 18 ) {
97
- console . error ( "Angular version must be >= 18" ) ;
98
- process . exit ( 1 ) ;
99
- }
109
+ console . log ( "Detected Angular version: " , parsed . version ) ;
110
+ } ,
111
+ depNotFound : ( ) => {
112
+ console . warn ( "Executing outside of Angular workspace" ) ;
113
+ } ,
114
+ } ) ;
100
115
101
- console . log ( "Detected Angular version: " , parsed . version ) ;
102
- } else {
103
- console . warn ( "Executing outside of Angular workspace" ) ;
104
- }
116
+ const ngtVer = parseVersion ( cwdPackageJson , "angular-three" , {
117
+ afterParse : ( _major , parsed ) => {
118
+ console . log ( "Detected Angular Three version: " , parsed . version ) ;
119
+ } ,
120
+ depNotFound : ( ) => {
121
+ console . warn ( "Executing outside of Angular Three enabled workspace" ) ;
122
+ } ,
123
+ } ) ;
105
124
106
125
if ( cli . input . length === 0 ) {
107
126
console . log ( cli . help ) ;
@@ -129,7 +148,8 @@ if (cli.input.length === 0) {
129
148
showLog,
130
149
timeout : 0 ,
131
150
delay : 1 ,
132
- ngVer,
151
+ ngVer : ngVer . major ,
152
+ ngtVer,
133
153
header : `Auto-generated by: https://github.com/angular-threejs/gltf
134
154
Command: npx angular-three-gltf@${ packageJson . version } ${ process . argv . slice ( 2 ) . join ( " " ) } ` ,
135
155
} ;
0 commit comments