Skip to content

Commit

Permalink
docs(node-mono-repo): update README (#1700)
Browse files Browse the repository at this point in the history
* docs(node-mono-repo): update README
  • Loading branch information
sofisl committed Nov 8, 2022
1 parent cd62a19 commit 43838c6
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 4 deletions.
4 changes: 2 additions & 2 deletions synthtool/gcp/templates/node_mono_repo_library/README.md
Expand Up @@ -24,11 +24,11 @@
{% endif %}

A comprehensive list of changes in each version may be found in
[the CHANGELOG](https://github.com/{{ metadata['repo']['repo'] }}/blob/{{metadata['repo']['default_branch']}}/CHANGELOG.md).
[the CHANGELOG]({{ metadata['homepage'] }}/CHANGELOG.md).

{% if metadata['repo']['client_documentation'] %}* [{{ metadata['repo']['name_pretty'] }} {{ metadata['repo']['language']|language_pretty }} Client API Reference][client-docs]{% endif %}
{% if metadata['repo']['product_documentation'] %}* [{{ metadata['repo']['name_pretty'] }} Documentation][product-docs]{% endif %}
* [github.com/{{ metadata['repo']['repo'] }}](https://github.com/{{ metadata['repo']['repo'] }})
* [github.com/{{ metadata['full_directory_path'] }}]({{ metadata['homepage'] }})

Read more about the client libraries for Cloud APIs, including the older
Google APIs Client Libraries, in [Client Libraries Explained][explained].
Expand Down
18 changes: 17 additions & 1 deletion synthtool/languages/node_mono_repo.py
Expand Up @@ -47,8 +47,24 @@ def read_metadata(relative_dir: str):
f"package.json is missing required fields {_REQUIRED_FIELDS}"
)

repo = git.parse_repo_url(data["repository"])
repo_url = (
data["repository"]
if isinstance(data["repository"], str)
else data["repository"]["url"]
)

repo = git.parse_repo_url(repo_url)

data["full_directory_path"] = (
data["repository"]
if isinstance(data["repository"], str)
else f'{repo["owner"]}/{repo["name"]}/{data["repository"]["directory"]}'
)
data["homepage"] = (
data["repository"]
if isinstance(data["repository"], str)
else data["homepage"]
)
data["repository"] = f'{repo["owner"]}/{repo["name"]}'
data["repository_name"] = repo["name"]
data["lib_install_cmd"] = f'npm install {data["name"]}'
Expand Down
77 changes: 77 additions & 0 deletions tests/fixtures/node_templates/package_json_mono_repo/package.json
@@ -0,0 +1,77 @@
{
"name": "@google-cloud/dlp",
"description": "DLP API client for Node.js",
"version": "3.1.0",
"license": "Apache-2.0",
"author": "Google Inc",
"engines": {
"node": ">=10.0.0"
},
"repository": {
"type": "git",
"url": "https://github.com/googleapis/google-cloud-node.git",
"directory": "packages/google-cloud-dlp"
},
"homepage": "https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dlp",
"main": "build/src/index.js",
"files": [
"build/protos",
"build/src"
],
"keywords": [
"google apis client",
"google api client",
"google apis",
"google api",
"google",
"google cloud platform",
"google cloud",
"cloud",
"google dlp",
"dlp",
"DLP API"
],
"scripts": {
"test": "c8 mocha build/test",
"samples-test": "cd samples/ && npm link ../ && npm install && npm test && cd ../",
"system-test": "mocha build/system-test",
"docs": "jsdoc -c .jsdoc.js",
"lint": "gts check",
"fix": "gts fix",
"docs-test": "linkinator docs",
"clean": "gts clean",
"compile": "tsc -p . && cp -r protos build/",
"compile-protos": "compileProtos src",
"predocs-test": "npm run docs",
"prepare": "npm run compile-protos && npm run compile",
"prelint": "cd samples; npm link ../; npm install",
"precompile": "gts clean",
"api-extractor": "api-extractor run --local",
"api-documenter": "api-documenter yaml --input-folder=temp"
},
"dependencies": {
"google-gax": "^2.9.2",
"protobufjs": "^6.8.0"
},
"devDependencies": {
"@types/mocha": "^8.0.0",
"@types/node": "^12.0.0",
"@types/sinon": "^9.0.0",
"c8": "^7.0.0",
"gts": "^2.0.0",
"jsdoc": "^3.5.5",
"jsdoc-fresh": "^1.0.1",
"jsdoc-region-tag": "^1.0.2",
"linkinator": "^2.0.0",
"mocha": "^8.0.0",
"null-loader": "^4.0.0",
"pack-n-play": "^1.0.0-2",
"sinon": "^14.0.0",
"ts-loader": "^9.0.0",
"typescript": "^3.8.3",
"webpack": "^5.0.0",
"webpack-cli": "^4.0.0",
"@microsoft/api-documenter": "^7.8.10",
"@microsoft/api-extractor": "^7.8.10"
}
}
29 changes: 28 additions & 1 deletion tests/test_node_mono_repo.py
Expand Up @@ -15,6 +15,7 @@
import filecmp
import pathlib
import re
import os
from pathlib import Path
from unittest import TestCase
from unittest.mock import patch
Expand Down Expand Up @@ -52,6 +53,22 @@ def test_quickstart_metadata_with_snippet():
)


def test_package_json_mono_repo():
with util.chdir(FIXTURES / "node_templates" / "package_json_mono_repo"):
metadata = node_mono_repo.template_metadata(
FIXTURES / "node_templates" / "package_json_mono_repo"
)
assert (
"https://github.com/googleapis/google-cloud-node/tree/main/packages/google-cloud-dlp"
in metadata["homepage"]
)
print(metadata["full_directory_path"])
assert (
"google-cloud-node/packages/google-cloud-dlp"
in metadata["full_directory_path"]
)


def test_metadata_engines_field():
with util.chdir(FIXTURES / "node_templates" / "standard"):
metadata = node_mono_repo.template_metadata(
Expand Down Expand Up @@ -180,7 +197,9 @@ def test_write_release_please_config():


def test_copy_quickstart():
with util.copied_fixtures_dir(FIXTURES):
with util.copied_fixtures_dir(
FIXTURES / "nodejs_mono_repo_with_samples" / "packages" / "datastore"
):
node_mono_repo.copy_list_sample_to_quickstart(
FIXTURES / "nodejs_mono_repo_with_samples" / "packages" / "datastore"
)
Expand All @@ -204,6 +223,14 @@ def test_copy_quickstart():
/ "compare_to_quickstart.js"
),
)
os.remove(
FIXTURES
/ "nodejs_mono_repo_with_samples"
/ "packages"
/ "datastore"
/ "samples"
/ "quickstart.js"
)


def test_generate_index_ts_empty_versions():
Expand Down

0 comments on commit 43838c6

Please sign in to comment.