Skip to content
This repository was archived by the owner on Sep 8, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: npm
directory: /
schedule:
interval: weekly
23 changes: 23 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: CI

on:
push:
pull_request:

permissions:
contents: read

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
- run: npm ci
- run: npm install --global bower grunt-cli
- run: bower install
- run: grunt --verbose
- run: npm audit --omit=dev --audit-level=high
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16
20 changes: 0 additions & 20 deletions .travis.yml

This file was deleted.

9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Changelog

## 1.0.2 - 2026-07-28

- Add maintained pull-request CI with Chrome Headless.
- Guard empty event and resource inputs.
- Contain FullCalendar errors within the directive boundary.
- Remove the leaked global calendar reference.
- Add reproducible dependencies and automated dependency updates.
16 changes: 16 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Contributing

This repository maintains compatibility for existing AngularJS applications.
Keep the directive attributes and FullCalendar method behavior stable.

Use Node from `.nvmrc`, then run:

```bash
npm ci
npm install --global bower grunt-cli
bower install
grunt
```

Every bug fix requires a behavioral Jasmine test. Use conventional commit
messages and explain any compatibility impact in the pull request.
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,3 +153,23 @@ We use karma and grunt to ensure the quality of the code.
npm install
bower install
grunt
## Maintenance status

This AngularJS integration is maintained for compatibility and security fixes.
AngularJS is end-of-life; new applications should use supported frameworks.

## Development

Use the Node version in `.nvmrc`, then install dependencies and run the same
lint and browser-test gate used by CI:

```bash
npm ci
npm install -g bower grunt-cli
bower install
grunt
```

Bower is retained for the historical demo and test harness. Consumers may load
`src/calendar.js` directly alongside the pinned, known-compatible AngularJS
1.4.1, jQuery 2.1.4, FullCalendar 2.3.2, and Moment 2.10.3 packages.
10 changes: 5 additions & 5 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,13 @@
"package.json"
],
"dependencies": {
"angular": "~1.4.1",
"jquery": "~2.1.4",
"fullcalendar": "~2.3.2",
"moment": "~2.10.3"
"angular": "1.4.1",
"jquery": "2.1.4",
"fullcalendar": "2.3.2",
"moment": "2.10.3"
},
"devDependencies": {
"angular-mocks": "~1.x",
"angular-mocks": "1.4.1",
"bootstrap-css": "2.3.1"
},
"resolutions": {
Expand Down
27 changes: 0 additions & 27 deletions demo/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -59,20 +59,6 @@ <h1>UI Calendar</h1>
<li>
<iframe src="http://ghbtns.com/github-btn.html?user=angular-ui&amp;repo=ui-calendar&amp;type=fork&amp;count=true" allowtransparency="true" frameborder="0" scrolling="0" width="95" height="20"></iframe>
</li>
<li>
<div class="g-plusone" data-size="medium"></div>
<!-- Place this tag after the last +1 button tag. -->
<script type="text/javascript">
(function () {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
</script>
</li>
</ul>
</div>
</div>
Expand Down Expand Up @@ -317,18 +303,5 @@ <h3>How?</h3>
</section>
</div>
</div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-17352735-3']);
_gaq.push(['_trackPageview']);
(function () {
var ga = document.createElement('script');
ga.type = 'text/javascript';
ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>
4 changes: 2 additions & 2 deletions gruntFile.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ module.exports = function (grunt) {

var testConfig = function(configFile, customOptions) {
var options = { configFile: configFile, keepalive: true };
var travisOptions = process.env.TRAVIS && { browsers: ['Firefox'], reporters: 'dots' };
return grunt.util._.extend(options, customOptions, travisOptions);
var ciOptions = process.env.CI && { browsers: ['ChromeHeadless'], reporters: 'dots' };
return grunt.util._.extend(options, customOptions, ciOptions);
};

// Project configuration.
Expand Down
Loading