diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..f520b0e --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: npm + directory: / + schedule: + interval: weekly diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0c2a1c7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -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 diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..b6a7d89 --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +16 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index e5f0d35..0000000 --- a/.travis.yml +++ /dev/null @@ -1,20 +0,0 @@ -language: node_js -node_js: - - "0.12" - -branches: - except: - - gh-pages - -before_install: - - "export DISPLAY=:99.0" - - "sh -e /etc/init.d/xvfb start" - -before_script: - - npm install -g bower grunt-cli - - bower install - -script: "grunt --verbose" - -git: - depth: 10 diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..b176f2d --- /dev/null +++ b/CHANGELOG.md @@ -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. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..e09a6f0 --- /dev/null +++ b/CONTRIBUTING.md @@ -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. diff --git a/README.md b/README.md index ec04724..afea100 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/bower.json b/bower.json index ac7b586..6748dbb 100644 --- a/bower.json +++ b/bower.json @@ -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": { diff --git a/demo/index.html b/demo/index.html index 3703c7a..d7b1b5d 100644 --- a/demo/index.html +++ b/demo/index.html @@ -59,20 +59,6 @@