{"id":13398802,"url":"https://github.com/angular/angular-seed","last_synced_at":"2025-10-05T17:31:18.605Z","repository":{"id":1256259,"uuid":"1195004","full_name":"angular/angular-seed","owner":"angular","description":"Seed project for angular apps. ","archived":true,"fork":false,"pushed_at":"2022-02-28T04:45:47.000Z","size":14494,"stargazers_count":13235,"open_issues_count":18,"forks_count":6877,"subscribers_count":688,"default_branch":"master","last_synced_at":"2025-09-29T00:27:51.451Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://angularjs.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/angular.png","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":"2010-12-24T06:07:50.000Z","updated_at":"2025-09-28T22:23:02.000Z","dependencies_parsed_at":"2022-07-15T16:37:43.889Z","dependency_job_id":null,"html_url":"https://github.com/angular/angular-seed","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/angular/angular-seed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular-seed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular-seed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular-seed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular-seed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/angular","download_url":"https://codeload.github.com/angular/angular-seed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/angular%2Fangular-seed/sbom","scorecard":{"id":196340,"data":{"date":"2025-08-11","repo":{"name":"github.com/angular/angular-seed","commit":"8c695627a6c3f1e62233d9b1f21a301d338a2d15"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":0,"reason":"project is archived","details":["Warn: Repository is archived."],"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: branch 'master' does not require approvers","Warn: codeowners review is not required on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Warn: PRs are not required to make changes on branch 'master'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/angular/.github/SECURITY.md:1","Info: Found linked content: github.com/angular/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/angular/.github/SECURITY.md:1","Info: Found text in security policy: github.com/angular/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":0,"reason":"80 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-v88g-cgmw-v5xw","Warn: Project is vulnerable to: GHSA-89mq-4x47-5v83","Warn: Project is vulnerable to: GHSA-5cp4-xmrw-59wf","Warn: Project is vulnerable to: GHSA-mhp6-pxh8-r675","Warn: Project is vulnerable to: GHSA-2qqx-w9hr-q5gx","Warn: Project is vulnerable to: GHSA-2vrf-hf26-jrp5","Warn: Project is vulnerable to: GHSA-4w4v-5hc9-xrr2","Warn: Project is vulnerable to: GHSA-j58c-ww9w-pwp5","Warn: Project is vulnerable to: GHSA-m2h2-264f-f486","Warn: Project is vulnerable to: GHSA-m9gf-397r-hwpg","Warn: Project is vulnerable to: GHSA-mqm9-c95h-x2p6","Warn: Project is vulnerable to: GHSA-prc3-vjfx-vhm9","Warn: Project is vulnerable to: GHSA-qwqh-hm9m-p5hr","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-cwfw-4gq5-mrqx","Warn: Project is vulnerable to: GHSA-g95f-p29q-9xw4","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-c6rq-rjc2-86v2","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-w573-4hg7-7wgq","Warn: Project is vulnerable to: GHSA-9q64-mpxx-87fg","Warn: Project is vulnerable to: GHSA-jc84-3g44-wf2q","Warn: Project is vulnerable to: GHSA-j4f2-536g-r55m","Warn: Project is vulnerable to: GHSA-r7qp-cfhv-p84w","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-8r6j-v8pm-fqw3","Warn: Project is vulnerable to: MAL-2023-462","Warn: Project is vulnerable to: GHSA-6x33-pw7p-hmpq","Warn: Project is vulnerable to: GHSA-pc5p-h8pf-mvwp","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-896r-f27r-55mw","Warn: Project is vulnerable to: GHSA-jg8v-48h5-wgxg","Warn: Project is vulnerable to: GHSA-36fh-84j7-cv5h","Warn: Project is vulnerable to: GHSA-7x7c-qm48-pq9c","Warn: Project is vulnerable to: GHSA-rc3x-jf5g-xvc5","Warn: Project is vulnerable to: GHSA-6c8f-qphg-qjgp","Warn: Project is vulnerable to: GHSA-jf85-cpcp-j695","Warn: Project is vulnerable to: GHSA-p6mc-m468-83gw","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-82v2-mx6x-wq7q","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-vh95-rmgr-6w4m","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-fhjf-83wg-r2j9","Warn: Project is vulnerable to: GHSA-6fx8-h7jm-663j","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-gqgv-6jq5-jjj9","Warn: Project is vulnerable to: GHSA-hrpp-h998-j3pp","Warn: Project is vulnerable to: GHSA-p8p7-x288-28g6","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-4g88-fppr-53pp","Warn: Project is vulnerable to: GHSA-4jqc-8m5r-9rpr","Warn: Project is vulnerable to: GHSA-g4rg-993r-mgx7","Warn: Project is vulnerable to: GHSA-fxwf-4rqh-v8g3","Warn: Project is vulnerable to: GHSA-25hc-qcg6-38wj","Warn: Project is vulnerable to: GHSA-xfhh-g9f5-x4m4","Warn: Project is vulnerable to: GHSA-qm95-pgcg-qqfq","Warn: Project is vulnerable to: GHSA-cqmj-92xf-r6r9","Warn: Project is vulnerable to: GHSA-j44m-qm6p-hp7m","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-52f5-9888-hmc6","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-mgfv-m47x-4wqp","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q","Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc","Warn: Project is vulnerable to: GHSA-72mh-269x-7mh5","Warn: Project is vulnerable to: GHSA-h4j5-c7cj-74xg"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T21:53:58.822Z","repository_id":1256259,"created_at":"2025-08-16T21:53:58.823Z","updated_at":"2025-08-16T21:53:58.823Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278487155,"owners_count":25995123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-05T02:00:06.059Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-30T19:00:31.760Z","updated_at":"2025-10-05T17:31:18.311Z","avatar_url":"https://github.com/angular.png","language":"JavaScript","readme":"# `angular-seed` — the seed for AngularJS apps\n\nThis project is an application skeleton for a typical [AngularJS][angularjs] web app. You can use it\nto quickly bootstrap your angular webapp projects and dev environment for these projects.\n\nThe seed contains a sample AngularJS application and is preconfigured to install the AngularJS\nframework and a bunch of development and testing tools for instant web development gratification.\n\nThe seed app doesn't do much, just shows how to wire two controllers and views together.\n\n\n## Getting Started\n\nTo get you started you can simply clone the `angular-seed` repository and install the dependencies:\n\n### Prerequisites\n\nYou need git to clone the `angular-seed` repository. You can get git from [here][git].\n\nWe also use a number of Node.js tools to initialize and test `angular-seed`. You must have Node.js\nand its package manager (npm) installed. You can get them from [here][node].\n\n### Clone `angular-seed`\n\nClone the `angular-seed` repository using git:\n\n```\ngit clone https://github.com/angular/angular-seed.git\ncd angular-seed\n```\n\nIf you just want to start a new project without the `angular-seed` commit history then you can do:\n\n```\ngit clone --depth=1 https://github.com/angular/angular-seed.git \u003cyour-project-name\u003e\n```\n\nThe `depth=1` tells git to only pull down one commit worth of historical data.\n\n### Install Dependencies\n\nWe have two kinds of dependencies in this project: tools and AngularJS framework code. The tools\nhelp us manage and test the application.\n\n* We get the tools we depend upon and the AngularJS code via `npm`, the [Node package manager][npm].\n* In order to run the end-to-end tests, you will also need to have the\n  [Java Development Kit (JDK)][jdk] installed on your machine. Check out the section on\n  [end-to-end testing](#e2e-testing) for more info.\n\nWe have preconfigured `npm` to automatically copy the downloaded AngularJS files to `app/lib` so we\ncan simply do:\n\n```\nnpm install\n```\n\nBehind the scenes this will also call `npm run copy-libs`, which copies the AngularJS files and\nother front end dependencies. After that, you should find out that you have two new directories in\nyour project.\n\n* `node_modules` - contains the npm packages for the tools we need\n* `app/lib` - contains the AngularJS framework files and other front end dependencies\n\n*Note copying the AngularJS files from `node_modules` to `app/lib` makes it easier to serve the\nfiles by a web server.*\n\n### Run the Application\n\nWe have preconfigured the project with a simple development web server. The simplest way to start\nthis server is:\n\n```\nnpm start\n```\n\nNow browse to the app at [`localhost:8000/index.html`][local-app-url].\n\n\n## Directory Layout\n\n```\napp/                  --\u003e all of the source files for the application\n  app.css               --\u003e default stylesheet\n  core/                 --\u003e all app specific modules\n    version/              --\u003e version related components\n      version.js                 --\u003e version module declaration and basic \"version\" value service\n      version_test.js            --\u003e \"version\" value service tests\n      version-directive.js       --\u003e custom directive that returns the current app version\n      version-directive_test.js  --\u003e version directive tests\n      interpolate-filter.js      --\u003e custom interpolation filter\n      interpolate-filter_test.js --\u003e interpolate filter tests\n  view1/                --\u003e the view1 view template and logic\n    view1.html            --\u003e the partial template\n    view1.js              --\u003e the controller logic\n    view1_test.js         --\u003e tests of the controller\n  view2/                --\u003e the view2 view template and logic\n    view2.html            --\u003e the partial template\n    view2.js              --\u003e the controller logic\n    view2_test.js         --\u003e tests of the controller\n  app.js                --\u003e main application module\n  index.html            --\u003e app layout file (the main html template file of the app)\n  index-async.html      --\u003e just like index.html, but loads js files asynchronously\ne2e-tests/            --\u003e end-to-end tests\n  protractor-conf.js    --\u003e Protractor config file\n  scenarios.js          --\u003e end-to-end scenarios to be run by Protractor\nkarma.conf.js         --\u003e config file for running unit tests with Karma\npackage.json          --\u003e Node.js specific metadata, including development tools dependencies\npackage-lock.json     --\u003e Npm specific metadata, including versions of installed development tools dependencies\n```\n\n\n## Testing\n\nThere are two kinds of tests in the `angular-seed` application: Unit tests and end-to-end tests.\n\n### Running Unit Tests\n\nThe `angular-seed` app comes preconfigured with unit tests. These are written in [Jasmine][jasmine],\nwhich we run with the [Karma][karma] test runner. We provide a Karma configuration file to run them.\n\n* The configuration is found at `karma.conf.js`.\n* The unit tests are found next to the code they are testing and have a `.spec.js` suffix (e.g.\n  `view1.spec.js`).\n\nThe easiest way to run the unit tests is to use the supplied npm script:\n\n```\nnpm test\n```\n\nThis script will start the Karma test runner to execute the unit tests. Moreover, Karma will start\nwatching the source and test files for changes and then re-run the tests whenever any of them\nchanges.\nThis is the recommended strategy; if your unit tests are being run every time you save a file then\nyou receive instant feedback on any changes that break the expected code functionality.\n\nYou can also ask Karma to do a single run of the tests and then exit. This is useful if you want to\ncheck that a particular version of the code is operating as expected. The project contains a\npredefined script to do this:\n\n```\nnpm run test-single-run\n```\n\n\n\u003ca name=\"e2e-testing\"\u003e\u003c/a\u003e\n### Running End-to-End Tests\n\nThe `angular-seed` app comes with end-to-end tests, again written in [Jasmine][jasmine]. These tests\nare run with the [Protractor][protractor] End-to-End test runner. It uses native events and has\nspecial features for AngularJS applications.\n\n* The configuration is found at `e2e-tests/protractor-conf.js`.\n* The end-to-end tests are found in `e2e-tests/scenarios.js`.\n\nProtractor simulates interaction with our web app and verifies that the application responds\ncorrectly. Therefore, our web server needs to be serving up the application, so that Protractor can\ninteract with it.\n\n**Before starting Protractor, open a separate terminal window and run:**\n\n```\nnpm start\n```\n\nIn addition, since Protractor is built upon WebDriver, we need to ensure that it is installed and\nup-to-date. The `angular-seed` project is configured to do this automatically before running the\nend-to-end tests, so you don't need to worry about it. If you want to manually update the WebDriver,\nyou can run:\n\n```\nnpm run update-webdriver\n```\n\nOnce you have ensured that the development web server hosting our application is up and running, you\ncan run the end-to-end tests using the supplied npm script:\n\n```\nnpm run protractor\n```\n\nThis script will execute the end-to-end tests against the application being hosted on the\ndevelopment server.\n\n**Note:**\nUnder the hood, Protractor uses the [Selenium Standalone Server][selenium], which in turn requires\nthe [Java Development Kit (JDK)][jdk] to be installed on your local machine. Check this by running\n`java -version` from the command line.\n\nIf JDK is not already installed, you can download it [here][jdk-download].\n\n\n## Updating AngularJS and other dependencies\n\nSince the AngularJS framework library code and tools are acquired through package managers (e.g.\nnpm) you can use these tools to easily update the dependencies. Simply run the preconfigured script:\n\n```\nnpm run update-deps\n```\n\nThis will call `npm update` and `npm run copy-libs`, which in turn will find and install the latest\nversions that match the version ranges specified in the `package.json` file.\n\nIf you want to update a dependency to a version newer than what the specificed range would permit,\nyou can change the version range in `package.json` and then run `npm run update-deps` as usual.\n\n\n## Loading AngularJS Asynchronously\n\nThe `angular-seed` project supports loading the framework and application scripts asynchronously.\nThe special `index-async.html` is designed to support this style of loading. For it to work you must\ninject a piece of AngularJS JavaScript into the HTML page. The project has a predefined script to help\ndo this:\n\n```\nnpm run update-index-async\n```\n\nThis will copy the contents of the `angular-loader.js` library file into the `index-async.html`\npage. You can run this every time you update the version of AngularJS that you are using.\n\n\n## Serving the Application Files\n\nWhile AngularJS is client-side-only technology and it is possible to create AngularJS web apps that\ndo not require a backend server at all, we recommend serving the project files using a local\nweb server during development to avoid issues with security restrictions (sandbox) in browsers. The\nsandbox implementation varies between browsers, but quite often prevents things like cookies, XHR,\netc to function properly when an HTML page is opened via the `file://` scheme instead of `http://`.\n\n### Running the App during Development\n\nThe `angular-seed` project comes preconfigured with a local development web server. It is a Node.js\ntool called [http-server][http-server]. You can start this web server with `npm start`, but you may\nchoose to install the tool globally:\n\n```\nsudo npm install -g http-server\n```\n\nThen you can start your own development web server to serve static files from any folder by running:\n\n```\nhttp-server -a localhost -p 8000\n```\n\nAlternatively, you can choose to configure your own web server, such as Apache or Nginx. Just\nconfigure your server to serve the files under the `app/` directory.\n\n### Running the App in Production\n\nThis really depends on how complex your app is and the overall infrastructure of your system, but\nthe general rule is that all you need in production are the files under the `app/` directory.\nEverything else should be omitted.\n\nAngularJS apps are really just a bunch of static HTML, CSS and JavaScript files that need to be\nhosted somewhere they can be accessed by browsers.\n\nIf your AngularJS app is talking to the backend server via XHR or other means, you need to figure\nout what is the best way to host the static files to comply with the same origin policy if\napplicable. Usually this is done by hosting the files by the backend server or through\nreverse-proxying the backend server(s) and web server(s).\n\n\n## Continuous Integration\n\n### Travis CI\n\n[Travis CI][travis] is a continuous integration service, which can monitor GitHub for new commits to\nyour repository and execute scripts such as building the app or running tests. The `angular-seed`\nproject contains a Travis configuration file, `.travis.yml`, which will cause Travis to run your\ntests when you push to GitHub.\n\nYou will need to enable the integration between Travis and GitHub. See the\n[Travis website][travis-docs] for instructions on how to do this.\n\n\n## Contact\n\nFor more information on AngularJS please check out [angularjs.org][angularjs].\n\n\n[angularjs]: https://angularjs.org/\n[git]: https://git-scm.com/\n[http-server]: https://github.com/indexzero/http-server\n[jasmine]: https://jasmine.github.io/\n[jdk]: https://wikipedia.org/wiki/Java_Development_Kit\n[jdk-download]: http://www.oracle.com/technetwork/java/javase/downloads\n[karma]: https://karma-runner.github.io/\n[local-app-url]: http://localhost:8000/index.html\n[node]: https://nodejs.org/\n[npm]: https://www.npmjs.org/\n[protractor]: http://www.protractortest.org/\n[selenium]: http://docs.seleniumhq.org/\n[travis]: https://travis-ci.org/\n[travis-docs]: https://docs.travis-ci.com/user/getting-started\n","funding_links":[],"categories":["JavaScript","Seed Projects","Seed List"],"sub_categories":["Angular"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangular%2Fangular-seed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fangular%2Fangular-seed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fangular%2Fangular-seed/lists"}