From b7b91dbc895b089b7866e898043126114150599b Mon Sep 17 00:00:00 2001 From: Elad Ben-Israel Date: Tue, 6 Nov 2018 18:09:37 +0200 Subject: [PATCH] chore: .gitignore per module (#293) Since we have multiple languages, using the top-level .gitignore is a really bad habit. For example, many of the .NET ignores would hide everything behind "bin/". Anyway - create a .gitignore file per module. --- .gitignore | 374 +------------------ packages/codemaker/.gitignore | 6 + packages/jsii-build-tools/.gitignore | 5 + packages/jsii-calc-base-of-base/.gitignore | 6 + packages/jsii-calc-base/.gitignore | 11 + packages/jsii-calc-bundled/.gitignore | 13 +- packages/jsii-calc-lib/.gitignore | 6 + packages/jsii-calc/.gitignore | 7 + packages/jsii-dotnet-generator/.gitignore | 11 + packages/jsii-dotnet-jsonmodel/.gitignore | 11 + packages/jsii-dotnet-runtime-test/.gitignore | 13 + packages/jsii-dotnet-runtime/.gitignore | 12 + packages/jsii-kernel/.gitignore | 5 + packages/jsii-pacmak/.gitignore | 5 + packages/jsii-pacmak/package-lock.json | 57 +-- packages/jsii-runtime/.gitignore | 6 + packages/jsii-spec/.gitignore | 6 + packages/jsii/.gitignore | 6 + 18 files changed, 162 insertions(+), 398 deletions(-) create mode 100644 packages/jsii-build-tools/.gitignore create mode 100644 packages/jsii-kernel/.gitignore diff --git a/.gitignore b/.gitignore index 3afdbc282d..f6a6818fde 100644 --- a/.gitignore +++ b/.gitignore @@ -1,373 +1,3 @@ -.vscode - -*.snk -*.js -*.d.ts -dist/ -pack/ - -.BUILD_COMPLETED -packages/jsii-dotnet-generator/cli/ - -# Created by https://www.gitignore.io/api/node,csharp - -### Csharp ### -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. -## -## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore - -# User-specific files -*.suo -*.user -*.userosscache -*.sln.docstates - -# User-specific files (MonoDevelop/Xamarin Studio) -*.userprefs - -# Build results -[Dd]ebug/ -[Dd]ebugPublic/ -[Rr]elease/ -[Rr]eleases/ -x64/ -x86/ -bld/ -[Bb]in/ -[Oo]bj/ -[Ll]og/ - -# Visual Studio 2015 cache/options directory -.vs/ -# Uncomment if you have tasks that create the project's static files in wwwroot -#wwwroot/ - -# MSTest test Results -[Tt]est[Rr]esult*/ -[Bb]uild[Ll]og.* - -# NUNIT -*.VisualState.xml -TestResult.xml - -# Build Results of an ATL Project -[Dd]ebugPS/ -[Rr]eleasePS/ -dlldata.c - -# .NET Core -project.lock.json -project.fragment.lock.json -artifacts/ -**/Properties/launchSettings.json - -*_i.c -*_p.c -*_i.h -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.tmp_proj -*.log -*.vspscc -*.vssscc -.builds -*.pidb -*.svclog -*.scc - -# Chutzpah Test files -_Chutzpah* - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opendb -*.opensdf -*.sdf -*.cachefile -*.VC.db -*.VC.VC.opendb - -# Visual Studio profiler -*.psess -*.vsp -*.vspx -*.sap - -# TFS 2012 Local Workspace -$tf/ - -# Guidance Automation Toolkit -*.gpState - -# ReSharper is a .NET coding add-in -_ReSharper*/ -*.[Rr]e[Ss]harper -*.DotSettings.user - -# JustCode is a .NET coding add-in -.JustCode - -# TeamCity is a build add-in -_TeamCity* - -# DotCover is a Code Coverage Tool -*.dotCover - -# Visual Studio code coverage results -*.coverage -*.coveragexml - -# NCrunch -_NCrunch_* -.*crunch*.local.xml -nCrunchTemp_* - -# MightyMoose -*.mm.* -AutoTest.Net/ - -# Web workbench (sass) -.sass-cache/ - -# Installshield output folder -[Ee]xpress/ - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish/ - -# Publish Web Output -*.[Pp]ublish.xml -*.azurePubxml -# TODO: Uncomment the next line to ignore your web deploy settings. -# By default, sensitive information, such as encrypted password -# should be stored in the .pubxml.user file. -#*.pubxml -*.pubxml.user -*.publishproj - -# Microsoft Azure Web App publish settings. Comment the next line if you want to -# checkin your Azure Web App publish settings, but sensitive information contained -# in these scripts will be unencrypted -PublishScripts/ - -# NuGet Packages -*.nupkg -# The packages folder can be ignored because of Package Restore -**/packages/* -# except build/, which is used as an MSBuild target. -!**/packages/build/ -# Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignorable files -*.nuget.props -*.nuget.targets - -# Microsoft Azure Build Output -csx/ -*.build.csdef - -# Microsoft Azure Emulator -ecf/ -rcf/ - -# Windows Store app package directories and files -AppPackages/ -BundleArtifacts/ -Package.StoreAssociation.xml -_pkginfo.txt - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ - -# Others -ClientBin/ -~$* -*~ -*.dbmdl -*.dbproj.schemaview -*.jfm -*.pfx -*.publishsettings -orleans.codegen.cs - -# Since there are multiple workflows, uncomment next line to ignore bower_components -# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) -#bower_components/ - -# RIA/Silverlight projects -Generated_Code/ - -# Backup & report files from converting an old project file -# to a newer Visual Studio version. Backup files are not needed, -# because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML -UpgradeLog*.htm - -# SQL Server files -*.mdf -*.ldf -*.ndf - -# Business Intelligence projects -*.rdl.data -*.bim.layout -*.bim_*.settings - -# Microsoft Fakes -FakesAssemblies/ - -# GhostDoc plugin setting file -*.GhostDoc.xml - -# Node.js Tools for Visual Studio -.ntvs_analysis.dat node_modules/ - -# Typescript v1 declaration files -typings/ - -# Visual Studio 6 build log -*.plg - -# Visual Studio 6 workspace options file -*.opt - -# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) -*.vbw - -# Visual Studio LightSwitch build output -**/*.HTMLClient/GeneratedArtifacts -**/*.DesktopClient/GeneratedArtifacts -**/*.DesktopClient/ModelManifest.xml -**/*.Server/GeneratedArtifacts -**/*.Server/ModelManifest.xml -_Pvt_Extensions - -# Paket dependency manager -.paket/paket.exe -paket-files/ - -# FAKE - F# Make -.fake/ - -# JetBrains Rider -.idea/ -*.sln.iml - -# CodeRush -.cr/ - -# Python Tools for Visual Studio (PTVS) -__pycache__/ -*.pyc - -# Cake - Uncomment if you are using it -# tools/** -# !tools/packages.config - -# Telerik's JustMock configuration file -*.jmconfig - -# BizTalk build output -*.btp.cs -*.btm.cs -*.odx.cs -*.xsd.cs - -### Node ### -# Logs -logs -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -jspm_packages/ - -# Typescript v1 declaration files - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env - - -# End of https://www.gitignore.io/api/node,csharp - - -# Lerna uses the same directory directory name for internal packages -# that NuGet uses for external packages. We don't want to ignore the -# lerna packages. -!/packages/* - -#MacOS metadata -.DS_Store \ No newline at end of file +.BUILD_COMPLETED +lerna-debug.log \ No newline at end of file diff --git a/packages/codemaker/.gitignore b/packages/codemaker/.gitignore index 78371563f7..1232a045d1 100644 --- a/packages/codemaker/.gitignore +++ b/packages/codemaker/.gitignore @@ -1,3 +1,9 @@ +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + # Created by https://www.gitignore.io/api/node diff --git a/packages/jsii-build-tools/.gitignore b/packages/jsii-build-tools/.gitignore new file mode 100644 index 0000000000..7cf6d2ef9c --- /dev/null +++ b/packages/jsii-build-tools/.gitignore @@ -0,0 +1,5 @@ +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-calc-base-of-base/.gitignore b/packages/jsii-calc-base-of-base/.gitignore index 488fe386a7..5825543a22 100644 --- a/packages/jsii-calc-base-of-base/.gitignore +++ b/packages/jsii-calc-base-of-base/.gitignore @@ -3,3 +3,9 @@ tslint.json dist .jsii *.tgz + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-calc-base/.gitignore b/packages/jsii-calc-base/.gitignore index 488fe386a7..9097029670 100644 --- a/packages/jsii-calc-base/.gitignore +++ b/packages/jsii-calc-base/.gitignore @@ -3,3 +3,14 @@ tslint.json dist .jsii *.tgz + +tsconfig.json +tslint.json +dist +.jsii + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-calc-bundled/.gitignore b/packages/jsii-calc-bundled/.gitignore index a2487e53c4..c1548e741f 100644 --- a/packages/jsii-calc-bundled/.gitignore +++ b/packages/jsii-calc-bundled/.gitignore @@ -1,2 +1,13 @@ +tsconfig.json +tslint.json +dist +.jsii +*.tgz + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + !index.js -.jsii \ No newline at end of file diff --git a/packages/jsii-calc-lib/.gitignore b/packages/jsii-calc-lib/.gitignore index 488fe386a7..5825543a22 100644 --- a/packages/jsii-calc-lib/.gitignore +++ b/packages/jsii-calc-lib/.gitignore @@ -3,3 +3,9 @@ tslint.json dist .jsii *.tgz + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-calc/.gitignore b/packages/jsii-calc/.gitignore index fe2d7e630e..5825543a22 100644 --- a/packages/jsii-calc/.gitignore +++ b/packages/jsii-calc/.gitignore @@ -2,3 +2,10 @@ tsconfig.json tslint.json dist .jsii +*.tgz + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-dotnet-generator/.gitignore b/packages/jsii-dotnet-generator/.gitignore index cf0b359aab..66d8e6fb6f 100644 --- a/packages/jsii-dotnet-generator/.gitignore +++ b/packages/jsii-dotnet-generator/.gitignore @@ -3,3 +3,14 @@ src/Directory.Build.props src/NuGet.Metadata.props !*.t.js + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + +*.nupkg +bin/ +cli/ +obj/ \ No newline at end of file diff --git a/packages/jsii-dotnet-jsonmodel/.gitignore b/packages/jsii-dotnet-jsonmodel/.gitignore index 9b4c437201..50d4f258db 100644 --- a/packages/jsii-dotnet-jsonmodel/.gitignore +++ b/packages/jsii-dotnet-jsonmodel/.gitignore @@ -2,3 +2,14 @@ src/Directory.Build.props src/NuGet.Metadata.props !*.t.js + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + +*.nupkg +bin/ +cli/ +obj/ \ No newline at end of file diff --git a/packages/jsii-dotnet-runtime-test/.gitignore b/packages/jsii-dotnet-runtime-test/.gitignore index 4c00bae334..df148d8621 100644 --- a/packages/jsii-dotnet-runtime-test/.gitignore +++ b/packages/jsii-dotnet-runtime-test/.gitignore @@ -6,3 +6,16 @@ test/Directory.Build.props # consumed by generate.sh !*.t.js + +*.nupkg +bin/ +cli/ +obj/ + + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + diff --git a/packages/jsii-dotnet-runtime/.gitignore b/packages/jsii-dotnet-runtime/.gitignore index 27e9f038e5..720c810bbb 100644 --- a/packages/jsii-dotnet-runtime/.gitignore +++ b/packages/jsii-dotnet-runtime/.gitignore @@ -11,3 +11,15 @@ src/NuGet.Metadata.props # consumed by generate.sh !*.t.js + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + + +*.nupkg +bin/ +cli/ +obj/ diff --git a/packages/jsii-kernel/.gitignore b/packages/jsii-kernel/.gitignore new file mode 100644 index 0000000000..7cf6d2ef9c --- /dev/null +++ b/packages/jsii-kernel/.gitignore @@ -0,0 +1,5 @@ +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-pacmak/.gitignore b/packages/jsii-pacmak/.gitignore index 30d3dfa2c8..3d5a10a692 100644 --- a/packages/jsii-pacmak/.gitignore +++ b/packages/jsii-pacmak/.gitignore @@ -5,3 +5,8 @@ lib/targets/dotnet-generator/ .settings target/ +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-pacmak/package-lock.json b/packages/jsii-pacmak/package-lock.json index 6987bdf3b8..53ce6a4992 100644 --- a/packages/jsii-pacmak/package-lock.json +++ b/packages/jsii-pacmak/package-lock.json @@ -467,6 +467,26 @@ "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "dependencies": { + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } } }, "fs.realpath": { @@ -647,14 +667,6 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", @@ -704,7 +716,7 @@ }, "map-age-cleaner": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", + "resolved": "http://localhost:4873/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", "requires": { "p-defer": "^1.0.0" @@ -712,7 +724,7 @@ }, "mem": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "resolved": "http://localhost:4873/mem/-/mem-4.0.0.tgz", "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", "requires": { "map-age-cleaner": "^0.1.1", @@ -3165,22 +3177,22 @@ }, "p-defer": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "resolved": "http://localhost:4873/p-defer/-/p-defer-1.0.0.tgz", "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" }, "p-finally": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "resolved": "http://localhost:4873/p-finally/-/p-finally-1.0.0.tgz", "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-is-promise": { "version": "1.1.0", - "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "resolved": "http://localhost:4873/p-is-promise/-/p-is-promise-1.1.0.tgz", "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" }, "p-limit": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "resolved": "http://localhost:4873/p-limit/-/p-limit-2.0.0.tgz", "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", "requires": { "p-try": "^2.0.0" @@ -3617,11 +3629,6 @@ "strip-ansi": "^3.0.1" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -3653,12 +3660,12 @@ }, "which-module": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "resolved": "http://localhost:4873/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wrap-ansi": { "version": "2.1.0", - "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "resolved": "http://localhost:4873/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", @@ -3667,7 +3674,7 @@ "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "http://localhost:4873/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" @@ -3675,7 +3682,7 @@ }, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "http://localhost:4873/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", @@ -3727,7 +3734,7 @@ }, "yargs": { "version": "12.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "resolved": "http://localhost:4873/yargs/-/yargs-12.0.2.tgz", "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", "requires": { "cliui": "^4.0.0", @@ -3746,7 +3753,7 @@ }, "yargs-parser": { "version": "10.1.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "resolved": "http://localhost:4873/yargs-parser/-/yargs-parser-10.1.0.tgz", "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", "requires": { "camelcase": "^4.1.0" diff --git a/packages/jsii-runtime/.gitignore b/packages/jsii-runtime/.gitignore index be5e643fb1..c09bd5dbf2 100644 --- a/packages/jsii-runtime/.gitignore +++ b/packages/jsii-runtime/.gitignore @@ -2,3 +2,9 @@ dist webpack !webpack.config.js + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii-spec/.gitignore b/packages/jsii-spec/.gitignore index 1c12cf9bd4..ab75aa27ca 100644 --- a/packages/jsii-spec/.gitignore +++ b/packages/jsii-spec/.gitignore @@ -1 +1,7 @@ schema + +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ diff --git a/packages/jsii/.gitignore b/packages/jsii/.gitignore index 483ce94f62..393c9b5052 100644 --- a/packages/jsii/.gitignore +++ b/packages/jsii/.gitignore @@ -1,3 +1,9 @@ +*.js +*.d.ts +node_modules/ +.nyc_output/ +coverage/ + # copied from the root of the repo upon build README.md