Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
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
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text eol=lf
48 changes: 29 additions & 19 deletions .github/workflows/auto-update-country.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,41 @@
name: Auto database update browser-country
name: Auto Update Country Packages

on:
schedule:
- cron: '42 19 * * *'
workflow_dispatch:

jobs:
release:
name: Auto database update browser-country
if: github.repository == 'sapics/ip-location-api'
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: setup Node
uses: actions/setup-node@v4
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
node-version-file: package.json
cache: pnpm
registry-url: 'https://registry.npmjs.org'
- name: install dependencies
run: npm i
- name: update
run: npm run updatedb-browser-country
- name: test
run: npm run test
- name: commit
run: script/auto-update-country.sh

- name: Install dependencies
run: pnpm i

- name: Build
run: pnpm -r --workspace-concurrency=1 --filter "@iplookup/country*..." build

- name: Bump version
shell: bash
run: |
//* Increments patch version and appends current date (YYYYMMDD) for all country packages
for pkg in packages/country*; do
[ -f "$pkg/package.json" ] \
&& cd $pkg \
&& npm pkg set version="$(pnpm exec semver $(node -p "require('./package.json').version") -i patch)-$(date +'%Y%m%d')" \
&& cd ../..
done

- name: Publish
run: pnpm -r --filter "@iplookup/country*" publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{secrets.GTOKEN}}
48 changes: 29 additions & 19 deletions .github/workflows/auto-update-geocode.yml
Original file line number Diff line number Diff line change
@@ -1,31 +1,41 @@
name: Auto database update browser-geocode
name: Auto Update Geocode Packages

on:
schedule:
- cron: '2 0 1,2,3 * *'
workflow_dispatch:

jobs:
release:
name: Auto database update browser-geocode
if: github.repository == 'sapics/ip-location-api'
runs-on: ubuntu-latest
steps:
- name: checkout
uses: actions/checkout@v4
- name: setup Node
uses: actions/setup-node@v4
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
node-version-file: package.json
cache: pnpm
registry-url: 'https://registry.npmjs.org'
- name: install dependencies
run: npm i
- name: update
run: npm run updatedb-browser-geocode
- name: test
run: npm run test
- name: commit
run: script/auto-update-geocode.sh

- name: Install dependencies
run: pnpm i

- name: Build
run: pnpm -r --workspace-concurrency=1 --filter "@iplookup/geocode*..." build

- name: Bump version
shell: bash
run: |
//* Increments patch version and appends current date (YYYYMMDD) for all geocode packages
for pkg in packages/geocode*; do
[ -f "$pkg/package.json" ] \
&& cd $pkg \
&& npm pkg set version="$(pnpm exec semver $(node -p "require('./package.json').version") -i patch)-$(date +'%Y%m%d')" \
&& cd ../..
done

- name: Publish
run: pnpm -r --filter "@iplookup/geocode*" publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{secrets.GTOKEN}}
29 changes: 0 additions & 29 deletions .github/workflows/auto-update.yml

This file was deleted.

36 changes: 36 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Build

on:
workflow_call:
pull_request:
types:
- opened
- synchronize
- closed

jobs:
build:
name: Build with Node.js ${{ matrix.node-version }}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: pnpm

- name: Install dependencies
run: pnpm i

- name: Lint
run: pnpm lint

- name: Build
run: pnpm build

- name: Test
run: pnpm test
34 changes: 34 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Build

on:
push:
branches:
- main

jobs:
build:
uses: ./.github/workflows/build.yml

release:
if: github.repository == 'sapics/ip-location-api'
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
- uses: actions/setup-node@v4
with:
node-version-file: package.json
cache: pnpm
registry-url: 'https://registry.npmjs.org'

- name: Install dependencies
run: pnpm i

- name: Build
run: pnpm build

- name: Publish
run: pnpm -r publish --no-git-checks
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
28 changes: 0 additions & 28 deletions .github/workflows/test.yml

This file was deleted.

28 changes: 13 additions & 15 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
node_modules
/tmp
/data
/browser/country/4
/browser/country/6
/browser/country/*.idx
/browser/country-extra/4
/browser/country-extra/6
/browser/country-extra/*.idx
/browser/geocode/4
/browser/geocode/6
/browser/geocode/*.idx
/browser/geocode-extra/4
/browser/geocode-extra/6
/browser/geocode-extra/*.idx
dist
indexes
.DS_Store
coverage
*.lcov
node_modules/
*.tsbuildinfo
.npm
.eslintcache
*.tgz
.env
tmp
data
6 changes: 0 additions & 6 deletions .release-it.json

This file was deleted.

49 changes: 49 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
{
// Disable the default formatter, use eslint instead
"prettier.enable": false,
"editor.formatOnSave": false,

// Auto fix
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit",
"source.organizeImports": "never"
},

// Silent the stylistic rules in you IDE, but still auto fix them
"eslint.rules.customizations": [
{ "rule": "style/*", "severity": "off", "fixable": true },
{ "rule": "format/*", "severity": "off", "fixable": true },
{ "rule": "*-indent", "severity": "off", "fixable": true },
{ "rule": "*-spacing", "severity": "off", "fixable": true },
{ "rule": "*-spaces", "severity": "off", "fixable": true },
{ "rule": "*-order", "severity": "off", "fixable": true },
{ "rule": "*-dangle", "severity": "off", "fixable": true },
{ "rule": "*-newline", "severity": "off", "fixable": true },
{ "rule": "*quotes", "severity": "off", "fixable": true },
{ "rule": "*semi", "severity": "off", "fixable": true }
],

// Enable eslint for all supported languages
"eslint.validate": [
"javascript",
"javascriptreact",
"typescript",
"typescriptreact",
"vue",
"html",
"markdown",
"json",
"jsonc",
"yaml",
"toml",
"xml",
"gql",
"graphql",
"astro",
"css",
"less",
"scss",
"pcss",
"postcss"
]
}
Loading