{"id":3994013,"name":"github.com/sourcegraph/goloader","ecosystem":"go","description":"Package loader loads a complete Go program from source code, parsing\nand type-checking the initial packages plus their transitive closure\nof dependencies.  The ASTs and the derived facts are retained for\nlater use.\n\nTHIS INTERFACE IS EXPERIMENTAL AND IS LIKELY TO CHANGE.\n\nThe package defines two primary types: Config, which specifies a\nset of initial packages to load and various other options; and\nProgram, which is the result of successfully loading the packages\nspecified by a configuration.\n\nThe configuration can be set directly, but *Config provides various\nconvenience methods to simplify the common cases, each of which can\nbe called any number of times.  Finally, these are followed by a\ncall to Load() to actually load and type-check the program.\n\nSee examples_test.go for examples of API usage.\n\nThe WORKSPACE is the set of packages accessible to the loader.  The\nworkspace is defined by Config.Build, a *build.Context.  The\ndefault context treats subdirectories of $GOROOT and $GOPATH as\npackages, but this behavior may be overridden.\n\nAn AD HOC package is one specified as a set of source files on the\ncommand line.  In the simplest case, it may consist of a single file\nsuch as $GOROOT/src/net/http/triv.go.\n\nEXTERNAL TEST packages are those comprised of a set of *_test.go\nfiles all with the same 'package foo_test' declaration, all in the\nsame directory.  (go/build.Package calls these files XTestFiles.)\n\nAn IMPORTABLE package is one that can be referred to by some import\nspec.  Every importable package is uniquely identified by its\nPACKAGE PATH or just PATH, a string such as \"fmt\", \"encoding/json\",\nor \"cmd/vendor/golang.org/x/arch/x86/x86asm\".  A package path\ntypically denotes a subdirectory of the workspace.\n\nAn import declaration uses an IMPORT PATH to refer to a package.\nMost import declarations use the package path as the import path.\n\nDue to VENDORING (https://golang.org/s/go15vendor), the\ninterpretation of an import path may depend on the directory in which\nit appears.  To resolve an import path to a package path, go/build\nmust search the enclosing directories for a subdirectory named\n\"vendor\".\n\nad hoc packages and external test packages are NON-IMPORTABLE.  The\npath of an ad hoc package is inferred from the package\ndeclarations of its files and is therefore not a unique package key.\nFor example, Config.CreatePkgs may specify two initial ad hoc\npackages, both with path \"main\".\n\nAn AUGMENTED package is an importable package P plus all the\n*_test.go files with same 'package foo' declaration as P.\n(go/build.Package calls these files TestFiles.)\n\nThe INITIAL packages are those specified in the configuration.  A\nDEPENDENCY is a package loaded to satisfy an import in an initial\npackage or another dependency.","homepage":"https://github.com/sourcegraph/goloader","licenses":"BSD-3-Clause","normalized_licenses":["BSD-3-Clause"],"repository_url":"https://github.com/sourcegraph/goloader","keywords_array":[],"namespace":"github.com/sourcegraph","versions_count":1,"first_release_published_at":"2017-05-26T18:50:34.000Z","latest_release_published_at":"2017-05-26T18:50:34.000Z","latest_release_number":"v0.0.0-20170526185034-87c4e16c3486","last_synced_at":"2026-03-16T03:21:03.107Z","created_at":"2022-04-12T08:12:05.165Z","updated_at":"2026-03-16T03:21:03.107Z","registry_url":"https://pkg.go.dev/github.com/sourcegraph/goloader","install_command":"go get github.com/sourcegraph/goloader","documentation_url":"https://pkg.go.dev/github.com/sourcegraph/goloader#section-documentation","metadata":{},"repo_metadata":{"uuid":"92539512","full_name":"sourcegraph/goloader","owner":"sourcegraph","description":"golang.org/x/tools/go/loader but with a definable types.Importer","archived":true,"fork":false,"pushed_at":"2017-05-26T18:51:15.000Z","size":31,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2023-02-24T18:07:13.667Z","etag":null,"topics":["go-loader","goloader","types-importer"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-26T18:49:03.000Z","updated_at":"2023-01-28T20:38:23.000Z","dependencies_parsed_at":"2022-09-26T20:01:15.435Z","dependency_job_id":null,"html_url":"https://github.com/sourcegraph/goloader","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fgoloader","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fgoloader/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sourcegraph%2Fgoloader/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sourcegraph","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"}},"repo_metadata_updated_at":"2023-03-21T19:21:15.914Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":9.345852080216646,"dependent_packages_count":6.999148183520997,"stargazers_count":null,"forks_count":null,"average":8.172500131868823},"purl":"pkg:golang/github.com/sourcegraph/goloader","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/go/github.com/sourcegraph/goloader","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/go/github.com/sourcegraph/goloader","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/go/github.com/sourcegraph/goloader/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2023-05-18T17:23:23.120Z","issues_count":0,"pull_requests_count":0,"avg_time_to_close_issue":null,"avg_time_to_close_pull_request":null,"issues_closed_count":0,"pull_requests_closed_count":0,"pull_request_authors_count":0,"issue_authors_count":0,"avg_comments_per_issue":null,"avg_comments_per_pull_request":null,"merged_pull_requests_count":0,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":0,"past_year_pull_requests_count":0,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":null,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":0,"past_year_pull_request_authors_count":0,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":null,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":0},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsourcegraph%2Fgoloader/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsourcegraph%2Fgoloader/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsourcegraph%2Fgoloader/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsourcegraph%2Fgoloader/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/proxy.golang.org/packages/github.com%2Fsourcegraph%2Fgoloader/codemeta","maintainers":[]}