Skip to content

Commit ded5ac2

Browse files
authored
Merge pull request #128 from Bit-Apps-Pro/rishad-dev-tmp
bump version to 2.7.5
2 parents 4856e2e + 59d3a1e commit ded5ac2

File tree

250 files changed

+8487
-19739
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

250 files changed

+8487
-19739
lines changed

.github/build

100644100755
File mode changed.

.vscode/settings.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
{
22
"php-cs-fixer.onsave": true,
3-
"php-cs-fixer.executablePath": "${workspaceFolder}/vendor/bin/php-cs-fixer",
3+
"php-cs-fixer.executablePath": "${extensionPath}/php-cs-fixer.phar",
44
"php-cs-fixer.documentFormattingProvider": true,
5-
"php-cs-fixer.executablePathWindows": "${workspaceFolder}\\vendor\\bin\\php-cs-fixer.bat",
65
"php-cs-fixer.config": ".php-cs-fixer.php",
76
"search.useGlobalIgnoreFiles": false,
87
"search.useParentIgnoreFiles": false,

bitwpfi.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Plugin Name: Bit Integrations
55
* Plugin URI: https://bitapps.pro/bit-integrations
66
* Description: Bit Integrations is a platform that integrates with over 300+ different platforms to help with various tasks on your WordPress site, like WooCommerce, Form builder, Page builder, LMS, Sales funnels, Bookings, CRM, Webhooks, Email marketing, Social media and Spreadsheets, etc
7-
* Version: 2.7.4
7+
* Version: 2.7.5
88
* Author: Automation & Integration Plugin - Bit Apps
99
* Author URI: https://bitapps.pro
1010
* Text Domain: bit-integrations
@@ -24,7 +24,7 @@
2424
$btcbi_db_version = '1.1';
2525

2626
// Define most essential constants.
27-
define('BTCBI_VERSION', '2.7.4');
27+
define('BTCBI_VERSION', '2.7.5');
2828
define('BTCBI_PLUGIN_MAIN_FILE', __FILE__);
2929

3030
require_once plugin_dir_path(__FILE__) . 'includes/loader.php';

frontend-dev/bin/prod-zip.js

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
#!/usr/bin/env node
2+
3+
/**
4+
* Production ZIP builder for Bit Integrations
5+
* Builds both bit-integrations (free) and bit-integrations-pro plugins
6+
* Uses the existing .github/build scripts and creates ZIP archives
7+
*/
8+
9+
const fs = require('fs')
10+
const path = require('path')
11+
const { execSync } = require('child_process')
12+
13+
// Configuration
14+
const PLUGIN_DIR = path.resolve(__dirname, '../..')
15+
const PLUGINS_DIR = path.join(PLUGIN_DIR, '..')
16+
const BUILD_DIR_SLUG = 'bit-integrations'
17+
18+
const PLUGINS = [
19+
{
20+
name: 'bit-integrations',
21+
slug: 'bit-integrations',
22+
dir: PLUGIN_DIR
23+
},
24+
{
25+
name: 'bit-integrations-pro',
26+
slug: 'bit-integrations-pro',
27+
dir: path.join(PLUGINS_DIR, 'bit-integrations-pro')
28+
}
29+
]
30+
31+
console.log('🚀 Starting production ZIP build for both plugins...\n')
32+
33+
// Build each plugin
34+
PLUGINS.forEach((plugin, index) => {
35+
console.log(`\n${'='.repeat(60)}`)
36+
console.log(`📦 Building ${plugin.name} (${index + 1}/${PLUGINS.length})`)
37+
console.log('='.repeat(60))
38+
39+
const buildScript = path.join(plugin.dir, '.github', 'build')
40+
const pluginBuildDir = path.join(plugin.dir, 'build')
41+
const buildPluginDir = path.join(pluginBuildDir, plugin.slug)
42+
const centralBuildDir = path.join(PLUGIN_DIR, 'build')
43+
44+
// Step 1: Check if plugin directory exists
45+
if (!fs.existsSync(plugin.dir)) {
46+
console.warn(`⚠️ Plugin directory not found: ${plugin.dir}`)
47+
console.warn(` Skipping ${plugin.name}...\n`)
48+
return
49+
}
50+
51+
// Step 2: Check if build script exists
52+
if (!fs.existsSync(buildScript)) {
53+
console.warn(`⚠️ Build script not found at: ${buildScript}`)
54+
console.warn(` Skipping ${plugin.name}...\n`)
55+
return
56+
}
57+
58+
// Step 3: Make build script executable
59+
console.log('🔧 Preparing build script...')
60+
try {
61+
execSync(`chmod +x "${buildScript}"`, { stdio: 'inherit' })
62+
} catch (error) {
63+
console.warn('⚠️ Could not make build script executable')
64+
}
65+
66+
// Step 4: Run the existing build script
67+
console.log('🔨 Running build script...')
68+
try {
69+
execSync(`bash "${buildScript}"`, {
70+
cwd: plugin.dir,
71+
stdio: 'inherit',
72+
shell: '/bin/bash'
73+
})
74+
} catch (error) {
75+
console.error(`❌ Build script failed for ${plugin.name}`)
76+
process.exit(1)
77+
}
78+
79+
// Step 5: Verify build directory exists
80+
if (!fs.existsSync(buildPluginDir)) {
81+
console.error(`❌ Build directory not found at: ${buildPluginDir}`)
82+
process.exit(1)
83+
}
84+
85+
// Step 6: Create central build directory if it doesn't exist
86+
if (!fs.existsSync(centralBuildDir)) {
87+
fs.mkdirSync(centralBuildDir, { recursive: true })
88+
}
89+
90+
// Step 7: Create ZIP file
91+
console.log('🗜️ Creating ZIP archive...')
92+
const zipFileName = `${plugin.slug}.zip`
93+
const zipFilePath = path.join(centralBuildDir, zipFileName)
94+
95+
// Remove old ZIP if exists
96+
if (fs.existsSync(zipFilePath)) {
97+
fs.unlinkSync(zipFilePath)
98+
}
99+
100+
try {
101+
execSync(`cd "${pluginBuildDir}" && zip -r "${zipFilePath}" "${plugin.slug}" -q`, {
102+
stdio: 'pipe',
103+
shell: '/bin/bash'
104+
})
105+
} catch (error) {
106+
console.error(`❌ ZIP creation failed for ${plugin.name}`)
107+
process.exit(1)
108+
}
109+
110+
// Step 8: Success message for this plugin
111+
console.log(`\n✅ ${plugin.name} ZIP created successfully!`)
112+
console.log(`📦 Location: ${zipFilePath}`)
113+
114+
// Get file size
115+
const stats = fs.statSync(zipFilePath)
116+
const fileSizeInMB = (stats.size / (1024 * 1024)).toFixed(2)
117+
console.log(`📊 Size: ${fileSizeInMB} MB`)
118+
})
119+
120+
// Final summary
121+
console.log('\n' + '='.repeat(60))
122+
console.log('✅ All production ZIPs created successfully!')
123+
console.log('='.repeat(60) + '\n')

frontend-dev/package.json

Lines changed: 26 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -3,42 +3,29 @@
33
"private": true,
44
"version": "1.0.0",
55
"dependencies": {
6-
"@babel/traverse": "^7.27.0",
6+
"@babel/traverse": "^7.28.5",
77
"@bumaga/tabs": "^0.2.0",
8-
"@microlink/react-json-view": "^1.26.1",
8+
"@microlink/react-json-view": "^1.27.0",
99
"@monaco-editor/react": "^4.7.0",
10-
"@tinymce/tinymce-react": "^3.14.0",
1110
"@tippyjs/react": "^4.2.6",
12-
"@yaireo/tagify": "^4.34.0",
13-
"ansi-html": "^0.0.9",
14-
"braces": "^3.0.3",
15-
"browserslist": "^4.24.4",
11+
"@yaireo/tagify": "^4.35.6",
1612
"classnames": "^2.5.1",
17-
"ejs": "^3.1.10",
18-
"immer": "^10.1.1",
19-
"ip": "^2.0.1",
20-
"json5": "^2.2.3",
21-
"loader-utils": "^3.3.1",
13+
"create-file-list": "^1.1.0",
2214
"lodash": "^4.17.21",
23-
"lodash.template": "^4.5.0",
24-
"micromatch": "^4.0.8",
25-
"minimatch": "^10.0.1",
2615
"mutative": "^0.5.0",
27-
"node-forge": "^1.3.1",
28-
"node-sass": "^9.0.0",
29-
"nth-check": "^2.1.1",
30-
"postcss": "^8.5.3",
31-
"prettier": "^3.5.3",
16+
"po2json": "^0.4.5",
17+
"prettier": "^3.7.4",
3218
"react": "^18.3.1",
33-
"react-accessible-treeview": "^2.11.1",
19+
"react-accessible-treeview": "^2.11.2",
3420
"react-content-loader": "^6.2.1",
3521
"react-custom-scrollbars": "^4.2.1",
3622
"react-dom": "^18.3.1",
37-
"react-hot-toast": "^2.5.2",
23+
"react-gettext-parser": "^1.16.0",
24+
"react-hot-toast": "^2.6.0",
3825
"react-icons": "^4.12.0",
3926
"react-multiple-select-dropdown-lite": "2.0.3",
40-
"react-router": "^6.30.0",
41-
"react-router-dom": "^6.30.0",
27+
"react-router": "^6.30.2",
28+
"react-router-dom": "^6.30.2",
4229
"react-sortablejs": "^6.1.4",
4330
"react-table": "^7.8.0",
4431
"react-table-sticky": "^1.1.3",
@@ -48,14 +35,10 @@
4835
"recoil": "^0.5.2",
4936
"recoil-nexus": "^0.5.1",
5037
"regenerator-runtime": "^0.13.11",
51-
"semver": "^7.7.1",
52-
"shell-quote": "^1.8.2",
5338
"sortablejs": "^1.15.6",
5439
"swr": "^1.3.0",
55-
"tinymce": "^7.8.0",
5640
"tippy.js": "^6.3.7",
57-
"webpack-dev-middleware": "^7.4.2",
58-
"ws": "^8.18.1"
41+
"wp": "^0.0.3"
5942
},
6043
"scripts": {
6144
"build": "vite build",
@@ -69,18 +52,14 @@
6952
"i18n:php": "node ./pot-to-php.js locale.pot ../languages/generatedString.php bit-integrations",
7053
"i18n:pot": "wp i18n make-pot ../ --include=*.php --skip-js --slug=bit-integrations --headers='{\"Last-Translator\":\"[email protected]\",\"Language-Team\":\"[email protected]\",\"PO-Revision-Date\":\"\"}'",
7154
"clean": "rimraf node_modules yarn.lock package-lock.json pnpm-lock.yaml",
72-
"clean-install-run": "pnpm clean && pnpm i && pnpm hot"
55+
"clean-install-run": "pnpm clean && pnpm i && pnpm hot",
56+
"prod-zip": "node ./bin/prod-zip.js"
7357
},
7458
"husky": {
7559
"hooks": {
7660
"pre-commit": "npm run lint"
7761
}
7862
},
79-
"lint-staged": {
80-
"**/*.js?(x)": [
81-
"eslint --fix"
82-
]
83-
},
8463
"browserslist": {
8564
"browserslist": [
8665
"last 2 Chrome versions"
@@ -103,60 +82,39 @@
10382
]
10483
},
10584
"devDependencies": {
106-
"@babel/core": "^7.26.10",
107-
"@babel/eslint-parser": "^7.27.0",
85+
"@babel/core": "^7.28.5",
86+
"@babel/eslint-parser": "^7.28.5",
10887
"@babel/plugin-proposal-class-properties": "^7.18.6",
10988
"@babel/plugin-proposal-private-methods": "^7.18.6",
110-
"@babel/plugin-transform-react-jsx": "^7.25.9",
111-
"@babel/plugin-transform-regenerator": "^7.27.0",
112-
"@babel/plugin-transform-runtime": "^7.26.10",
113-
"@babel/preset-env": "^7.26.9",
114-
"@babel/preset-react": "^7.26.3",
115-
"@babel/runtime": "^7.27.0",
116-
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.16",
89+
"@babel/plugin-transform-react-jsx": "^7.27.1",
90+
"@babel/plugin-transform-regenerator": "^7.28.4",
91+
"@babel/plugin-transform-runtime": "^7.28.5",
92+
"@babel/preset-env": "^7.28.5",
93+
"@babel/preset-react": "^7.28.5",
94+
"@babel/runtime": "^7.28.4",
11795
"@testing-library/jest-dom": "^5.17.0",
11896
"@testing-library/react": "^11.2.7",
11997
"@testing-library/user-event": "^13.5.0",
120-
"@vitejs/plugin-react": "^4.3.4",
98+
"@vitejs/plugin-react": "^4.7.0",
12199
"@wordpress/babel-plugin-makepot": "^4.4.0",
122100
"@wordpress/i18n": "^3.20.0",
123-
"autoprefixer": "^9.8.8",
124101
"babel-loader": "^8.4.1",
125-
"clean-webpack-plugin": "^4.0.0",
126-
"compression-webpack-plugin": "^7.1.2",
127-
"copy-webpack-plugin": "^8.1.1",
128-
"css-loader": "^5.2.7",
129102
"eslint": "^8.57.1",
130103
"eslint-config-airbnb": "^19.0.4",
131104
"eslint-plugin-babel": "^5.3.1",
132-
"eslint-plugin-import": "^2.31.0",
105+
"eslint-plugin-import": "^2.32.0",
133106
"eslint-plugin-jsx-a11y": "^6.10.2",
134107
"eslint-plugin-node": "^11.1.0",
135108
"eslint-plugin-promise": "^5.2.0",
136109
"eslint-plugin-react": "^7.37.5",
137110
"eslint-plugin-react-hooks": "^4.6.2",
138111
"eslint-plugin-standard": "^5.0.0",
139-
"extract-loader": "^5.1.0",
140-
"file-loader": "^6.2.0",
141112
"gettext-parser": "^6.0.0",
142-
"html-webpack-plugin": "^5.6.3",
143113
"husky": "^6.0.0",
144-
"lint-staged": "^11.2.6",
145-
"mini-css-extract-plugin": "^1.6.2",
146-
"mini-svg-data-uri": "^1.4.4",
147-
"module-to-cdn": "^3.1.5",
148-
"optimize-css-assets-webpack-plugin": "^5.0.8",
149-
"postcss-loader": "^5.3.0",
150-
"postcss-safe-parser": "^5.0.2",
151114
"react-refresh": "^0.14.2",
152-
"react-scripts": "^4.0.3",
153115
"rimraf": "^3.0.2",
154-
"sass": "^1.86.3",
155-
"sass-loader": "^11.1.1",
156-
"style-loader": "^2.0.0",
157-
"terser-webpack-plugin": "^5.3.14",
158-
"url-loader": "^4.1.1",
159-
"vite": "^4.5.13"
116+
"sass": "^1.96.0",
117+
"vite": "^4.5.14"
160118
},
161119
"main": ".eslintrc.js",
162120
"keywords": [],

0 commit comments

Comments
 (0)