israeli-banks-actual-budget-importer 1.1.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,18 +19,23 @@ jobs:
19
19
  - name: Checkout
20
20
  uses: actions/checkout@v4
21
21
 
22
- - name: Setup Bun
23
- uses: oven-sh/setup-bun@v2
22
+ - name: Setup Node
23
+ uses: actions/setup-node@v4
24
+ with:
25
+ node-version: 21
26
+ cache: 'yarn'
27
+ cache-dependency-path: 'yarn.lock'
24
28
 
25
29
  - name: Install Dependencies
26
- run: bun i --dev
30
+ run: yarn install
31
+ env:
32
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
27
33
 
28
- # Authenticate with ghcr.io
29
- - name: Authenticate with ghcr.io
30
- run: echo "${{ secrets.GH_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
34
+ - name: Make repo writable for BuildKit
35
+ run: sudo chmod -R 777 $GITHUB_WORKSPACE/.yarn
31
36
 
32
37
  - name: Semantic Release
33
- run: bunx semantic-release
38
+ run: yarn semantic-release
34
39
  env:
35
40
  NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
36
41
  GH_TOKEN: ${{ secrets.GH_TOKEN }}
package/.releaserc CHANGED
@@ -13,35 +13,11 @@
13
13
  "@semantic-release/npm",
14
14
  "@semantic-release/changelog",
15
15
  "@semantic-release/git",
16
- "@semantic-release/github",
17
- [
18
- "@codedependant/semantic-release-docker",
19
- {
20
- "dockerTags": [
21
- "latest",
22
- "{{version}}",
23
- "{{major}}",
24
- "{{major}}.{{minor}}"
25
- ],
26
- "dockerLogin": false,
27
- "dockerRegistry": "ghcr.io",
28
- "dockerProject": "tomerh2001",
29
- "dockerArgs": {
30
- "GH_REPO": "{{env.GH_REPO}}"
31
- }
16
+ ["@codedependant/semantic-release-docker", {
17
+ "dockerBuildQuiet": false,
18
+ "dockerBuildFlags": {
19
+ "progress": "plain"
32
20
  }
33
- ],
34
- [
35
- "@codedependant/semantic-release-docker",
36
- {
37
- "dockerTags": [
38
- "latest",
39
- "{{version}}",
40
- "{{major}}",
41
- "{{major}}.{{minor}}"
42
- ],
43
- "dockerProject": "tomerh2001"
44
- }
45
- ]
21
+ }]
46
22
  ]
47
23
  }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,100 @@
