Compare commits

...

66 Commits

Author SHA1 Message Date
standardci e6fce8cbc7 chore(release): publish new version
- @standardnotes/auth-server@1.84.7
 - @standardnotes/revisions-server@1.10.21
 - @standardnotes/syncing-server@1.29.9
 - @standardnotes/websockets-server@1.5.13
 - @standardnotes/workspace-server@1.19.16
2023-01-20 13:53:37 +00:00
Karol Sójko 589f8e62f4 fix: dependency issues 2023-01-20 14:51:34 +01:00
Karol Sójko 27f45f7cf6 fix(websockets): bundling issue 2023-01-20 14:43:11 +01:00
Karol Sójko 48af4ac79c chore: upgrade @standardnotes/* dependencies 2023-01-20 14:31:23 +01:00
standardci 9b6baab1e0 chore(release): publish new version
- @standardnotes/analytics@2.19.12
 - @standardnotes/api-gateway@1.46.7
 - @standardnotes/auth-server@1.84.6
 - @standardnotes/domain-events-infra@1.9.67
 - @standardnotes/domain-events@2.106.2
 - @standardnotes/event-store@1.6.66
 - @standardnotes/files-server@1.9.12
 - @standardnotes/revisions-server@1.10.20
 - @standardnotes/scheduler-server@1.16.16
 - @standardnotes/syncing-server@1.29.8
 - @standardnotes/websockets-server@1.5.12
 - @standardnotes/workspace-server@1.19.15
2023-01-20 13:30:38 +00:00
Karol Sójko 3ba4e712dc chore: remove circular dep 2023-01-20 14:27:54 +01:00
Karol Sójko 5bf3ecdf42 Revert "chore: upgrade @standardnotes/* dependencies"
This reverts commit bd6fd472a6.
2023-01-20 14:26:58 +01:00
Karol Sójko bd6fd472a6 chore: upgrade @standardnotes/* dependencies 2023-01-20 14:08:55 +01:00
standardci 7f4776b52b chore(release): publish new version
- @standardnotes/analytics@2.19.11
 - @standardnotes/api-gateway@1.46.6
 - @standardnotes/auth-server@1.84.5
 - @standardnotes/common@1.46.4
 - @standardnotes/domain-core@1.11.2
 - @standardnotes/domain-events-infra@1.9.66
 - @standardnotes/domain-events@2.106.1
 - @standardnotes/event-store@1.6.65
 - @standardnotes/files-server@1.9.11
 - @standardnotes/predicates@1.6.5
 - @standardnotes/revisions-server@1.10.19
 - @standardnotes/scheduler-server@1.16.15
 - @standardnotes/security@1.7.6
 - @standardnotes/settings@1.19.1
 - @standardnotes/sncrypto-node@1.13.1
 - @standardnotes/syncing-server@1.29.7
 - @standardnotes/time@1.14.1
 - @standardnotes/websockets-server@1.5.11
 - @standardnotes/workspace-server@1.19.14
2023-01-20 10:59:12 +00:00
Karol Sójko d20f03127a chore(deps): upgrade eslint tools 2023-01-20 10:16:04 +01:00
Karol Sójko 4b6c7774e0 chore: bring back e2e tests 2023-01-20 09:54:30 +01:00
standardci d02bca8879 chore(release): publish new version
- @standardnotes/auth-server@1.84.4
2023-01-20 00:06:06 +00:00
moughxyz 5e654ccf94 temp: disable e2e tests 2023-01-19 18:03:54 -06:00
standardci 7d3e5c22fb chore(release): publish new version
- @standardnotes/auth-server@1.84.2
2023-01-19 23:29:14 +00:00
moughxyz 23eb61ee5f refactor: offlineRoles => roles 2023-01-19 17:27:20 -06:00
standardci 2cded4b2d1 chore(release): publish new version
- @standardnotes/auth-server@1.84.1
 - @standardnotes/syncing-server@1.29.6
2023-01-19 23:25:55 +00:00
moughxyz ba7662fc1e fix: strings for role names 2023-01-19 17:23:58 -06:00
standardci 832a48ac76 chore(release): publish new version
- @standardnotes/analytics@2.19.10
 - @standardnotes/api-gateway@1.46.5
 - @standardnotes/auth-server@1.84.0
 - @standardnotes/domain-events-infra@1.9.65
 - @standardnotes/domain-events@2.106.0
 - @standardnotes/event-store@1.6.64
 - @standardnotes/files-server@1.9.10
 - @standardnotes/revisions-server@1.10.18
 - @standardnotes/scheduler-server@1.16.14
 - @standardnotes/syncing-server@1.29.5
 - @standardnotes/websockets-server@1.5.10
 - @standardnotes/workspace-server@1.19.13
2023-01-19 22:31:28 +00:00
Mo 2db0c125fe feat: offline roles (#419) 2023-01-19 16:29:36 -06:00
standardci 20d9624bc6 chore(release): publish new version
- @standardnotes/auth-server@1.83.1
2023-01-19 19:40:49 +00:00
moughxyz f20ee68f50 Revert "feat: include roles in offline features request (#418)"
This reverts commit 2e7fdd93dd.
2023-01-19 13:38:46 -06:00
standardci cbf45ce3eb chore(release): publish new version
- @standardnotes/auth-server@1.83.0
2023-01-19 19:18:16 +00:00
Mo 2e7fdd93dd feat: include roles in offline features request (#418) 2023-01-19 13:16:16 -06:00
standardci 8ce38f82b5 chore(release): publish new version
- @standardnotes/analytics@2.19.9
 - @standardnotes/api-gateway@1.46.4
 - @standardnotes/auth-server@1.82.6
 - @standardnotes/domain-events-infra@1.9.64
 - @standardnotes/domain-events@2.105.5
 - @standardnotes/event-store@1.6.63
 - @standardnotes/files-server@1.9.9
 - @standardnotes/revisions-server@1.10.17
 - @standardnotes/scheduler-server@1.16.13
 - @standardnotes/syncing-server@1.29.4
 - @standardnotes/websockets-server@1.5.9
 - @standardnotes/workspace-server@1.19.12
2023-01-19 16:19:54 +00:00
Aman Harwara ec5429eeec fix: expected value for unit test (#417) 2023-01-19 21:47:32 +05:30
standardci 4b17c4045d chore(release): publish new version
- @standardnotes/analytics@2.19.8
 - @standardnotes/api-gateway@1.46.3
 - @standardnotes/auth-server@1.82.5
 - @standardnotes/common@1.46.3
 - @standardnotes/domain-events-infra@1.9.63
 - @standardnotes/domain-events@2.105.4
 - @standardnotes/event-store@1.6.62
 - @standardnotes/files-server@1.9.8
 - @standardnotes/predicates@1.6.4
 - @standardnotes/revisions-server@1.10.16
 - @standardnotes/scheduler-server@1.16.12
 - @standardnotes/security@1.7.5
 - @standardnotes/syncing-server@1.29.3
 - @standardnotes/websockets-server@1.5.8
 - @standardnotes/workspace-server@1.19.11
2023-01-19 14:13:50 +00:00
Karol Sójko aaf42e4693 refactor: remove Uuid from @standardnotes/common in favour of @standardnotes/domain-core definition 2023-01-19 15:11:47 +01:00
standardci 0e3cbfc40b chore(release): publish new version
- @standardnotes/analytics@2.19.7
 - @standardnotes/api-gateway@1.46.2
 - @standardnotes/auth-server@1.82.4
 - @standardnotes/common@1.46.2
 - @standardnotes/domain-events-infra@1.9.62
 - @standardnotes/domain-events@2.105.3
 - @standardnotes/event-store@1.6.61
 - @standardnotes/files-server@1.9.7
 - @standardnotes/predicates@1.6.3
 - @standardnotes/revisions-server@1.10.15
 - @standardnotes/scheduler-server@1.16.11
 - @standardnotes/security@1.7.4
 - @standardnotes/syncing-server@1.29.2
 - @standardnotes/websockets-server@1.5.7
 - @standardnotes/workspace-server@1.19.10
2023-01-19 13:08:22 +00:00
Karol Sójko a95ca05c10 refactor: remove RoleName from @standardnotes/common in favour of @standardnotes/domain-core definition 2023-01-19 14:05:48 +01:00
standardci 56b600dbdc chore(release): publish new version
- @standardnotes/analytics@2.19.6
 - @standardnotes/api-gateway@1.46.1
 - @standardnotes/auth-server@1.82.3
 - @standardnotes/domain-events-infra@1.9.61
 - @standardnotes/event-store@1.6.60
 - @standardnotes/files-server@1.9.6
 - @standardnotes/revisions-server@1.10.14
 - @standardnotes/scheduler-server@1.16.10
 - @standardnotes/syncing-server@1.29.1
 - @standardnotes/websockets-server@1.5.6
 - @standardnotes/workspace-server@1.19.9
2023-01-18 18:22:21 +00:00
Karol Sójko 80a013d0a3 fix: missing dependencies 2023-01-18 19:19:34 +01:00
Karol Sójko 7ef59bb74c chore(deps): upgrade newrelic 2023-01-18 19:19:07 +01:00
standardci 9cf1a9e25c chore(release): publish new version
- @standardnotes/auth-server@1.82.2
2023-01-18 16:51:51 +00:00
Aman Harwara 0fce6c0cd4 chore: update @standardnotes/features (#415) 2023-01-18 22:19:47 +05:30
standardci 2d444e9aa0 chore(release): publish new version
- @standardnotes/syncing-server@1.29.0
2023-01-18 08:03:57 +00:00
Karol Sójko 7c393b1125 feat(syncing-server): remove saving revisions in syncing-server database in favour of the revisions server 2023-01-18 09:01:46 +01:00
standardci 78ab4dc94d chore(release): publish new version
- @standardnotes/analytics@2.19.5
 - @standardnotes/auth-server@1.82.1
 - @standardnotes/event-store@1.6.59
 - @standardnotes/revisions-server@1.10.13
 - @standardnotes/scheduler-server@1.16.9
 - @standardnotes/syncing-server@1.28.10
 - @standardnotes/websockets-server@1.5.5
 - @standardnotes/workspace-server@1.19.8
2023-01-17 14:49:52 +00:00
Karol Sójko 6a5904cfaa chore(deps): upgrade mysql2 2023-01-17 15:47:43 +01:00
standardci a6061ec2a9 chore(release): publish new version
- @standardnotes/revisions-server@1.10.12
2023-01-17 13:56:18 +00:00
Karol Sójko 51c777304b fix(revisions): fetching revisions metadata 2023-01-17 14:54:22 +01:00
standardci fbd535f2c5 chore(release): publish new version
- @standardnotes/auth-server@1.82.0
2023-01-17 13:18:05 +00:00
Aman Harwara 7d456671c2 feat: super editor permissions migration (#414) 2023-01-17 18:45:20 +05:30
standardci dd4924c925 chore(release): publish new version
- @standardnotes/analytics@2.19.4
 - @standardnotes/auth-server@1.81.11
 - @standardnotes/event-store@1.6.58
 - @standardnotes/revisions-server@1.10.11
 - @standardnotes/scheduler-server@1.16.8
 - @standardnotes/syncing-server@1.28.9
 - @standardnotes/workspace-server@1.19.7
2023-01-17 12:47:34 +00:00
Karol Sójko f73129cd7e fix: allow to run typeorm in non-replica mode 2023-01-17 13:45:32 +01:00
standardci 4983c8741e chore(release): publish new version
- @standardnotes/revisions-server@1.10.10
2023-01-17 10:55:57 +00:00
Karol Sójko c5798640ff fix(revisions): add debug logs for retrieving revisions metadata from mysql 2023-01-17 11:53:57 +01:00
standardci 5803a8018a chore(release): publish new version
- @standardnotes/revisions-server@1.10.9
2023-01-17 10:02:11 +00:00
Karol Sójko e2aae8ac8a fix(revisions): response structure 2023-01-17 11:00:05 +01:00
Karol Sójko 2917aeeb32 fix: turn some of the applications into a utility publishing workflow 2023-01-17 10:24:45 +01:00
standardci 9377c03c3f chore(release): publish new version
- @standardnotes/syncing-server@1.28.8
2023-01-17 09:09:03 +00:00
Karol Sójko 9b926fbad6 fix(syncing-server-js): creating directory for revision dumps 2023-01-17 10:07:01 +01:00
Karol Sójko 8db19c3e2b fix(syncing-server-js): add debug logs for dumping items for revisions creation 2023-01-17 10:02:17 +01:00
standardci ca970781c7 chore(release): publish new version
- @standardnotes/analytics@2.19.3
 - @standardnotes/auth-server@1.81.10
 - @standardnotes/domain-core@1.11.1
 - @standardnotes/revisions-server@1.10.8
 - @standardnotes/scheduler-server@1.16.7
 - @standardnotes/syncing-server@1.28.7
 - @standardnotes/workspace-server@1.19.6
2023-01-16 14:36:54 +00:00
Karol Sójko e7beee2788 fix(revisions): add required role to revisions list response 2023-01-16 15:34:20 +01:00
standardci d266eada88 chore(release): publish new version
- @standardnotes/revisions-server@1.10.7
2023-01-16 10:22:58 +00:00
Karol Sójko 11b8b078b4 fix(revisions): remove redundant specs 2023-01-16 11:20:58 +01:00
standardci 37912fa29a chore(release): publish new version
- @standardnotes/revisions-server@1.10.6
2023-01-16 10:14:55 +00:00
Karol Sójko b97dafe6f3 fix(revisions): mapping to snake case 2023-01-16 11:12:29 +01:00
standardci 2a29151395 chore(release): publish new version
- @standardnotes/revisions-server@1.10.5
2023-01-16 10:01:02 +00:00
Karol Sójko 8b988d89c0 fix(revisions): response structure 2023-01-16 10:58:39 +01:00
standardci c0908f1b58 chore(release): publish new version
- @standardnotes/api-gateway@1.46.0
2023-01-16 09:02:31 +00:00
Karol Sójko bb46044f7c Merge pull request #366 from standardnotes/switch_revisions
feat(api-gateway): switch to fetching revisions from reivsions server
2023-01-16 10:00:37 +01:00
Karol Sójko 60b3dd6138 feat(api-gateway): add all revisions endpoints on v2 2023-01-16 09:40:07 +01:00
Karol Sójko 22c1f936c3 feat(api-gateway): switch to fetching revisions from reivsions server 2023-01-16 09:33:13 +01:00
standardci e899874b04 chore(release): publish new version
- @standardnotes/api-gateway@1.45.3
2023-01-16 08:32:47 +00:00
Karol Sójko 04c6888cf6 fix(api-gateway): add noindex robots meta tag to api gateway homepage 2023-01-16 09:30:02 +01:00
472 changed files with 3787 additions and 14655 deletions
+4 -5
View File
@@ -11,19 +11,18 @@ on:
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
with:
service_name: analytics
workspace_name: "@standardnotes/analytics"
e2e_tag_parameter_name: analytics_image_tag
deploy_web: false
package_path: packages/analytics
secrets: inherit
newrelic:
needs: call_server_application_workflow
needs: call_server_utility_workflow
runs-on: ubuntu-latest
+164
View File
@@ -0,0 +1,164 @@
name: Reusable Server Utility Workflow
on:
workflow_call:
inputs:
service_name:
required: true
type: string
workspace_name:
required: true
type: string
deploy_web:
required: false
default: true
type: boolean
deploy_worker:
required: false
default: true
type: boolean
package_path:
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
CI_PAT_TOKEN:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
jobs:
build:
runs-on: ubuntu-latest
outputs:
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build ${{ inputs.package_path }}
- name: Bundle
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Lint
run: yarn lint:${{ inputs.service_name }}
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Test
run: yarn test ${{ inputs.package_path }}
publish:
needs: [ build, test, lint ]
name: Publish Docker Image
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
with:
service_name: ${{ inputs.service_name }}
bundle_dir: ${{ needs.build.outputs.temp_dir }}
package_path: ${{ inputs.package_path }}
workspace_name: ${{ inputs.workspace_name }}
secrets: inherit
deploy-web:
if: ${{ inputs.deploy_web }}
needs: publish
name: Deploy Web
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit
deploy-worker:
if: ${{ inputs.deploy_worker }}
needs: publish
name: Deploy Worker
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}-worker
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit
+4 -5
View File
@@ -11,19 +11,18 @@ on:
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
with:
service_name: event-store
workspace_name: "@standardnotes/event-store"
e2e_tag_parameter_name: event_store_image_tag
deploy_web: false
package_path: packages/event-store
secrets: inherit
newrelic:
needs: call_server_application_workflow
needs: call_server_utility_workflow
runs-on: ubuntu-latest
+4 -5
View File
@@ -11,19 +11,18 @@ on:
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
with:
service_name: scheduler
workspace_name: "@standardnotes/scheduler-server"
e2e_tag_parameter_name: scheduler_image_tag
deploy_web: false
package_path: packages/scheduler
secrets: inherit
newrelic:
needs: call_server_application_workflow
needs: call_server_utility_workflow
runs-on: ubuntu-latest
+4 -5
View File
@@ -11,18 +11,17 @@ on:
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
with:
service_name: websockets
workspace_name: "@standardnotes/websockets-server"
e2e_tag_parameter_name: websockets_image_tag
package_path: packages/websockets
secrets: inherit
newrelic:
needs: call_server_application_workflow
needs: call_server_utility_workflow
runs-on: ubuntu-latest
steps:
+4 -5
View File
@@ -11,18 +11,17 @@ on:
workflow_dispatch:
jobs:
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
with:
service_name: workspace
workspace_name: "@standardnotes/workspace-server"
e2e_tag_parameter_name: workspace_image_tag
package_path: packages/workspace
secrets: inherit
newrelic:
needs: call_server_application_workflow
needs: call_server_utility_workflow
runs-on: ubuntu-latest
steps:
Generated
+418 -728
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,18 @@
Copyright 2022 Contrast Security, Inc
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,43 @@
# @contrast/fn-inspect
[![Test](https://github.com/Contrast-Security-Inc/node-fn-inspect/actions/workflows/test.yml/badge.svg)](https://github.com/Contrast-Security-Inc/node-fn-inspect/actions/workflows/test.yml)
This module exposes some useful information from the underlying v8 engine,
including:
- file and line number given a function reference
- code events (i.e. `'LAZY_COMPILE'`)
## Usage
Getting details about a function:
```js
const { funcInfo } = require('@contrast/fn-inspect');
function testFn() {}
const results = funcInfo(testFn);
// => { lineNumber: 2, column: 15, file: 'example.js', method: 'testFn', type: 'Function' }
```
Registering a listener for code events:
```js
const { setCodeEventListener } = require('@contrast/fn-inspect');
setCodeEventListener((event) => {
console.log(event);
});
```
## Building locally
`npm run build` will build the project for your current OS and architecture.
`npm run download` will pull the most recent build artifacts from GitHub.
## Publishing
Simply run `npm version` and `git push && git push --tags`. CI will take care of
releasing on taggedcommits.
@@ -0,0 +1,36 @@
{
"variables" : {
"openssl_fips": "",
},
"targets": [
{
"target_name": "fninspect",
"sources": [
"src/addon.cc",
"src/code-events.cc",
"src/event-queue.cc",
"src/func-info.cc"
],
"include_dirs": [
"<!(node -e \"require('nan')\")"
],
"conditions": [
[
"OS == 'mac'",
{
"xcode_settings": {
"OTHER_CFLAGS": [
"-arch x86_64",
"-arch arm64"
],
"OTHER_LDFLAGS": [
"-arch x86_64",
"-arch arm64"
]
}
}
]
]
}
]
}
@@ -0,0 +1,45 @@
/* eslint-disable @typescript-eslint/ban-types */
declare interface FunctionInfo {
file: string;
column: number;
lineNumber: number;
method: string;
type: 'AsyncFunction' | 'Function';
}
declare interface CodeEvent {
func: string;
lineNumber: number;
script: string;
type:
| 'Builtin'
| 'Callback'
| 'Eval'
| 'Function'
| 'InterpretedFunction'
| 'Handler'
| 'BytecodeHandler'
| 'LazyCompile'
| 'RegExp'
| 'Script'
| 'Stub'
| 'Relocation'
}
declare const fnInspect: {
/** Retrieves name, type, column, lineNumber and file from a function reference */
funcInfo(fn: Function): FunctionInfo | null;
/**
* Sets the function for processing v8 code events.
* Will start listening for code events if not already listening.
* starts a timer which polls for an available code event once every `interval` ms.
*/
setCodeEventListener(cb: (event: CodeEvent) => void, interval?: number): void;
/** Stop listening for v8 code events */
stopListening(): void;
};
export = fnInspect;
@@ -0,0 +1,58 @@
'use strict';
const binding = require('node-gyp-build')(__dirname);
let codeEventsInited = false;
let codeEventListener = null;
let timer = null;
module.exports = {
/**
* Retrieves name, type, column, lineNumber and file from a function reference
*
* @param {Function} fn function reference to obtain info
* @return {FunctionInfo | null}
*/
funcInfo(fn) {
const info = binding.funcInfo(fn);
if (info === null) return null;
info.type = fn.constructor.name;
return info;
},
/**
* Sets the function for processing v8 code events.
* Will start listening for code events if not already listening.
* starts a timer which polls for an available code event once every `interval` value.
*
* @param {Function} cb callback function to call
* @param {number} [interval=1] how often to get code events in ms
*/
setCodeEventListener(cb, interval = 1) {
if (codeEventsInited) {
codeEventListener = cb;
return;
}
binding.initHandler();
codeEventsInited = true;
codeEventListener = cb;
timer = setInterval(() => {
const codeEvent = binding.getNextCodeEvent();
if (codeEvent) codeEventListener(codeEvent);
}, interval);
},
/**
* Stop listening for v8 code events
*/
stopListening() {
if (!codeEventsInited) return;
clearInterval(timer);
binding.deinitHandler();
codeEventListener = null;
codeEventsInited = false;
},
};
@@ -0,0 +1,63 @@
{
"name": "@contrast/fn-inspect",
"version": "3.3.0",
"description": "Retrieve function name and line number from a function reference",
"keywords": [
"instrumentation"
],
"author": "Contrast Security",
"license": "MIT",
"repository": {
"type": "git",
"url": "git+https://github.com/Contrast-Security-Inc/node-fn-inspect.git"
},
"bugs": {
"url": "https://github.com/Contrast-Security-Inc/node-fn-inspect/issues"
},
"homepage": "https://github.com/Contrast-Security-Inc/node-fn-inspect#readme",
"files": [
"prebuilds/",
"src/",
"binding.gyp",
"index.d.ts",
"index.js"
],
"main": "index.js",
"types": "index.d.ts",
"scripts": {
"install": "node-gyp-build",
"prepare": "husky install",
"build": "prebuildify -t 12.13.0 -t 14.15.0 -t 16.9.1 -t 18.7.0 --strip",
"build:linux": "prebuildify-cross -i centos7-devtoolset7 -i alpine -i linux-arm64 -t 12.13.0 -t 14.15.0 -t 16.9.1 -t 18.7.0 --strip",
"build:darwin": "npm run build -- --arch x64+arm64",
"build:win32": "npm run build",
"clean": "rimraf build/ coverage/ prebuilds/",
"download": "node scripts/download-artifacts.js",
"test": "c8 --reporter lcov --reporter text mocha .",
"test:valgrind": "valgrind --xml=yes --xml-file=./valgrind.xml --trace-children=yes --leak-check=full --show-leak-kinds=all mocha . && node scripts/parse-valgrind.js"
},
"engines": {
"node": ">=12.13.0"
},
"dependencies": {
"nan": "^2.16.0",
"node-gyp-build": "^4.4.0"
},
"devDependencies": {
"@contrast/eslint-config": "^3.1.1",
"@ls-lint/ls-lint": "^1.11.2",
"@octokit/rest": "^18.12.0",
"c8": "^7.11.3",
"chai": "^4.3.6",
"husky": "^8.0.1",
"inquirer": "^8.2.4",
"lint-staged": "^13.0.1",
"mocha": "^10.0.0",
"node-gyp": "^9.0.0",
"prebuildify": "^5.0.0",
"prebuildify-cross": "^5.0.0",
"rimraf": "^3.0.2",
"unzipper": "^0.10.11",
"xml-js": "^1.6.11"
}
}

Some files were not shown because too many files have changed in this diff Show More