diff --git a/.eslintignore b/.eslintignore
new file mode 100644
index 000000000..c6f157ae4
--- /dev/null
+++ b/.eslintignore
@@ -0,0 +1 @@
+packages/docs/*
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
index ec92cad7b..ebab55120 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -10,5 +10,9 @@ module.exports = {
parserOptions: {
ecmaVersion: 'latest',
},
- rules: {},
+ rules: {
+ 'no-unsafe-negation': 'off',
+ 'no-prototype-builtins': 'off',
+ 'no-useless-escape': 'off',
+ },
}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 5d6690f02..af31d881c 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -1,27 +1,168 @@
-name: Bot CI Test
+name: BotWhatsapp CI
on:
push:
- branches: [dev]
+ branches:
+ - main
pull_request:
- branches: [main]
+ branches:
+ - main
+ - dev
jobs:
- build:
+ ############ BUILD PACKAGE ############
+ build-package:
+ name: Build Package
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 16.x
+ cache: 'yarn'
+ registry-url: https://registry.npmjs.org/
+
+ - run: corepack enable
+
+ - name: Install NPM Dependencies
+ run: yarn install --immutable --network-timeout 300000
+
+ - name: Build Package
+ run: yarn build
+
+ - name: Test Package
+ run: yarn test
+
+ - name: Upload @bot-whatsapp/bot
+ uses: actions/upload-artifact@master
+ with:
+ name: dist-dev-bot
+ path: packages/bot/lib/
+ if-no-files-found: error
+
+ - name: Upload @bot-whatsapp/cli
+ uses: actions/upload-artifact@master
+ with:
+ name: dist-dev-cli
+ path: packages/cli/lib/
+ if-no-files-found: error
+
+ - name: Upload @bot-whatsapp/create-bot-whatsapp
+ uses: actions/upload-artifact@master
+ with:
+ name: dist-dev-create-bot-whatsapp
+ path: packages/create-bot-whatsapp/lib/
+ if-no-files-found: error
+
+ - name: Upload @bot-whatsapp/database
+ uses: actions/upload-artifact@master
+ with:
+ name: dist-dev-database
+ path: packages/database/lib/
+ if-no-files-found: error
+
+ - name: Upload @bot-whatsapp/database
+ uses: actions/upload-artifact@master
+ with:
+ name: dist-dev-provider
+ path: packages/provider/lib/
+ if-no-files-found: error
+
+ - name: Build Eslint rules
+ run: yarn lint:fix
+
+ ############ RELEASE ############
+ release:
+ name: Release
runs-on: ubuntu-latest
- strategy:
- matrix:
- node-version: [16.x]
+ needs:
+ - build-package
+ - test-unit
steps:
- - uses: actions/checkout@v3
- - name: Use Node.js ${{ matrix.node-version }}
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - uses: pnpm/action-setup@v2.2.4
+ with:
+ version: 7
+
+ - name: Setup Node
+ uses: actions/setup-node@v3
+ with:
+ node-version: 16.x
+ cache: 'pnpm'
+ registry-url: https://registry.npmjs.org/
+
+ - run: corepack enable
+
+ - name: Download Build Artifacts
+ uses: actions/download-artifact@v2
+
+ - name: Print Distribution Artifacts
+ run: tree builderio-qwik-distribution/
+
+ - name: Print Create Qwik CLI Artifacts
+ run: tree dist-dev-create-qwik/
+
+ - name: Move Distribution Artifacts
+ run: |
+ mkdir -p packages/qwik/dist/
+ mv builderio-qwik-distribution/* packages/qwik/dist/
+ mkdir -p packages/create-qwik/dist/
+ mv dist-dev-create-qwik/* packages/create-qwik/dist/
+ mkdir -p packages/eslint-plugin-qwik/dist/
+ mv dist-dev-eslint-plugin-qwik/* packages/eslint-plugin-qwik/dist/
+
+ - name: Install NPM Dependencies
+ run: pnpm install --frozen-lockfile
+
+ - name: Dry-Run Publish @builder.io/qwik
+ if: ${{ github.event_name != 'workflow_dispatch' }}
+ run: pnpm tsm scripts/index.ts --set-dist-tag="${{ github.event.inputs.disttag }}" --release --dry-run
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+
+ - name: Publish @builder.io/qwik
+ if: ${{ github.event_name == 'workflow_dispatch' }}
+ run: pnpm tsm scripts/index.ts --set-dist-tag="${{ github.event.inputs.disttag }}" --release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+
+ - name: Save artifacts
+ if: ${{ needs.changes.outputs.fullbuild == 'true' && github.event_name == 'push' }}
+ env:
+ API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
+ run: pnpm run qwik-save-artifacts
+
+ ############ UNIT TEST ############
+ test-unit:
+ name: Unit Tests
+ runs-on: ubuntu-latest
+ needs:
+ - build-package
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+
+ - name: Setup Node
uses: actions/setup-node@v3
with:
- node-version: ${{ matrix.node-version }}
+ node-version: 16.x
+ cache: 'yarn'
+ registry-url: https://registry.npmjs.org/
+
- run: corepack enable
+
- name: Install NPM Dependencies
run: yarn install --immutable --network-timeout 300000
- - name: Test
+
+ - name: Unit Tests
run: yarn test
diff --git a/.github/workflows/relases.yml b/.github/workflows/relases.yml
deleted file mode 100644
index b21e38565..000000000
--- a/.github/workflows/relases.yml
+++ /dev/null
@@ -1,26 +0,0 @@
-name: Bot Relases
-
-on:
- release:
- types: [released, published]
-jobs:
- build:
- runs-on: ubuntu-latest
-
- strategy:
- matrix:
- node-version: [16.x]
-
- steps:
- - uses: actions/checkout@v3
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v3
- with:
- node-version: ${{ matrix.node-version }}
- - run: corepack enable
- - name: Install NPM Dependencies
- run: yarn install --immutable --network-timeout 300000
- - name: Test
- run: yarn test
- - name: Build
- run: yarn build
diff --git a/.gitignore b/.gitignore
index d5e4adefb..bd0f7ad8d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@ coverage/
log
log/*
*.log
+*.tgz
lib
tmp/
.yarn/*
diff --git a/package.json b/package.json
index 951532069..471e56556 100644
--- a/package.json
+++ b/package.json
@@ -80,6 +80,7 @@
"rollup": "^3.2.3",
"rollup-plugin-cleanup": "^3.2.1",
"rollup-plugin-copy": "^3.4.0",
+ "semver": "^7.3.8",
"standard-version": "^9.5.0",
"uvu": "^0.5.6"
},
diff --git a/packages/bot/package.json b/packages/bot/package.json
index f6affeed2..18f4ce029 100644
--- a/packages/bot/package.json
+++ b/packages/bot/package.json
@@ -1,9 +1,8 @@
{
"name": "@bot-whatsapp/bot",
- "version": "0.0.1",
+ "version": "0.0.4-alpha.0",
"description": "",
"main": "./lib/bundle.bot.cjs",
- "private": true,
"scripts": {
"bot:rollup": "node ../../node_modules/.bin/rollup index.js --config ./rollup-cli.config.js",
"format:check": "prettier --check .",
diff --git a/packages/bot/provider/provider.class.js b/packages/bot/provider/provider.class.js
index 5fc4bb8c0..212f0428f 100644
--- a/packages/bot/provider/provider.class.js
+++ b/packages/bot/provider/provider.class.js
@@ -19,7 +19,7 @@ class ProviderClass extends EventEmitter {
*
*/
- sendMessage = async (userId, message, sendMessage) => {
+ sendMessage = async (userId, message) => {
if (NODE_ENV !== 'production')
console.log('[sendMessage]', { userId, message })
return message
diff --git a/packages/cli/package.json b/packages/cli/package.json
index fd9b7f7e5..1e15a00dd 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,9 +1,8 @@
{
"name": "@bot-whatsapp/cli",
- "version": "0.0.1",
+ "version": "0.0.2-alpha.0",
"description": "",
"main": "index.js",
- "private": true,
"devDependencies": {
"cross-env": "^7.0.3",
"cross-spawn": "^7.0.3",
diff --git a/packages/create-bot-whatsapp/package.json b/packages/create-bot-whatsapp/package.json
index 65926f861..9ca325839 100644
--- a/packages/create-bot-whatsapp/package.json
+++ b/packages/create-bot-whatsapp/package.json
@@ -1,9 +1,8 @@
{
"name": "create-bot-whatsapp",
- "version": "0.0.1",
+ "version": "0.0.9-alpha.0",
"description": "",
"main": "./lib/bin/bundle.create.cjs",
- "private": true,
"dependencies": {
"@bot-whatsapp/cli": "*"
},
diff --git a/packages/database/package.json b/packages/database/package.json
index 31da8bf20..0787b053a 100644
--- a/packages/database/package.json
+++ b/packages/database/package.json
@@ -1,9 +1,8 @@
{
"name": "@bot-whatsapp/database",
- "version": "0.0.1",
+ "version": "0.0.2-alpha.0",
"description": "Esto es el conector a mysql, pg, mongo",
"main": "./lib/mock/index.cjs",
- "private": true,
"keywords": [],
"author": "",
"license": "ISC",
diff --git a/packages/docs/adaptors/cloudflare-pages/vite.config.ts b/packages/docs/adaptors/cloudflare-pages/vite.config.ts
index b03956f14..dc2bfde77 100644
--- a/packages/docs/adaptors/cloudflare-pages/vite.config.ts
+++ b/packages/docs/adaptors/cloudflare-pages/vite.config.ts
@@ -1,19 +1,19 @@
-import { cloudflarePagesAdaptor } from '@builder.io/qwik-city/adaptors/cloudflare-pages/vite';
-import { extendConfig } from '@builder.io/qwik-city/vite';
-import baseConfig from '../../vite.config';
+import { cloudflarePagesAdaptor } from '@builder.io/qwik-city/adaptors/cloudflare-pages/vite'
+import { extendConfig } from '@builder.io/qwik-city/vite'
+import baseConfig from '../../vite.config'
export default extendConfig(baseConfig, () => {
- return {
- build: {
- ssr: true,
- rollupOptions: {
- input: ['src/entry.cloudflare-pages.tsx', '@qwik-city-plan'],
- },
- },
- plugins: [
- cloudflarePagesAdaptor({
- staticGenerate: true,
- }),
- ],
- };
-});
+ return {
+ build: {
+ ssr: true,
+ rollupOptions: {
+ input: ['src/entry.cloudflare-pages.tsx', '@qwik-city-plan'],
+ },
+ },
+ plugins: [
+ cloudflarePagesAdaptor({
+ staticGenerate: true,
+ }),
+ ],
+ }
+})
diff --git a/packages/docs/functions/[[path]].ts b/packages/docs/functions/[[path]].ts
index 66013ad05..ce9a1291f 100644
--- a/packages/docs/functions/[[path]].ts
+++ b/packages/docs/functions/[[path]].ts
@@ -2,4 +2,4 @@
// Cloudflare Pages Functions
// https://developers.cloudflare.com/pages/platform/functions/
-export { onRequest } from '../server/entry.cloudflare-pages';
+export { onRequest } from '../server/entry.cloudflare-pages'
diff --git a/packages/docs/postcss.config.js b/packages/docs/postcss.config.js
index 33ad091d2..fef1b2256 100644
--- a/packages/docs/postcss.config.js
+++ b/packages/docs/postcss.config.js
@@ -1,6 +1,6 @@
module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
}
diff --git a/packages/docs/public/manifest.json b/packages/docs/public/manifest.json
index c18e75f72..44825fa8c 100644
--- a/packages/docs/public/manifest.json
+++ b/packages/docs/public/manifest.json
@@ -1,9 +1,9 @@
{
- "$schema": "https://json.schemastore.org/web-manifest-combined.json",
- "name": "qwik-project-name",
- "short_name": "Welcome to Qwik",
- "start_url": ".",
- "display": "standalone",
- "background_color": "#fff",
- "description": "A Qwik project app."
+ "$schema": "https://json.schemastore.org/web-manifest-combined.json",
+ "name": "qwik-project-name",
+ "short_name": "Welcome to Qwik",
+ "start_url": ".",
+ "display": "standalone",
+ "background_color": "#fff",
+ "description": "A Qwik project app."
}
diff --git a/packages/docs/src/components/breadcrumbs/breadcrumbs.css b/packages/docs/src/components/breadcrumbs/breadcrumbs.css
index c278f5180..46263912c 100644
--- a/packages/docs/src/components/breadcrumbs/breadcrumbs.css
+++ b/packages/docs/src/components/breadcrumbs/breadcrumbs.css
@@ -1,25 +1,25 @@
nav.breadcrumbs {
- padding: 5px;
- border-bottom: 1px solid #ddd;
+ padding: 5px;
+ border-bottom: 1px solid #ddd;
}
nav.breadcrumbs > span {
- display: inline-block;
- padding: 5px 0;
- font-size: 12px;
+ display: inline-block;
+ padding: 5px 0;
+ font-size: 12px;
}
nav.breadcrumbs > span a {
- text-decoration: none;
- color: inherit;
+ text-decoration: none;
+ color: inherit;
}
nav.breadcrumbs > span::after {
- content: '>';
- padding: 0 5px;
- opacity: 0.4;
+ content: '>';
+ padding: 0 5px;
+ opacity: 0.4;
}
nav.breadcrumbs > span:last-child::after {
- display: none;
+ display: none;
}
diff --git a/packages/docs/src/components/breadcrumbs/breadcrumbs.tsx b/packages/docs/src/components/breadcrumbs/breadcrumbs.tsx
index 36de82fd5..03954f0cf 100644
--- a/packages/docs/src/components/breadcrumbs/breadcrumbs.tsx
+++ b/packages/docs/src/components/breadcrumbs/breadcrumbs.tsx
@@ -1,74 +1,77 @@
-import { component$, useStyles$ } from '@builder.io/qwik';
-import { useContent, useLocation, ContentMenu } from '@builder.io/qwik-city';
-import styles from './breadcrumbs.css?inline';
+import { component$, useStyles$ } from '@builder.io/qwik'
+import { useContent, useLocation, ContentMenu } from '@builder.io/qwik-city'
+import styles from './breadcrumbs.css?inline'
export const Breadcrumbs = component$(() => {
- useStyles$(styles);
+ useStyles$(styles)
- const { menu } = useContent();
- const loc = useLocation();
+ const { menu } = useContent()
+ const loc = useLocation()
- const breadcrumbs = createBreadcrumbs(menu, loc.pathname);
- if (breadcrumbs.length === 0) {
- return null;
- }
+ const breadcrumbs = createBreadcrumbs(menu, loc.pathname)
+ if (breadcrumbs.length === 0) {
+ return null
+ }
- return (
-
- );
-});
+ return (
+
+ )
+})
-export function createBreadcrumbs(menu: ContentMenu | undefined, pathname: string) {
- if (menu?.items) {
- for (const indexA of menu.items) {
- const breadcrumbA: ContentBreadcrumb = {
- text: indexA.text,
- };
- if (typeof indexA.href === 'string') {
- breadcrumbA.href = indexA.href;
- }
- if (indexA.href === pathname) {
- return [breadcrumbA];
- }
+export function createBreadcrumbs(
+ menu: ContentMenu | undefined,
+ pathname: string
+) {
+ if (menu?.items) {
+ for (const indexA of menu.items) {
+ const breadcrumbA: ContentBreadcrumb = {
+ text: indexA.text,
+ }
+ if (typeof indexA.href === 'string') {
+ breadcrumbA.href = indexA.href
+ }
+ if (indexA.href === pathname) {
+ return [breadcrumbA]
+ }
- if (indexA.items) {
- for (const indexB of indexA.items) {
- const breadcrumbB: ContentBreadcrumb = {
- text: indexB.text,
- };
- if (typeof indexB.href === 'string') {
- breadcrumbB.href = indexB.href;
- }
- if (indexB.href === pathname) {
- return [breadcrumbA, breadcrumbB];
- }
+ if (indexA.items) {
+ for (const indexB of indexA.items) {
+ const breadcrumbB: ContentBreadcrumb = {
+ text: indexB.text,
+ }
+ if (typeof indexB.href === 'string') {
+ breadcrumbB.href = indexB.href
+ }
+ if (indexB.href === pathname) {
+ return [breadcrumbA, breadcrumbB]
+ }
- if (indexB.items) {
- for (const indexC of indexB.items) {
- const breadcrumbC: ContentBreadcrumb = {
- text: indexC.text,
- };
- if (typeof indexC.href === 'string') {
- breadcrumbC.href = indexC.href;
- }
- if (indexC.href === pathname) {
- return [breadcrumbA, breadcrumbB, breadcrumbC];
- }
+ if (indexB.items) {
+ for (const indexC of indexB.items) {
+ const breadcrumbC: ContentBreadcrumb = {
+ text: indexC.text,
+ }
+ if (typeof indexC.href === 'string') {
+ breadcrumbC.href = indexC.href
+ }
+ if (indexC.href === pathname) {
+ return [breadcrumbA, breadcrumbB, breadcrumbC]
+ }
+ }
+ }
+ }
}
- }
}
- }
}
- }
- return [];
+ return []
}
interface ContentBreadcrumb {
- text: string;
- href?: string;
+ text: string
+ href?: string
}
diff --git a/packages/docs/src/components/footer/footer.css b/packages/docs/src/components/footer/footer.css
index 2e037e823..662fc223c 100644
--- a/packages/docs/src/components/footer/footer.css
+++ b/packages/docs/src/components/footer/footer.css
@@ -1,22 +1,22 @@
footer {
- border-top: 0.5px solid #ddd;
- margin-top: 40px;
- padding: 20px;
- text-align: center;
+ border-top: 0.5px solid #ddd;
+ margin-top: 40px;
+ padding: 20px;
+ text-align: center;
}
footer a {
- color: #9e9e9e;
- font-size: 12px;
+ color: #9e9e9e;
+ font-size: 12px;
}
footer ul {
- list-style: none;
- margin: 0;
- padding: 0;
+ list-style: none;
+ margin: 0;
+ padding: 0;
}
footer li {
- display: inline-block;
- padding: 6px 12px;
+ display: inline-block;
+ padding: 6px 12px;
}
diff --git a/packages/docs/src/components/footer/footer.tsx b/packages/docs/src/components/footer/footer.tsx
index ce84ac154..c4634f783 100644
--- a/packages/docs/src/components/footer/footer.tsx
+++ b/packages/docs/src/components/footer/footer.tsx
@@ -1,36 +1,40 @@
-import { component$, useStyles$ } from '@builder.io/qwik';
-import styles from './footer.css?inline';
+import { component$, useStyles$ } from '@builder.io/qwik'
+import styles from './footer.css?inline'
export default component$(() => {
- useStyles$(styles);
+ useStyles$(styles)
- return (
-
- );
-});
+ return (
+
+ )
+})
diff --git a/packages/docs/src/components/header/header.css b/packages/docs/src/components/header/header.css
index fe3a1f692..d2fd58208 100644
--- a/packages/docs/src/components/header/header.css
+++ b/packages/docs/src/components/header/header.css
@@ -1,34 +1,34 @@
header {
- position: sticky;
- top: 0;
- z-index: 11;
- display: grid;
- grid-template-columns: minmax(130px, auto) 1fr;
- gap: 30px;
- height: 80px;
- width: 100%;
- padding: 10px;
- background-color: white;
- overflow: hidden;
+ position: sticky;
+ top: 0;
+ z-index: 11;
+ display: grid;
+ grid-template-columns: minmax(130px, auto) 1fr;
+ gap: 30px;
+ height: 80px;
+ width: 100%;
+ padding: 10px;
+ background-color: white;
+ overflow: hidden;
}
header a.logo {
- display: block;
+ display: block;
}
header a {
- text-decoration: none;
+ text-decoration: none;
}
header nav {
- text-align: right;
+ text-align: right;
}
header nav a {
- display: inline-block;
- padding: 5px 15px;
+ display: inline-block;
+ padding: 5px 15px;
}
header nav a:hover {
- text-decoration: underline;
+ text-decoration: underline;
}
diff --git a/packages/docs/src/components/header/header.tsx b/packages/docs/src/components/header/header.tsx
index a4c37989a..f151fe30e 100644
--- a/packages/docs/src/components/header/header.tsx
+++ b/packages/docs/src/components/header/header.tsx
@@ -1,26 +1,32 @@
-import { component$, useStyles$ } from '@builder.io/qwik';
-import { useLocation } from '@builder.io/qwik-city';
-import { QwikLogo } from '../icons/qwik';
-import styles from './header.css?inline';
+import { component$, useStyles$ } from '@builder.io/qwik'
+import { useLocation } from '@builder.io/qwik-city'
+import { QwikLogo } from '../icons/qwik'
+import styles from './header.css?inline'
export default component$(() => {
- useStyles$(styles);
+ useStyles$(styles)
- const { pathname } = useLocation();
+ const { pathname } = useLocation()
- return (
-