1
+ ## [1.2.1](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.2.0...v1.2.1) (2025-05-12)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * add dockerBuildFlags configuration to semantic-release-docker plugin ([49c0b58](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/49c0b58ee7204745b64693da958a248f3bfe8155))
7
+ * add newline at end of .releaserc file ([d28f51d](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/d28f51d18b84c868c35ee4681abc5d6f51b2910a))
8
+ * comment out ghcr.io authentication step and update semantic-release-docker plugin configuration ([a5f389c](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/a5f389c52649b99f2db0f0b5293144178c968549))
9
+ * correct casing of 'executablePath' in scraper configuration ([b122168](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b1221688ae0f9912b8d51f4a42e2f7ff57349443))
10
+ * remove ghcr.io authentication step from workflow ([421853b](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/421853bbaa03faa67436aa08954ce3b8e1467baa))
11
+ * replace immediate process exit with delayed exit using setTimeout ([9751cea](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/9751cea84c250d0946e0f15106b46904f7cbd23a))
12
+ * update dependencies and add semantic-release-docker plugin ([83257aa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/83257aa2e342accac105d9f38fe854e4942bcec5))
13
+ * update permissions for BuildKit to ensure writable access ([9232656](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/92326568e347c497d5b4cff37ce58adf72189eed))
14
+ * update semantic-release-docker plugin configuration to disable quiet mode ([590b210](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/590b2101b4bb7c21d30fd513b2fac9c05cab8967))
15
+
16
+ ## [1.2.1](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.2.0...v1.2.1) (2025-05-12)
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * add dockerBuildFlags configuration to semantic-release-docker plugin ([49c0b58](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/49c0b58ee7204745b64693da958a248f3bfe8155))
22
+ * add newline at end of .releaserc file ([d28f51d](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/d28f51d18b84c868c35ee4681abc5d6f51b2910a))
23
+ * comment out ghcr.io authentication step and update semantic-release-docker plugin configuration ([a5f389c](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/a5f389c52649b99f2db0f0b5293144178c968549))
24
+ * correct casing of 'executablePath' in scraper configuration ([b122168](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b1221688ae0f9912b8d51f4a42e2f7ff57349443))
25
+ * replace immediate process exit with delayed exit using setTimeout ([9751cea](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/9751cea84c250d0946e0f15106b46904f7cbd23a))
26
+ * update dependencies and add semantic-release-docker plugin ([83257aa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/83257aa2e342accac105d9f38fe854e4942bcec5))
27
+ * update semantic-release-docker plugin configuration to disable quiet mode ([590b210](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/590b2101b4bb7c21d30fd513b2fac9c05cab8967))
28
+
29
+ ## [1.2.1](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.2.0...v1.2.1) (2025-05-12)
30
+
31
+
32
+ ### Bug Fixes
33
+
34
+ * add newline at end of .releaserc file ([d28f51d](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/d28f51d18b84c868c35ee4681abc5d6f51b2910a))
35
+ * comment out ghcr.io authentication step and update semantic-release-docker plugin configuration ([a5f389c](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/a5f389c52649b99f2db0f0b5293144178c968549))
36
+ * correct casing of 'executablePath' in scraper configuration ([b122168](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b1221688ae0f9912b8d51f4a42e2f7ff57349443))
37
+ * replace immediate process exit with delayed exit using setTimeout ([9751cea](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/9751cea84c250d0946e0f15106b46904f7cbd23a))
38
+ * update dependencies and add semantic-release-docker plugin ([83257aa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/83257aa2e342accac105d9f38fe854e4942bcec5))
39
+
40
+ ## [1.2.1](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.2.0...v1.2.1) (2025-05-12)
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * correct casing of 'executablePath' in scraper configuration ([b122168](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b1221688ae0f9912b8d51f4a42e2f7ff57349443))
46
+ * replace immediate process exit with delayed exit using setTimeout ([9751cea](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/9751cea84c250d0946e0f15106b46904f7cbd23a))
47
+ * update dependencies and add semantic-release-docker plugin ([83257aa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/83257aa2e342accac105d9f38fe854e4942bcec5))
48
+
49
+ # [1.2.0](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.1.0...v1.2.0) (2025-04-16)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * replace bunx with yarn for semantic release command ([1c15afa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/1c15afa2f0b4aa2247538ff0273b97639bac9f32))
55
+ * specify Node.js version to 21 in workflow ([5f8c3db](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/5f8c3db7b8d055e2d5b11acee3f9b45d5ef621b3))
56
+ * update Docker image tag to use latest version in compose file ([e43a3b1](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/e43a3b11e2271818f00f55a985c363c9a2fe4d5f))
57
+ * update workflow to use yarn for dependency installation and setup Node environment ([b0e797f](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b0e797fdcbefb6390e85ccecaf598d37d67f9f04))
58
+
59
+
60
+ ### Features
61
+
62
+ * Added docker support ([aff5c85](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/aff5c8559f194a44c4c29f8ee1cd24f89fb11f62))
63
+
64
+ # [1.2.0](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.1.0...v1.2.0) (2025-04-16)
65
+
66
+
67
+ ### Bug Fixes
68
+
69
+ * replace bunx with yarn for semantic release command ([1c15afa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/1c15afa2f0b4aa2247538ff0273b97639bac9f32))
70
+ * specify Node.js version to 21 in workflow ([5f8c3db](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/5f8c3db7b8d055e2d5b11acee3f9b45d5ef621b3))
71
+ * update workflow to use yarn for dependency installation and setup Node environment ([b0e797f](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b0e797fdcbefb6390e85ccecaf598d37d67f9f04))
72
+
73
+
74
+ ### Features
75
+
76
+ * Added docker support ([aff5c85](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/aff5c8559f194a44c4c29f8ee1cd24f89fb11f62))
77
+
78
+ # [1.2.0](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.1.0...v1.2.0) (2025-04-16)
79
+
80
+
81
+ ### Bug Fixes
82
+
83
+ * replace bunx with yarn for semantic release command ([1c15afa](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/1c15afa2f0b4aa2247538ff0273b97639bac9f32))
84
+ * update workflow to use yarn for dependency installation and setup Node environment ([b0e797f](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/b0e797fdcbefb6390e85ccecaf598d37d67f9f04))
85
+
86
+
87
+ ### Features
88
+
89
+ * Added docker support ([aff5c85](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/aff5c8559f194a44c4c29f8ee1cd24f89fb11f62))
90
+
91
+ # [1.2.0](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.1.0...v1.2.0) (2025-04-16)
92
+
93
+
94
+ ### Features
95
+
96
+ * Added docker support ([aff5c85](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/commit/aff5c8559f194a44c4c29f8ee1cd24f89fb11f62))
97
+
1
98
  # [1.1.0](https://github.com/tomerh2001/israeli-banks-actual-budget-importer/compare/v1.0.0...v1.1.0) (2025-04-09)
