fix(providence): pin oxc-parser; fix default edge cases
This commit is contained in:
parent
4210edf798
commit
103df25306
14 changed files with 502 additions and 410 deletions
6
.changeset/swift-tigers-joke.md
Normal file
6
.changeset/swift-tigers-joke.md
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
'providence-analytics': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
- pin oxc-parser for stability/predictability
|
||||||
|
- fix export default edge cases in `find-exports`
|
||||||
753
package-lock.json
generated
753
package-lock.json
generated
|
|
@ -4237,6 +4237,119 @@
|
||||||
"lit-html": "^2.0.0 || ^3.0.0"
|
"lit-html": "^2.0.0 || ^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-darwin-arm64": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-3JY3K6AXq6QyloxLJkK9s7VFcrGU7Of8tG0bf9lIFzeNzmJDQAGUMYUkfUzDubx9prlNLCbxsgBTww5PjKgQeQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-darwin-x64": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-v1MQnfx2iwoy1eMJYHRwHsp8FA9HK4xa+oqx6XEhxft6yVwrt+gVIBAU6jUAk783OGkmvIbZbw8uVosg+YYOGA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-linux-arm64-gnu": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-g9FUS++WwVJmrsZHS3vi7mlLQYHKL/tbX7H8ERlQhLp01JzD3zyyHzieVqeClV7B+nQSctyurpwmYuOD4grZPw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-linux-arm64-musl": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-r5S+2IRW8QCL8eSv1gzp/nMTt1WbS04etm5mvM/55SH2G6bXJ8MNfcj3KATjmD/JvfNvsDVB80VlwI6HUNX+WQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-linux-x64-gnu": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-f10drS9TBekdHh37TSWYSGLgKBAofC7zuRjnTTuH1sXWTxRzmshs8p4WNVYcqImfgix48o3H0uwIFNm/UsSkfA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-linux-x64-musl": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-rUAOgodK1wW++RO2xBjvXJtALVyKbXDkaiG61Ob5+f9M4gfD6kfci2cqOT4dD5z2+zxB4dC71DaaOdwM20Yx9Q==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-win32-arm64-msvc": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-xHMx56Xd0gXp3nwrIJ8Z6Hny2Mvj5jSAUUkd8cYakItA7LNGWYl3EeFKErRXh/Qyd9uhuB4BqSr0CjiMU40vsg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-parser/binding-win32-x64-msvc": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-lOszFeGRNeiShsS2GJBzFBrMiDFhxCi0ddBc3tewtmjXsrb84dNuzM8+JgG6x9WQMIcLB68YZGjtOL+63cC/EQ==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"node_modules/@oxc-project/types": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-i2+xs0EKA7Ich5GP4rNyQnO+1Oio6XqzmQQSSVlNxyCPRUvp4V0ovY/e28K4F1vwakc51B251iSKbtHw03sZOw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/Boshen"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@oxc-resolver/binding-darwin-arm64": {
|
"node_modules/@oxc-resolver/binding-darwin-arm64": {
|
||||||
"version": "1.12.0",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/@oxc-resolver/binding-darwin-arm64/-/binding-darwin-arm64-1.12.0.tgz",
|
||||||
|
|
@ -5783,215 +5896,6 @@
|
||||||
"sourcemap-codec": "^1.4.8"
|
"sourcemap-codec": "^1.4.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@swc/core": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-bu7ymMX+LCJOSSrKank25Jaq66ymLVA9fOUuy4ck3/6rbXdLw+pIJPnIDKQ9uNcxww8KDxOuJk9Ui9pqR+aGFw==",
|
|
||||||
"dev": true,
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
|
||||||
"@swc/counter": "^0.1.3",
|
|
||||||
"@swc/types": "^0.1.13"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"type": "opencollective",
|
|
||||||
"url": "https://opencollective.com/swc"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"@swc/core-darwin-arm64": "1.7.36",
|
|
||||||
"@swc/core-darwin-x64": "1.7.36",
|
|
||||||
"@swc/core-linux-arm-gnueabihf": "1.7.36",
|
|
||||||
"@swc/core-linux-arm64-gnu": "1.7.36",
|
|
||||||
"@swc/core-linux-arm64-musl": "1.7.36",
|
|
||||||
"@swc/core-linux-x64-gnu": "1.7.36",
|
|
||||||
"@swc/core-linux-x64-musl": "1.7.36",
|
|
||||||
"@swc/core-win32-arm64-msvc": "1.7.36",
|
|
||||||
"@swc/core-win32-ia32-msvc": "1.7.36",
|
|
||||||
"@swc/core-win32-x64-msvc": "1.7.36"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@swc/helpers": "*"
|
|
||||||
},
|
|
||||||
"peerDependenciesMeta": {
|
|
||||||
"@swc/helpers": {
|
|
||||||
"optional": true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-darwin-arm64": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-8vDczXzCgv3ceTPhEivlpGprN44YlrCK1nbfU9g2TrhV/Aiqi09W/eM5zLesdoM1Z3mJl492gc/8nlTkpDdusw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-darwin-x64": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-Pa2Gao7+Wf5m3SsK4abKRtd48AtoUnJInvaC3d077swBfgZjbjUbQvcpdc2dOeQtWwo49rFqUZJonMsL0jnPgQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-linux-arm-gnueabihf": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-3YsMWd7V+WZEjbfBnLkkz/olcRBa8nyoK0iIOnNARJBMcYaJxjkJSMZpmSojCnIVwvjA1N83CPAbUL+W+fCnHg==",
|
|
||||||
"cpu": [
|
|
||||||
"arm"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-linux-arm64-gnu": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-lqM3aBB7kJazJYOwHeA5OGNLqXoQPZ/76b3dV+XcjN1GhD0CcXz6mW5PRYVin6OSN1eKrKBKJjtDA1mqADDEvw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-linux-arm64-musl": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-bqei2YDzvUfG0pth5W2xJaj0eG4XWYk0d/NJ75vBX6bkIzK6dC8iuKQ41jOfUWonnrAs7rTDDJW0sTn/evvRdw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-linux-x64-gnu": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-03maXTUyaBjeCxlDltmdzHje1ryQt1C4OWmmNgSSRXjLb+GNnAenwOJMSrcvHP/aNClD2pwsFCnYKDGy+sYE6w==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-linux-x64-musl": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-XXysqLkvjtQnXm1zHqLhy00UYPv/gk5OtwR732X+piNisnEbcJBqI8Qp9O7YvLWllRcoP8IMBGDWLGdGLSpViA==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-win32-arm64-msvc": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-k7+dmb13a/zPw+E4XYfPmLZFWJgcOcBRKIjYl9nQErtYsgsg3Ji6TBbsvJVETy23lNHyewZ17V5Vq6NzaG0hzg==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-win32-ia32-msvc": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-ridD3ay6YM2PEYHZXXFN+edYEv0FOynaqOBP+NSnGNHA35azItIjoIe+KNi4WltGtAjpKCHSpjGCNfna12wdYQ==",
|
|
||||||
"cpu": [
|
|
||||||
"ia32"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/core-win32-x64-msvc": {
|
|
||||||
"version": "1.7.36",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.36.tgz",
|
|
||||||
"integrity": "sha512-j1z2Z1Ln9d0E3dHsPkC1K9XDh0ojhRPwV+GfRTu4D61PE+aYhYLvbJC6xPvL4/204QrStRS7eDu3m+BcDp3rgQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0 AND MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@swc/counter": {
|
"node_modules/@swc/counter": {
|
||||||
"version": "0.1.3",
|
"version": "0.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz",
|
||||||
|
|
@ -5999,16 +5903,6 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@swc/types": {
|
|
||||||
"version": "0.1.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz",
|
|
||||||
"integrity": "sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
|
||||||
"@swc/counter": "^0.1.3"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@szmarczak/http-timer": {
|
"node_modules/@szmarczak/http-timer": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz",
|
||||||
|
|
@ -20653,6 +20547,28 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/oxc-parser": {
|
||||||
|
"version": "0.48.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.48.2.tgz",
|
||||||
|
"integrity": "sha512-UlCh4q1FrPNlc0WzPA5cw0SRnGprpn8o4aRU05ceeqTfbT2KoRus9X1bkHGngSP6n7IXUHUPJ6hs3mJW1GBu/w==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@oxc-project/types": "^0.48.2"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/Boshen"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@oxc-parser/binding-darwin-arm64": "0.48.2",
|
||||||
|
"@oxc-parser/binding-darwin-x64": "0.48.2",
|
||||||
|
"@oxc-parser/binding-linux-arm64-gnu": "0.48.2",
|
||||||
|
"@oxc-parser/binding-linux-arm64-musl": "0.48.2",
|
||||||
|
"@oxc-parser/binding-linux-x64-gnu": "0.48.2",
|
||||||
|
"@oxc-parser/binding-linux-x64-musl": "0.48.2",
|
||||||
|
"@oxc-parser/binding-win32-arm64-msvc": "0.48.2",
|
||||||
|
"@oxc-parser/binding-win32-x64-msvc": "0.48.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/oxc-resolver": {
|
"node_modules/oxc-resolver": {
|
||||||
"version": "1.12.0",
|
"version": "1.12.0",
|
||||||
"resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-1.12.0.tgz",
|
"resolved": "https://registry.npmjs.org/oxc-resolver/-/oxc-resolver-1.12.0.tgz",
|
||||||
|
|
@ -28335,7 +28251,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rollup/plugin-node-resolve": "^16.0.0",
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
||||||
"commander": "^2.20.3",
|
"commander": "^2.20.3",
|
||||||
"oxc-parser": "^0.48.1",
|
"oxc-parser": "0.48.2",
|
||||||
"parse5": "^7.2.1",
|
"parse5": "^7.2.1",
|
||||||
"semver": "^7.7.0"
|
"semver": "^7.7.0"
|
||||||
},
|
},
|
||||||
|
|
@ -28343,14 +28259,14 @@
|
||||||
"providence": "src/cli/index.js"
|
"providence": "src/cli/index.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/parser": "^7.26.3",
|
"@babel/parser": "^7.26.7",
|
||||||
"@babel/plugin-syntax-import-assertions": "^7.26.0",
|
"@babel/plugin-syntax-import-assertions": "^7.26.0",
|
||||||
"@babel/traverse": "^7.26.3",
|
"@babel/traverse": "^7.26.7",
|
||||||
"@swc/core": "^1.7.36",
|
"@swc/core": "^1.10.12",
|
||||||
"@types/inquirer": "^9.0.7",
|
"@types/inquirer": "^9.0.7",
|
||||||
"@types/mocha": "^10.0.10",
|
"@types/mocha": "^10.0.10",
|
||||||
"@web/dev-server": "^0.4.6",
|
"@web/dev-server": "^0.4.6",
|
||||||
"@web/dev-server-core": "^0.7.4",
|
"@web/dev-server-core": "^0.7.5",
|
||||||
"globby": "^14.0.2",
|
"globby": "^14.0.2",
|
||||||
"lit-element": "^4.1.1",
|
"lit-element": "^4.1.1",
|
||||||
"mock-fs": "^5.4.1"
|
"mock-fs": "^5.4.1"
|
||||||
|
|
@ -28379,13 +28295,14 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@babel/generator": {
|
"packages-node/providence-analytics/node_modules/@babel/generator": {
|
||||||
"version": "7.26.3",
|
"version": "7.26.5",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
|
||||||
"integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
|
"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.26.3",
|
"@babel/parser": "^7.26.5",
|
||||||
"@babel/types": "^7.26.3",
|
"@babel/types": "^7.26.5",
|
||||||
"@jridgewell/gen-mapping": "^0.3.5",
|
"@jridgewell/gen-mapping": "^0.3.5",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"jsesc": "^3.0.2"
|
"jsesc": "^3.0.2"
|
||||||
|
|
@ -28422,12 +28339,13 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@babel/parser": {
|
"packages-node/providence-analytics/node_modules/@babel/parser": {
|
||||||
"version": "7.26.3",
|
"version": "7.26.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz",
|
||||||
"integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==",
|
"integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.26.3"
|
"@babel/types": "^7.26.7"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
|
|
@ -28466,16 +28384,17 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@babel/traverse": {
|
"packages-node/providence-analytics/node_modules/@babel/traverse": {
|
||||||
"version": "7.26.4",
|
"version": "7.26.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz",
|
||||||
"integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
|
"integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.26.2",
|
||||||
"@babel/generator": "^7.26.3",
|
"@babel/generator": "^7.26.5",
|
||||||
"@babel/parser": "^7.26.3",
|
"@babel/parser": "^7.26.7",
|
||||||
"@babel/template": "^7.25.9",
|
"@babel/template": "^7.25.9",
|
||||||
"@babel/types": "^7.26.3",
|
"@babel/types": "^7.26.7",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
|
|
@ -28484,10 +28403,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@babel/types": {
|
"packages-node/providence-analytics/node_modules/@babel/types": {
|
||||||
"version": "7.26.3",
|
"version": "7.26.7",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz",
|
||||||
"integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==",
|
"integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.25.9",
|
"@babel/helper-string-parser": "^7.25.9",
|
||||||
"@babel/helper-validator-identifier": "^7.25.9"
|
"@babel/helper-validator-identifier": "^7.25.9"
|
||||||
|
|
@ -28496,110 +28416,6 @@
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-darwin-arm64": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-1G99sWa40ylI1bX8VxUnvl3eEnT7C045t6HJ5UkYg+B6XoJouUgo/wrhFn53+kRBm9gT65YHBGs4gCLpk8b8dw==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-darwin-x64": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-7+EcaPjG7PlnM/Oj2Cpf1tYFCXmABlO7P9uYNa/aiNVHv4oZklL2q1HT3fSsU/7nNa09IDKsl8yvQHhwfkNbWw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-linux-arm64-gnu": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-uiQfQESB5WLxVUwWe+/wiaujoT0we5tDm7fz3EwpgqKDsqA3Y/IobLsymIPp5/dfOmOUElB9dMUZUaDTrQeWtA==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-linux-arm64-musl": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-08ChBq0X4U60B6ervmNDdSIjxleeCLrztbhul/cFFRcqUNj10F7ZLgz7/rucfxD80hE8Cf2PsbVK5e89qY7Y/Q==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-linux-x64-gnu": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-OVXEcQu9/FxUeSK1RGgvBzHNKQYjiYL536GahOzuptCyYjYUhrz+eopu7P0wIB/1irrMv33gCNt211inVnWaZQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-linux-x64-musl": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-/9WFKdTDKVRs2JJh4oxF1gEbnlJcZtoIAH6yToTqftghal7NFLoHBGdp1Jo8b2m0Vn4L3yiDE/sAbrB0XgIAsw==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"linux"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-win32-arm64-msvc": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-eKO8BmgDSWl47SoKBtxj+XQjvn8SqXbpZ/NuZbcYkZVzpwWui4Ycqo76GRLrEhp+ykN3Nj9gl29nka3oenrk7A==",
|
|
||||||
"cpu": [
|
|
||||||
"arm64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@oxc-parser/binding-win32-x64-msvc": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-7KWqCm7DmkFVd8MRMp14/HjxpYgWaj9k2E2pAQGOnExPCuzzF2Wji0qHcNzuMQMjTDKswjRkAOg6gk5b45JQRQ==",
|
|
||||||
"cpu": [
|
|
||||||
"x64"
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"win32"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/@rollup/plugin-node-resolve": {
|
"packages-node/providence-analytics/node_modules/@rollup/plugin-node-resolve": {
|
||||||
"version": "16.0.0",
|
"version": "16.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.0.tgz",
|
||||||
|
|
@ -28624,6 +28440,225 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-+iUL0PYpPm6N9AdV1wvafakvCqFegQus1aoEDxgFsv3/uNVNIyRaupf/v/Zkp5hbep2EzhtoJR0aiJIzDbXWHg==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@swc/counter": "^0.1.3",
|
||||||
|
"@swc/types": "^0.1.17"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/swc"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"@swc/core-darwin-arm64": "1.10.12",
|
||||||
|
"@swc/core-darwin-x64": "1.10.12",
|
||||||
|
"@swc/core-linux-arm-gnueabihf": "1.10.12",
|
||||||
|
"@swc/core-linux-arm64-gnu": "1.10.12",
|
||||||
|
"@swc/core-linux-arm64-musl": "1.10.12",
|
||||||
|
"@swc/core-linux-x64-gnu": "1.10.12",
|
||||||
|
"@swc/core-linux-x64-musl": "1.10.12",
|
||||||
|
"@swc/core-win32-arm64-msvc": "1.10.12",
|
||||||
|
"@swc/core-win32-ia32-msvc": "1.10.12",
|
||||||
|
"@swc/core-win32-x64-msvc": "1.10.12"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@swc/helpers": "*"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@swc/helpers": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-darwin-arm64": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-pOANQegUTAriW7jq3SSMZGM5l89yLVMs48R0F2UG6UZsH04SiViCnDctOGlA/Sa++25C+rL9MGMYM1jDLylBbg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-darwin-x64": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-m4kbpIDDsN1FrwfNQMU+FTrss356xsXvatLbearwR+V0lqOkjLBP0VmRvQfHEg+uy13VPyrT9gj4HLoztlci7w==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"darwin"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-linux-arm-gnueabihf": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-OY9LcupgqEu8zVK+rJPes6LDJJwPDmwaShU96beTaxX2K6VrXbpwm5WbPS/8FfQTsmpnuA7dCcMPUKhNgmzTrQ==",
|
||||||
|
"cpu": [
|
||||||
|
"arm"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-linux-arm64-gnu": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-nJD587rO0N4y4VZszz3xzVr7JIiCzSMhEMWnPjuh+xmPxDBz0Qccpr8xCr1cSxpl1uY7ERkqAGlKr6CwoV5kVg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-linux-arm64-musl": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-oqhSmV+XauSf0C//MoQnVErNUB/5OzmSiUzuazyLsD5pwqKNN+leC3JtRQ/QVzaCpr65jv9bKexT9+I2Tt3xDw==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-linux-x64-gnu": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-XldSIHyjD7m1Gh+/8rxV3Ok711ENLI420CU2EGEqSe3VSGZ7pHJvJn9ZFbYpWhsLxPqBYMFjp3Qw+J6OXCPXCA==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-linux-x64-musl": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-wvPXzJxzPgTqhyp1UskOx1hRTtdWxlyFD1cGWOxgLsMik0V9xKRgqKnMPv16Nk7L9xl6quQ6DuUHj9ID7L3oVw==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"linux"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-win32-arm64-msvc": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-TUYzWuu1O7uyIcRfxdm6Wh1u+gNnrW5M1DUgDOGZLsyQzgc2Zjwfh2llLhuAIilvCVg5QiGbJlpibRYJ/8QGsg==",
|
||||||
|
"cpu": [
|
||||||
|
"arm64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-win32-ia32-msvc": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-4Qrw+0Xt+Fe2rz4OJ/dEPMeUf/rtuFWWAj/e0vL7J5laUHirzxawLRE5DCJLQTarOiYR6mWnmadt9o3EKzV6Xg==",
|
||||||
|
"cpu": [
|
||||||
|
"ia32"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/core-win32-x64-msvc": {
|
||||||
|
"version": "1.10.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.10.12.tgz",
|
||||||
|
"integrity": "sha512-YiloZXLW7rUxJpALwHXaGjVaAEn+ChoblG7/3esque+Y7QCyheoBUJp2DVM1EeVA43jBfZ8tvYF0liWd9Tpz1A==",
|
||||||
|
"cpu": [
|
||||||
|
"x64"
|
||||||
|
],
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0 AND MIT",
|
||||||
|
"optional": true,
|
||||||
|
"os": [
|
||||||
|
"win32"
|
||||||
|
],
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"packages-node/providence-analytics/node_modules/@swc/types": {
|
||||||
|
"version": "0.1.17",
|
||||||
|
"resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.17.tgz",
|
||||||
|
"integrity": "sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@swc/counter": "^0.1.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@types/mocha": {
|
"packages-node/providence-analytics/node_modules/@types/mocha": {
|
||||||
"version": "10.0.10",
|
"version": "10.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.10.tgz",
|
||||||
|
|
@ -28631,10 +28666,11 @@
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/@web/dev-server-core": {
|
"packages-node/providence-analytics/node_modules/@web/dev-server-core": {
|
||||||
"version": "0.7.4",
|
"version": "0.7.5",
|
||||||
"resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.4.tgz",
|
"resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.7.5.tgz",
|
||||||
"integrity": "sha512-nHSNrJ1J9GjmSceKNHpWRMjvpfE2NTV9EYUffPIr7j0sIV59gK7NI/4+9slotJ/ODXw0+e1gSeJshTOhjjVNxQ==",
|
"integrity": "sha512-Da65zsiN6iZPMRuj4Oa6YPwvsmZmo5gtPWhW2lx3GTUf5CAEapjVpZVlUXnKPL7M7zRuk72jSsIl8lo+XpTCtw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@types/koa": "^2.11.6",
|
"@types/koa": "^2.11.6",
|
||||||
"@types/ws": "^7.4.0",
|
"@types/ws": "^7.4.0",
|
||||||
|
|
@ -28704,25 +28740,6 @@
|
||||||
"node": ">=12.0.0"
|
"node": ">=12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"packages-node/providence-analytics/node_modules/oxc-parser": {
|
|
||||||
"version": "0.34.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.34.0.tgz",
|
|
||||||
"integrity": "sha512-k9PJKDD4+U3VzLic2Pup+N4YNIlBhzUkEWZP6yVkXtwEVZn1gIp1ixAt1e9+9EagzzAiY/Kx6EPEsZxNb3d1fg==",
|
|
||||||
"license": "MIT",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/Boshen"
|
|
||||||
},
|
|
||||||
"optionalDependencies": {
|
|
||||||
"@oxc-parser/binding-darwin-arm64": "0.34.0",
|
|
||||||
"@oxc-parser/binding-darwin-x64": "0.34.0",
|
|
||||||
"@oxc-parser/binding-linux-arm64-gnu": "0.34.0",
|
|
||||||
"@oxc-parser/binding-linux-arm64-musl": "0.34.0",
|
|
||||||
"@oxc-parser/binding-linux-x64-gnu": "0.34.0",
|
|
||||||
"@oxc-parser/binding-linux-x64-musl": "0.34.0",
|
|
||||||
"@oxc-parser/binding-win32-arm64-msvc": "0.34.0",
|
|
||||||
"@oxc-parser/binding-win32-x64-msvc": "0.34.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"packages-node/providence-analytics/node_modules/parse5": {
|
"packages-node/providence-analytics/node_modules/parse5": {
|
||||||
"version": "7.2.1",
|
"version": "7.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@rollup/plugin-node-resolve": "^16.0.0",
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
||||||
"commander": "^2.20.3",
|
"commander": "^2.20.3",
|
||||||
"oxc-parser": "^0.48.1",
|
"oxc-parser": "0.48.2",
|
||||||
"parse5": "^7.2.1",
|
"parse5": "^7.2.1",
|
||||||
"semver": "^7.7.0"
|
"semver": "^7.7.0"
|
||||||
},
|
},
|
||||||
|
|
@ -49,14 +49,14 @@
|
||||||
"@swc/core": "^1.7.36"
|
"@swc/core": "^1.7.36"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/parser": "^7.26.3",
|
"@babel/parser": "^7.26.7",
|
||||||
"@babel/plugin-syntax-import-assertions": "^7.26.0",
|
"@babel/plugin-syntax-import-assertions": "^7.26.0",
|
||||||
"@babel/traverse": "^7.26.3",
|
"@babel/traverse": "^7.26.7",
|
||||||
"@swc/core": "^1.7.36",
|
"@swc/core": "^1.10.12",
|
||||||
"@types/inquirer": "^9.0.7",
|
"@types/inquirer": "^9.0.7",
|
||||||
"@types/mocha": "^10.0.10",
|
"@types/mocha": "^10.0.10",
|
||||||
"@web/dev-server": "^0.4.6",
|
"@web/dev-server": "^0.4.6",
|
||||||
"@web/dev-server-core": "^0.7.4",
|
"@web/dev-server-core": "^0.7.5",
|
||||||
"globby": "^14.0.2",
|
"globby": "^14.0.2",
|
||||||
"lit-element": "^4.1.1",
|
"lit-element": "^4.1.1",
|
||||||
"mock-fs": "^5.4.1"
|
"mock-fs": "^5.4.1"
|
||||||
|
|
@ -77,5 +77,13 @@
|
||||||
},
|
},
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"access": "public"
|
"access": "public"
|
||||||
|
},
|
||||||
|
"comments": {
|
||||||
|
"dependencies": {
|
||||||
|
"@rollup/plugin-node-resolve": "Move to devDep (for mocking require.resolve) later and use require.resolve for prod later",
|
||||||
|
"commander": "Can't be easily moved to latest. Move to parseArgs from node:util later",
|
||||||
|
"oxc-parser": "Pin it as long as the api is unstable, to prevent unpredictable behavior",
|
||||||
|
"semver": "Only needed for one check. Create internal util later"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -74,7 +74,10 @@ function findCustomElementsPerAstFile(oxcAst) {
|
||||||
let tagName;
|
let tagName;
|
||||||
let constructorIdentifier;
|
let constructorIdentifier;
|
||||||
|
|
||||||
if (astPath.node.arguments[0].type === 'StringLiteral') {
|
if (
|
||||||
|
astPath.node.arguments[0].type === 'StringLiteral' ||
|
||||||
|
astPath.node.arguments[0].type === 'Literal'
|
||||||
|
) {
|
||||||
tagName = astPath.node.arguments[0].value;
|
tagName = astPath.node.arguments[0].value;
|
||||||
} else {
|
} else {
|
||||||
// No Literal found. For now, we only mark them as '[variable]'
|
// No Literal found. For now, we only mark them as '[variable]'
|
||||||
|
|
|
||||||
|
|
@ -195,6 +195,7 @@ function findExportsPerAstFile(oxcAst, { skipFileImports }) {
|
||||||
const exportSpecifiers = ['[default]'];
|
const exportSpecifiers = ['[default]'];
|
||||||
const { node } = astPath;
|
const { node } = astPath;
|
||||||
let source;
|
let source;
|
||||||
|
|
||||||
// Is it an inline declaration like "export default class X {};" ?
|
// Is it an inline declaration like "export default class X {};" ?
|
||||||
if (
|
if (
|
||||||
node.decl?.type === 'Identifier' ||
|
node.decl?.type === 'Identifier' ||
|
||||||
|
|
|
||||||
|
|
@ -17,9 +17,13 @@ import { Analyzer } from '../core/Analyzer.js';
|
||||||
* @typedef {import("@swc/core").Node} SwcNode
|
* @typedef {import("@swc/core").Node} SwcNode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// const exportedNames = ['exported'];
|
/**
|
||||||
// const importedNames = ['orig', 'imported', 'local'];
|
* @param {SwcNode|undefined} node
|
||||||
// const valueNames = ['name', 'value'];
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
function isLiteral(node) {
|
||||||
|
return node?.type === 'Literal' || node?.type === 'StringLiteral';
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Intends to work for oxc, swc, and babel asts
|
* Intends to work for oxc, swc, and babel asts
|
||||||
|
|
@ -69,6 +73,8 @@ function getImportOrReexportsSpecifiers(node) {
|
||||||
function findImportsPerAstFile(oxcAst) {
|
function findImportsPerAstFile(oxcAst) {
|
||||||
LogService.debug(`Analyzer "find-imports": started findImportsPerAstFile method`);
|
LogService.debug(`Analyzer "find-imports": started findImportsPerAstFile method`);
|
||||||
|
|
||||||
|
// TODO: possibly make traversal quicker by using import/export data from oxcAst.module
|
||||||
|
|
||||||
// https://github.com/babel/babel/blob/672a58660f0b15691c44582f1f3fdcdac0fa0d2f/packages/babel-core/src/transformation/index.ts#L110
|
// https://github.com/babel/babel/blob/672a58660f0b15691c44582f1f3fdcdac0fa0d2f/packages/babel-core/src/transformation/index.ts#L110
|
||||||
// Visit AST...
|
// Visit AST...
|
||||||
/** @type {Partial<FindImportsAnalyzerEntry>[]} */
|
/** @type {Partial<FindImportsAnalyzerEntry>[]} */
|
||||||
|
|
@ -125,10 +131,9 @@ function findImportsPerAstFile(oxcAst) {
|
||||||
// TODO: also check for ['file']
|
// TODO: also check for ['file']
|
||||||
const importSpecifiers = ['[default]'];
|
const importSpecifiers = ['[default]'];
|
||||||
const dynamicImportExpression = node.arguments[0].expression;
|
const dynamicImportExpression = node.arguments[0].expression;
|
||||||
const source =
|
const source = isLiteral(dynamicImportExpression)
|
||||||
dynamicImportExpression.type === 'StringLiteral'
|
? dynamicImportExpression.value
|
||||||
? dynamicImportExpression.value
|
: '[variable]';
|
||||||
: '[variable]';
|
|
||||||
transformedFile.push({ importSpecifiers, source });
|
transformedFile.push({ importSpecifiers, source });
|
||||||
},
|
},
|
||||||
// Dynamic imports for oxc
|
// Dynamic imports for oxc
|
||||||
|
|
@ -140,10 +145,9 @@ function findImportsPerAstFile(oxcAst) {
|
||||||
// TODO: also check for ['file']
|
// TODO: also check for ['file']
|
||||||
const importSpecifiers = ['[default]'];
|
const importSpecifiers = ['[default]'];
|
||||||
const dynamicImportExpression = node.expression;
|
const dynamicImportExpression = node.expression;
|
||||||
const source =
|
const source = isLiteral(dynamicImportExpression.source)
|
||||||
dynamicImportExpression.source?.type === 'StringLiteral'
|
? dynamicImportExpression.source.value
|
||||||
? dynamicImportExpression.source.value
|
: '[variable]';
|
||||||
: '[variable]';
|
|
||||||
transformedFile.push({ importSpecifiers, source });
|
transformedFile.push({ importSpecifiers, source });
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -74,16 +74,19 @@ export class AstService {
|
||||||
/**
|
/**
|
||||||
* Compiles an array of file paths using swc.
|
* Compiles an array of file paths using swc.
|
||||||
* @param {string} code
|
* @param {string} code
|
||||||
* @param {ParserOptions} parserOptions
|
* @param {object} opts
|
||||||
|
* @param {string} [opts.filePath]
|
||||||
|
* @param {ParserOptions} [opts.parserOptions]
|
||||||
* @returns {Promise<OxcParseResult>}
|
* @returns {Promise<OxcParseResult>}
|
||||||
*/
|
*/
|
||||||
static async _getOxcAst(code, parserOptions = {}) {
|
static async _getOxcAst(code, { filePath = '', parserOptions = {} } = {}) {
|
||||||
if (!oxcParser) {
|
if (!oxcParser) {
|
||||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||||
oxcParser = (await import('oxc-parser')).default;
|
oxcParser = (await import('oxc-parser')).default;
|
||||||
}
|
}
|
||||||
|
|
||||||
return oxcParser.parseSync(code, parserOptions).program;
|
// we can only send stringified data with napi
|
||||||
|
return oxcParser.parseSync(filePath, code, parserOptions);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -126,7 +129,7 @@ export class AstService {
|
||||||
return await this._getSwcAst(code);
|
return await this._getSwcAst(code);
|
||||||
}
|
}
|
||||||
if (astType === 'oxc') {
|
if (astType === 'oxc') {
|
||||||
return await this._getOxcAst(code);
|
return await this._getOxcAst(code, { filePath });
|
||||||
}
|
}
|
||||||
throw new Error(`astType "${astType}" not supported.`);
|
throw new Error(`astType "${astType}" not supported.`);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,16 @@ export function getFilePathOrExternalSource({ rootPath, localPath }) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checks whether we are a Declaration (like class X {}) or Declarator (like const x = 88)
|
||||||
|
* @param {SwcNode} node
|
||||||
|
* @returns {boolean}
|
||||||
|
*/
|
||||||
|
function containsIdentifier(node) {
|
||||||
|
// @ts-expect-error
|
||||||
|
return node.id || node.identifier;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Assume we had:
|
* Assume we had:
|
||||||
* ```js
|
* ```js
|
||||||
|
|
@ -47,25 +57,33 @@ export function getFilePathOrExternalSource({ rootPath, localPath }) {
|
||||||
*/
|
*/
|
||||||
export function getReferencedDeclaration({ referencedIdentifierName, globalScopeBindings }) {
|
export function getReferencedDeclaration({ referencedIdentifierName, globalScopeBindings }) {
|
||||||
// We go from referencedIdentifierName 'y' to binding (VariableDeclarator path) 'y';
|
// We go from referencedIdentifierName 'y' to binding (VariableDeclarator path) 'y';
|
||||||
const refDeclaratorBinding = globalScopeBindings[referencedIdentifierName];
|
const identifierBinding = /** @type {SwcBinding} */ (
|
||||||
|
globalScopeBindings[referencedIdentifierName]
|
||||||
|
);
|
||||||
|
|
||||||
// We provided a referencedIdentifierName that is not in the globalScopeBindings
|
// We provided a referencedIdentifierName that is not in the globalScopeBindings
|
||||||
if (!refDeclaratorBinding) {
|
if (!identifierBinding) return null;
|
||||||
return null;
|
|
||||||
|
const { type } = identifierBinding.path.node;
|
||||||
|
const isNonRefDeclaration = type.endsWith('Declaration');
|
||||||
|
if (isNonRefDeclaration && !containsIdentifier(identifierBinding.path.node)) {
|
||||||
|
throw new Error('Make sure entries added to globalScopeBindings contains an identifier');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (['ImportSpecifier', 'ImportDefaultSpecifier'].includes(refDeclaratorBinding.path.node.type)) {
|
const isImportingSpecifier = ['ImportSpecifier', 'ImportDefaultSpecifier'].includes(type);
|
||||||
return refDeclaratorBinding.path;
|
if (isImportingSpecifier || isNonRefDeclaration) {
|
||||||
|
return identifierBinding.path;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (refDeclaratorBinding.path.node.init.type === 'Identifier') {
|
const isRefDeclarator = identifierBinding.path.node.init.type === 'Identifier';
|
||||||
|
if (isRefDeclarator) {
|
||||||
return getReferencedDeclaration({
|
return getReferencedDeclaration({
|
||||||
referencedIdentifierName: nameOf(refDeclaratorBinding.path.node.init),
|
referencedIdentifierName: nameOf(identifierBinding.path.node.init),
|
||||||
globalScopeBindings,
|
globalScopeBindings,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return refDeclaratorBinding.path.get('init');
|
return /** @type {SwcPath} */ (identifierBinding.path.get('init'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
/**
|
/**
|
||||||
* @typedef {import('../../../types/index.js').SwcTraversalContext} SwcTraversalContext
|
* @typedef {import('../../../types/index.js').SwcTraversalContext} SwcTraversalContext
|
||||||
* @typedef {import('@swc/core').VariableDeclarator} SwcVariableDeclarator
|
* @typedef {import('@swc/core').VariableDeclarator} SwcVariableDeclarator
|
||||||
* @typedef {import('@swc/core').Identifier} SwcIdentifierNode
|
|
||||||
* @typedef {import('@swc/core').Module} SwcAstModule
|
|
||||||
* @typedef {import('@swc/core').Node} SwcNode
|
|
||||||
* @typedef {import('../../../types/index.js').SwcPath} SwcPath
|
|
||||||
* @typedef {import('../../../types/index.js').SwcScope} SwcScope
|
|
||||||
* @typedef {import('../../../types/index.js').SwcVisitor} SwcVisitor
|
* @typedef {import('../../../types/index.js').SwcVisitor} SwcVisitor
|
||||||
* @typedef {import('../../../types/index.js').SwcBinding} SwcBinding
|
* @typedef {import('../../../types/index.js').SwcBinding} SwcBinding
|
||||||
|
* @typedef {import('../../../types/index.js').SwcScope} SwcScope
|
||||||
|
* @typedef {import('../../../types/index.js').SwcPath} SwcPath
|
||||||
|
* @typedef {import("oxc-parser").ParseResult} OxcParseResult
|
||||||
|
* @typedef {import('@swc/core').Identifier} SwcIdentifierNode
|
||||||
* @typedef {import('oxc-parser').ParseResult} OxcNode
|
* @typedef {import('oxc-parser').ParseResult} OxcNode
|
||||||
|
* @typedef {import('@swc/core').Module} SwcAstModule
|
||||||
|
* @typedef {import('@swc/core').Node} SwcNode
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -308,12 +309,15 @@ function visit(swcPath, visitor, traversalContext) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Simple traversal for swc ast.
|
* Simple traversal for swc ast.
|
||||||
* @param {SwcAstModule|SwcNode} oxcAst
|
* @param {OxcParseResult|SwcAstModule|SwcNode} oxcAst
|
||||||
* @param {SwcVisitor} visitor
|
* @param {SwcVisitor} visitor
|
||||||
* @param {object} config
|
* @param {object} config
|
||||||
* @param {boolean} [config.needsAdvancedPaths] needs a full traversal before starting the visitor, which is less performant. Only enable when path.get() is used
|
* @param {boolean} [config.needsAdvancedPaths] needs a full traversal before starting the visitor, which is less performant. Only enable when path.get() is used
|
||||||
*/
|
*/
|
||||||
export function oxcTraverse(oxcAst, visitor, { needsAdvancedPaths = false } = {}) {
|
export function oxcTraverse(oxcAst, visitor, { needsAdvancedPaths = false } = {}) {
|
||||||
|
// @ts-expect-error
|
||||||
|
// Before traversing, normalize so that we're still compatible with both oxc and swc
|
||||||
|
const ast = oxcAst.program || oxcAst;
|
||||||
/**
|
/**
|
||||||
* For performance, the author of a visitor can call this to stop further traversal
|
* For performance, the author of a visitor can call this to stop further traversal
|
||||||
*/
|
*/
|
||||||
|
|
@ -401,9 +405,9 @@ export function oxcTraverse(oxcAst, visitor, { needsAdvancedPaths = false } = {}
|
||||||
if (needsAdvancedPaths) {
|
if (needsAdvancedPaths) {
|
||||||
// Do one full traversal to prepare advanced path functionality like path.get() and path.scope.bindings
|
// Do one full traversal to prepare advanced path functionality like path.get() and path.scope.bindings
|
||||||
// TODO: improve with on the fly, partial tree traversal for best performance
|
// TODO: improve with on the fly, partial tree traversal for best performance
|
||||||
prepareTree(oxcAst, null, initialScope, traversalContext);
|
prepareTree(ast, null, initialScope, traversalContext);
|
||||||
}
|
}
|
||||||
visitTree(oxcAst, null, initialScope, { hasPreparedTree: needsAdvancedPaths }, traversalContext);
|
visitTree(ast, null, initialScope, { hasPreparedTree: needsAdvancedPaths }, traversalContext);
|
||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
traversalContext.visitOnExitFns.reverse().forEach(fn => fn());
|
traversalContext.visitOnExitFns.reverse().forEach(fn => fn());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -313,7 +313,7 @@ async function trackDownIdentifierFn(
|
||||||
ExportDeclaration: handleExportDeclOrNamedDecl,
|
ExportDeclaration: handleExportDeclOrNamedDecl,
|
||||||
};
|
};
|
||||||
|
|
||||||
oxcTraverse(oxcAst, visitor, { needsAdvancedPaths: true });
|
oxcTraverse(oxcAst.program, visitor, { needsAdvancedPaths: true });
|
||||||
|
|
||||||
if (pendingTrackDownPromise) {
|
if (pendingTrackDownPromise) {
|
||||||
// We can't handle promises inside Babel traverse, so we do it here...
|
// We can't handle promises inside Babel traverse, so we do it here...
|
||||||
|
|
|
||||||
|
|
@ -100,6 +100,33 @@ describe('Analyzer "find-exports"', async () => {
|
||||||
expect(firstEntry.result[0].source).to.equal('y');
|
expect(firstEntry.result[0].source).to.equal('y');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it(`supports "const x = 0; export default x;" (default, referenced export)`, async () => {
|
||||||
|
mockProject([`const x = 0; export default x;`]);
|
||||||
|
const queryResults = await providence(findExportsQueryConfig, _providenceCfg);
|
||||||
|
const firstEntry = getEntry(queryResults[0]);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers.length).to.equal(1);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers[0]).to.equal('[default]');
|
||||||
|
expect(firstEntry.result[0].source).to.equal(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
it(`supports "class X {}; export default X;" (default, referenced ClassDeclaration export)`, async () => {
|
||||||
|
mockProject([`class X {}; export default X;`]);
|
||||||
|
const queryResults = await providence(findExportsQueryConfig, _providenceCfg);
|
||||||
|
const firstEntry = getEntry(queryResults[0]);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers.length).to.equal(1);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers[0]).to.equal('[default]');
|
||||||
|
expect(firstEntry.result[0].source).to.equal(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
|
it(`supports "function x() {}; export default x;" (default, referenced FunctionDeclaration export)`, async () => {
|
||||||
|
mockProject([`function x() {}; export default x;`]);
|
||||||
|
const queryResults = await providence(findExportsQueryConfig, _providenceCfg);
|
||||||
|
const firstEntry = getEntry(queryResults[0]);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers.length).to.equal(1);
|
||||||
|
expect(firstEntry.result[0].exportSpecifiers[0]).to.equal('[default]');
|
||||||
|
expect(firstEntry.result[0].source).to.equal(undefined);
|
||||||
|
});
|
||||||
|
|
||||||
it(`supports "export { x } from 'my/source'" (re-export named specifier)`, async () => {
|
it(`supports "export { x } from 'my/source'" (re-export named specifier)`, async () => {
|
||||||
mockProject([`export { x } from 'my/source'`]);
|
mockProject([`export { x } from 'my/source'`]);
|
||||||
const queryResults = await providence(findExportsQueryConfig, _providenceCfg);
|
const queryResults = await providence(findExportsQueryConfig, _providenceCfg);
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,7 @@ describe('Analyzer "find-imports"', async () => {
|
||||||
describe('Import notations', () => {
|
describe('Import notations', () => {
|
||||||
it(`supports [import 'imported/source'] (no specifiers)`, async () => {
|
it(`supports [import 'imported/source'] (no specifiers)`, async () => {
|
||||||
mockProject([`import 'imported/source'`]);
|
mockProject([`import 'imported/source'`]);
|
||||||
|
|
||||||
const queryResults = await providence(findImportsQueryConfig, _providenceCfg);
|
const queryResults = await providence(findImportsQueryConfig, _providenceCfg);
|
||||||
const queryResult = queryResults[0];
|
const queryResult = queryResults[0];
|
||||||
const firstEntry = getEntry(queryResult);
|
const firstEntry = getEntry(queryResult);
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@ describe('oxcTraverse', () => {
|
||||||
'ImportDeclaration',
|
'ImportDeclaration',
|
||||||
'ImportDefaultSpecifier',
|
'ImportDefaultSpecifier',
|
||||||
'Identifier',
|
'Identifier',
|
||||||
'StringLiteral',
|
'Literal',
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { IdentifierName } from "../index.js";
|
import { IdentifierName } from '../index.js';
|
||||||
|
|
||||||
export type SwcScope = {
|
export type SwcScope = {
|
||||||
id: number;
|
id: number;
|
||||||
parentScope?: Scope;
|
parentScope?: Scope;
|
||||||
bindings: { [key: string]: SwcBinding };
|
bindings: { [key: string]: SwcBinding };
|
||||||
path: SwcPath | null;
|
path: SwcPath | null;
|
||||||
getBinding: (IdentifierName:string) => SwcBinding;
|
getBinding: (IdentifierName: string) => SwcBinding;
|
||||||
_pendingRefsWithoutBinding: SwcNode[];
|
_pendingRefsWithoutBinding: SwcNode[];
|
||||||
_isIsolatedBlockStatement: boolean;
|
_isIsolatedBlockStatement: boolean;
|
||||||
};
|
};
|
||||||
|
|
@ -15,7 +15,7 @@ export type SwcBinding = {
|
||||||
identifier: SwcNode;
|
identifier: SwcNode;
|
||||||
// kind: string;
|
// kind: string;
|
||||||
refs: SwcNode[];
|
refs: SwcNode[];
|
||||||
path: SwcPath | null | undefined;
|
path: SwcPath;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type SwcPath = {
|
export type SwcPath = {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue