Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ updates:
interval: "weekly"

- package-ecosystem: "pub"
directory: "/packages/formbricks_flutter"
directory: "/packages/formbricks"
schedule:
interval: "weekly"

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ build/
# contains an app → reproducible builds, paired with the fvm-pinned SDK).
# Members don't generate their own lockfile under a workspace, but ignore any
# stray ones just in case.
/packages/formbricks_flutter/pubspec.lock
/packages/formbricks/pubspec.lock
/apps/playground/pubspec.lock

# Melos
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
.DEFAULT_GOAL := help

SDK_DIR := packages/formbricks_flutter
SDK_DIR := packages/formbricks
PLAYGROUND_DIR := apps/playground
TEST_RESULTS_DIR := test-results
PLATFORMS := ios android
Expand Down Expand Up @@ -97,7 +97,7 @@ test:

test-sdk-machine:
mkdir -p $(TEST_RESULTS_DIR)
cd $(SDK_DIR) && $(FLUTTER) test --machine > ../../$(TEST_RESULTS_DIR)/formbricks_flutter.json
cd $(SDK_DIR) && $(FLUTTER) test --machine > ../../$(TEST_RESULTS_DIR)/formbricks.json

test-playground:
cd $(PLAYGROUND_DIR) && $(FLUTTER) test
Expand Down
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ render targeted in-app surveys inside a WebView backed by
`{appUrl}/js/surveys.umd.cjs`.

SDK usage docs live in
[`packages/formbricks_flutter/README.md`](packages/formbricks_flutter/README.md).
[`packages/formbricks/README.md`](packages/formbricks/README.md).

## Quick Start

Expand Down Expand Up @@ -88,9 +88,9 @@ flutter/
├── sonar-project.properties # SonarCloud config (finalised in a follow-up)
├── LICENSE # MIT
├── packages/
│ └── formbricks_flutter/ # the SDK package (the thing we publish)
│ └── formbricks/ # the SDK package (the thing we publish)
│ ├── lib/
│ │ ├── formbricks_flutter.dart # public exports
│ │ ├── formbricks.dart # public exports
│ │ └── src/ # private implementation
│ ├── test/ # one test file per source file
│ ├── pubspec.yaml
Expand All @@ -109,10 +109,10 @@ A standard `packages/*` + `apps/*` monorepo split.

### Why these locations

| Path | Holds | Rationale |
| ----------------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `packages/formbricks_flutter` | The publishable SDK | Single source of the pub.dev package. `src/` is private; only `lib/formbricks_flutter.dart` re-exports the public API. |
| `apps/playground` | Demo app | Real Flutter app on iOS + Android for manual QA of WebView / keyboard / modal behaviour. Excluded from SonarCloud + pub scoring. A real demo app is what catches keyboard/touch regressions before customers do, so it ships from day one. |
| Path | Holds | Rationale |
| --------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `packages/formbricks` | The publishable SDK | Single source of the pub.dev package. `src/` is private; only `lib/formbricks.dart` re-exports the public API. |
| `apps/playground` | Demo app | Real Flutter app on iOS + Android for manual QA of WebView / keyboard / modal behaviour. Excluded from SonarCloud + pub scoring. A real demo app is what catches keyboard/touch regressions before customers do, so it ships from day one. |

## Monorepo tooling

Expand Down
2 changes: 1 addition & 1 deletion apps/playground/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Playground

Demo / manual-QA app for the [`formbricks_flutter`](../../packages/formbricks_flutter)
Demo / manual-QA app for the [`formbricks`](../../packages/formbricks)
SDK. Targets iOS + Android.