2
99
 
3
100
 
package/Dockerfile CHANGED
@@ -1,8 +1,17 @@
1
- FROM alpine:latest
1
+ # Base stage for common settings
2
+ FROM ghcr.io/puppeteer/puppeteer:latest AS base
3
+ WORKDIR /app
2
4
 
3
- ARG GH_REPO
4
- ARG RELEASE_NOTES
5
+ # Dependencies stage
6
+ FROM base AS dependencies
7
+ COPY package.json yarn.lock .yarnrc.yml ./
8
+ COPY .yarn .yarn
9
+ RUN yarn install
5
10
 
6
- LABEL org.opencontainers.image.source $GH_REPO
11
+ # Builder stage
12
+ FROM dependencies AS builder
13
+ COPY src/ src/
7
14
 
8
- CMD ["echo", "Hello World!"]
15
+ # Final stage for production
16
+ FROM builder AS release
17
+ CMD yarn start
package/README.md CHANGED
@@ -7,27 +7,6 @@
7
7
 
8
8
  This project provides an importer from Israeli banks (via [israeli-bank-scrapers](https://github.com/eshaham/israeli-bank-scrapers)) into [Actual Budget](https://github.com/actualbudget/actual).
9
9
 
10
- ## Table of Contents
11
-
12
- - [Israeli Banks → Actual Budget](#israeli-banks--actual-budget)
13
- - [Table of Contents](#table-of-contents)
14
- - [Features](#features)
15
- - [Installation](#installation)
16
- - [Docker](#docker)
17
- - [Prerequisites](#prerequisites)
18
- - [Steps](#steps)
19
- - [Configuration](#configuration)
20
- - [Configuration Structure](#configuration-structure)
21
- - [Usage](#usage)
22
- - [Development](#development)
23
- - [Overview](#overview)
24
- - [Project Structure](#project-structure)
25
- - [TypeScript \& Linting](#typescript--linting)
26
- - [Testing \& Linting](#testing--linting)
27
- - [Contributing](#contributing)
28
- - [License](#license)
29
- - [Acknowledgments](#acknowledgments)
30
-
31
10
  ## Features
32
11
 
33
12
  1. **Multi Bank Support**: Supports all of the institutions that the [israeli-bank-scrapers](https://github.com/eshaham/israeli-bank-scrapers) library covers (Bank Hapoalim, Cal, Leumi, Discount, etc.).
@@ -43,7 +22,19 @@ This project provides an importer from Israeli banks (via [israeli-bank-scrapers
43
22
  ## Installation
44
23
 
45
24
  ### Docker
46
- Soon.
25
+ https://hub.docker.com/r/tomerh2001/israeli-banks-actual-budget-importer
26
+ #### Example
27
+ ```yml
28
+ services:
29
+ importer:
30
+ image: tomerh2001/israeli-banks-actual-budget-importer:latest
31
+ cap_add:
32
+ - SYS_ADMIN
33
+ volumes:
34
+ - ./config.json:/app/config.json
35
+ - ./cache:/app/cache # Optional
36
+ - ./chrome-data:/app/chrome-data # Optional (Can be used to solve 2FA issues like with hapoalim)
37
+ ```
47
38
 
48
39
  ### Prerequisites
49
40
 
package/compose.yml ADDED
@@ -0,0 +1,13 @@
1
+ services:
2
+ israeli-banks-actual-budget-importer:
3
+ image: tomerh2001/israeli-banks-actual-budget-importer:latest
4
+ container_name: israeli-banks-actual-budget-importer
5
+ cap_add:
6
+ - SYS_ADMIN
7
+ build:
8
+ context: .
9
+ dockerfile: Dockerfile
10
+ volumes:
11
+ - ./config.json:/app/config.json
12
+ - ./cache:/app/cache
13
+ - ./chrome-data:/app/chrome-data
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.1.0",
2
+ "version": "1.2.1",
3
3
  "name": "israeli-banks-actual-budget-importer",
4
4
  "module": "index.ts",
5
5
  "type": "module",
@@ -12,23 +12,24 @@
12
12
  "@semantic-release/changelog": "^6.0.3",
13
13
  "@semantic-release/commit-analyzer": "^13.0.1",
14
14
  "@semantic-release/git": "^10.0.1",
15
- "@semantic-release/github": "^11.0.1",
15
+ "@semantic-release/github": "^11.0.2",
16
16
  "@semantic-release/npm": "^12.0.1",
17
17
  "@semantic-release/release-notes-generator": "^14.0.3",
18
18
  "@types/lodash": "^4.17.16",
19
- "@types/papaparse": "^5.3.15",
19
+ "@types/papaparse": "^5.3.16",
20
20
  "bun-types": "latest",
21
21
  "papaparse": "^5.5.2",
22
- "typescript": "^5.8.2",
22
+ "semantic-release": "^24.2.3",
23
+ "typescript": "^5.8.3",
23
24
  "xo": "^0.60.0"
24
25
  },
25
26
  "packageManager": "yarn@4.7.0",
26
27
  "dependencies": {
27
- "@actual-app/api": "^25.3.1",
28
- "israeli-bank-scrapers": "^5.4.5",
28
+ "@actual-app/api": "^25.5.0",
29
+ "israeli-bank-scrapers": "^5.4.7",
29
30
  "lodash": "^4.17.21",
30
31
  "moment": "^2.30.1",
31
32
  "p-queue": "^8.1.0",
32
- "tsx": "^4.19.3"
33
+ "tsx": "^4.19.4"
33
34
  }
34
35
  }
package/src/index.ts CHANGED
@@ -1,10 +1,13 @@
1
+ /* eslint-disable unicorn/no-process-exit */
1
2
  /* eslint-disable no-await-in-loop */
2
3
  /* eslint-disable n/file-extension-in-import */
3
4
 
5
+ import process from 'node:process';
4
6
  import {type CompanyTypes} from 'israeli-bank-scrapers';
5
7
  import _ from 'lodash';
6
8
  import actual from '@actual-app/api';
7
9
  import Queue from 'p-queue';
10
+ import moment from 'moment';
8
11
  import config from '../config.json' assert {type: 'json'};
9
12
  import type {ConfigBank} from './config.d.ts';
10
13
  import {scrapeAndImportTransactions} from './utils.ts';
@@ -25,4 +28,7 @@ for (const [companyId, bank] of _.entries(config.banks) as Array<[CompanyTypes,
25
28
 
26
29
  await queue.onIdle();
27
30
  await actual.shutdown();
31
+
28
32
  console.log('Done');
33
+
34
+ setTimeout(() => process.exit(0), moment.duration(5, 'seconds').asMilliseconds());
package/src/utils.ts CHANGED
@@ -16,6 +16,7 @@ export async function scrapeAndImportTransactions({companyId, bank}: ScrapeTrans
16
16
  companyId,
17
17
  startDate: moment().subtract(6, 'month').toDate(),
18
18
  executablePath: '/opt/homebrew/bin/chromium',
19
+ args: ['--user-data-dir=/app/chrome-data'],
19
20
  additionalTransactionInformation: true,
20
21
  verbose: false,
21
22
  showBrowser: false,