diff --git a/src/common/techs.ts b/src/common/techs.ts index 5a3305b3..60758e9d 100644 --- a/src/common/techs.ts +++ b/src/common/techs.ts @@ -60,6 +60,7 @@ export const list: TechItem[] = [ { key: 'gcp.secretmanager', name: 'Secret manager', type: 'db' }, { key: 'gcp.translate', name: 'Translate', type: 'api' }, { key: 'gcp.speech', name: 'Speech', type: 'api' }, + { key: 'gcp.vision', name: 'Vision', type: 'api' }, { key: 'gcp.pubsub', name: 'PubSub', type: 'messaging' }, { key: 'gcp.gce', name: 'Compute Engine', type: 'hosting' }, { key: 'gcp.gcs', name: 'Cloud Storage', type: 'storage' }, diff --git a/src/rules/api/gcp.vision.ts b/src/rules/api/gcp.vision.ts new file mode 100644 index 00000000..4f30e08d --- /dev/null +++ b/src/rules/api/gcp.vision.ts @@ -0,0 +1,13 @@ +import { register } from '../../rules.js'; + +register({ + tech: 'gcp.vision', + dependencies: [ + { type: 'npm', name: '@google-cloud/vision' }, + { + type: 'ruby', + name: /^google-cloud-vision/, + example: 'google-cloud-vision-v1', + }, + ], +}); diff --git a/src/rules/api/index.ts b/src/rules/api/index.ts index 320c4e5e..4f34501f 100644 --- a/src/rules/api/index.ts +++ b/src/rules/api/index.ts @@ -3,3 +3,4 @@ import './gcp.language.js'; import './gcp.maps.js'; import './gcp.speech.js'; import './gcp.translate.js'; +import './gcp.vision.js'; diff --git a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap index 1acaf05a..7f78c335 100644 --- a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap @@ -38,6 +38,7 @@ exports[`npm > should match everything 1`] = ` "gcp.speech", "gcp.sql", "gcp.translate", + "gcp.vision", "github", "hotjar", "influxdb", diff --git a/src/rules/spec/ruby/__snapshots__/component.test.ts.snap b/src/rules/spec/ruby/__snapshots__/component.test.ts.snap index 326291e3..f7f99ac7 100644 --- a/src/rules/spec/ruby/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/ruby/__snapshots__/component.test.ts.snap @@ -8,6 +8,7 @@ Set { "gcp.maps", "gcp.speech", "gcp.translate", + "gcp.vision", "zookeeper", "aws", "aws.dynamodb", @@ -255,6 +256,11 @@ exports[`ruby (component) > should match everything 2`] = ` "google-cloud-translate-v1", "1.0.0", ], + [ + "ruby", + "google-cloud-vision-v1", + "1.0.0", + ], [ "ruby", "google_maps_service", diff --git a/src/types/techs.ts b/src/types/techs.ts index 656184d1..b1ad6cc7 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -76,6 +76,7 @@ export type AllowedKeys = | 'gcp.speech' | 'gcp.sql' | 'gcp.translate' + | 'gcp.vision' | 'gcp' | 'github.actions' | 'github.pages'