It calls `Formbricks.setup` on launch (reading `APP_URL` / `WORKSPACE_ID` from
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import 'dart:convert';

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/formbricks_flutter.dart';
import 'package:formbricks/formbricks.dart';
import 'package:formbricks_playground/main.dart';
import 'package:integration_test/integration_test.dart';

Expand Down
2 changes: 1 addition & 1 deletion apps/playground/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter/material.dart';
import 'package:formbricks_flutter/formbricks_flutter.dart';
import 'package:formbricks/formbricks.dart';

const String _defaultAppUrl = String.fromEnvironment('APP_URL');
const String _defaultWorkspaceId = String.fromEnvironment('WORKSPACE_ID');
Expand Down
6 changes: 3 additions & 3 deletions apps/playground/pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: formbricks_playground
description: "Demo / manual-QA app for the formbricks_flutter SDK."
description: "Demo / manual-QA app for the formbricks SDK."
# The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: 'none' # Remove this line if you wish to publish to pub.dev
Expand Down Expand Up @@ -39,8 +39,8 @@ dependencies:
cupertino_icons: ^1.0.8

# The local SDK package, resolved through the pub workspace.
formbricks_flutter:
path: ../../packages/formbricks_flutter
formbricks:
path: ../../packages/formbricks

dev_dependencies:
flutter_test:
Expand Down
2 changes: 1 addition & 1 deletion docs/TLS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# TLS / HTTPS recommendations

This guide is for **developers integrating the `formbricks_flutter` package**
This guide is for **developers integrating the `formbricks` package**
into their app, especially when pointing the SDK at a **self-hosted Formbricks
instance**. It explains the SDK's TLS requirements and how to make a self-hosted
instance load correctly.
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# formbricks_flutter
# formbricks

First-party Flutter SDK for [Formbricks](https://formbricks.com). Connect your
Flutter app to a Formbricks workspace, identify users, set attributes, track
Expand All @@ -9,11 +9,11 @@ Targets **iOS and Android**.
## Install

```bash
flutter pub add formbricks_flutter
flutter pub add formbricks
```

```dart
import 'package:formbricks_flutter/formbricks_flutter.dart';
import 'package:formbricks/formbricks.dart';
```

## Quick start
Expand All @@ -24,7 +24,7 @@ triggered survey in a modal overlay:

```dart
import 'package:flutter/material.dart';
import 'package:formbricks_flutter/formbricks_flutter.dart';
import 'package:formbricks/formbricks.dart';

class MyApp extends StatelessWidget {
const MyApp({super.key});
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: formbricks_flutter
name: formbricks
description: >-
Formbricks Flutter SDK — connect your Flutter app to Formbricks, identify
users, track actions, and render targeted in-app surveys.
Expand All @@ -7,10 +7,7 @@ homepage: https://formbricks.com
repository: https://github.com/formbricks/flutter
issue_tracker: https://github.com/formbricks/flutter/issues

# Not published yet. This only establishes the monorepo skeleton; the public
# API and pub.dev publish flow land in follow-up work.
# NOTE: the bare name `formbricks_flutter` is currently taken on pub.dev — the
# final published name is an open decision (see repo README).
# Not published to pub.dev yet — publish_to is disabled until the first release.
publish_to: none

# Part of the root pub workspace — shares the root lockfile + analysis config.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import 'dart:convert';
import 'dart:io';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/api_client.dart';
import 'package:formbricks_flutter/src/common/result.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks/src/common/api_client.dart';
import 'package:formbricks/src/common/result.dart';
import 'package:formbricks/src/types/config.dart';
import 'package:formbricks/src/types/errors.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/command_queue.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks/src/common/command_queue.dart';
import 'package:formbricks/src/types/errors.dart';

void main() {
group('CommandQueue', () {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'dart:convert';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/types/config.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ import 'package:clock/clock.dart';
import 'package:fake_async/fake_async.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/api_client.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/expiry_ticker.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks/src/common/api_client.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/expiry_ticker.dart';
import 'package:formbricks/src/types/config.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
import 'package:shared_preferences/shared_preferences.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import 'package:clock/clock.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/filter_surveys.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks_flutter/src/types/survey.dart';
import 'package:formbricks/src/common/filter_surveys.dart';
import 'package:formbricks/src/common/logger.dart';
import 'package:formbricks/src/types/config.dart';
import 'package:formbricks/src/types/survey.dart';

Map<String, dynamic> _survey(
String id, {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks/src/common/logger.dart';

void main() {
setUp(Logger.resetInstance);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/result.dart';
import 'package:formbricks/src/common/result.dart';

void main() {
group('Result', () {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@ import 'dart:convert';

import 'package:clock/clock.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks_flutter/src/common/result.dart';
import 'package:formbricks_flutter/src/common/setup.dart' hide tearDown;
import 'package:formbricks_flutter/src/common/setup.dart' as fb_setup
show tearDown;
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/logger.dart';
import 'package:formbricks/src/common/result.dart';
import 'package:formbricks/src/common/setup.dart' hide tearDown;
import 'package:formbricks/src/common/setup.dart' as fb_setup show tearDown;
import 'package:formbricks/src/types/config.dart';
import 'package:formbricks/src/types/errors.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
import 'package:shared_preferences/shared_preferences.dart';
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/survey_script_url.dart';
import 'package:formbricks/src/common/survey_script_url.dart';

void main() {
group('getSurveyScriptUrl', () {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import 'dart:math';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/utils.dart';
import 'package:formbricks_flutter/src/types/survey.dart';
import 'package:formbricks/src/common/utils.dart';
import 'package:formbricks/src/types/survey.dart';

TSurvey _survey(
List<Map<String, dynamic>> languages, {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import 'dart:convert';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/formbricks_flutter.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/setup.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks/formbricks.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/setup.dart';
import 'package:formbricks/src/types/config.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ import 'dart:convert';
import 'dart:math';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks_flutter/src/common/result.dart';
import 'package:formbricks_flutter/src/survey/action.dart';
import 'package:formbricks_flutter/src/survey/survey_store.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks_flutter/src/types/survey.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/logger.dart';
import 'package:formbricks/src/common/result.dart';
import 'package:formbricks/src/survey/action.dart';
import 'package:formbricks/src/survey/survey_store.dart';
import 'package:formbricks/src/types/errors.dart';
import 'package:formbricks/src/types/survey.dart';
import 'package:shared_preferences/shared_preferences.dart';

Map<String, dynamic> _surveyJson(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/survey/survey_store.dart';
import 'package:formbricks_flutter/src/types/survey.dart';
import 'package:formbricks/src/survey/survey_store.dart';
import 'package:formbricks/src/types/survey.dart';

TSurvey _s(String id, {String? headline}) => TSurvey.fromJson({
'id': id,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/types/action_class.dart';
import 'package:formbricks/src/types/action_class.dart';

void main() {
group('TActionClass', () {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'dart:convert';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/types/config.dart';
import 'package:formbricks/src/types/config.dart';

void main() {
group('TConfig JSON', () {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks/src/types/errors.dart';

void main() {
test('error codes expose their wire strings', () {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/types/survey.dart';
import 'package:formbricks/src/types/survey.dart';

Map<String, dynamic> _fullJson() => {
'id': 's1',
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import 'dart:convert';

import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/api_client.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks_flutter/src/user/attribute.dart';
import 'package:formbricks_flutter/src/user/update_queue.dart';
import 'package:formbricks/src/common/api_client.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/logger.dart';
import 'package:formbricks/src/user/attribute.dart';
import 'package:formbricks/src/user/update_queue.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
import 'package:shared_preferences/shared_preferences.dart';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ import 'dart:convert';

import 'package:fake_async/fake_async.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:formbricks_flutter/src/common/api_client.dart';
import 'package:formbricks_flutter/src/common/config.dart';
import 'package:formbricks_flutter/src/common/logger.dart';
import 'package:formbricks_flutter/src/types/errors.dart';
import 'package:formbricks_flutter/src/user/update_queue.dart';
import 'package:formbricks/src/common/api_client.dart';
import 'package:formbricks/src/common/config.dart';
import 'package:formbricks/src/common/logger.dart';
import 'package:formbricks/src/types/errors.dart';
import 'package:formbricks/src/user/update_queue.dart';
import 'package:http/http.dart' as http;
import 'package:http/testing.dart';
import 'package:shared_preferences/shared_preferences.dart';
Expand Down
Loading
Loading