@open-dy/vibecoding-sdk-taro 0.0.1 → 0.1.0-beta.0
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.
- package/dist/adapters/interest-card/eslint/eslint-plugin-custom-navigation.mjs +2 -290
- package/dist/adapters/interest-card/eslint/taro.mjs +8 -42
- package/dist/build/plugins/inject-feed-card-meta.cjs +148 -0
- package/dist/build/taro.js +1 -0
- package/dist/build/taro.js.map +1 -1
- package/dist/components/miniapp-open-card.d.ts +46 -1
- package/dist/components/miniapp-open-card.js +14 -1
- package/dist/components/miniapp-open-card.js.map +1 -1
- package/dist/eslint/eslint-plugin-custom-navigation.mjs +301 -0
- package/dist/eslint/eslint-plugin-network-json-body.mjs +103 -0
- package/dist/eslint/taro.mjs +38 -1
- package/dist/reference/llms.txt +72 -80
- package/dist/reference/sdk-api/build/taro/BuildContext.md +1 -1
- package/dist/reference/sdk-api/build/taro/CreateMicroappTaroConfigOptions.md +1 -1
- package/dist/reference/sdk-api/build/taro/createMicroappTaroConfig.md +1 -1
- package/dist/reference/sdk-api/components/miniapp-open-card/MiniappOpenCard.md +109 -0
- package/dist/reference/sdk-api/components/miniapp-open-card/MiniappOpenCardEnvVersion.md +38 -0
- package/dist/reference/sdk-api/components/miniapp-open-card/MiniappOpenCardErrorDetail.md +52 -0
- package/dist/reference/sdk-api/components/miniapp-open-card/MiniappOpenCardProps.md +76 -0
- package/dist/reference/sdk-api/components/miniapp-open-card/index.md +12 -0
- package/dist/reference/sdk-api/libraries/lucide-taro.md +151 -0
- package/dist/reference/sdk-api/runtime/CreateMicroappClientOptions.md +1 -1
- package/dist/reference/sdk-api/runtime/createMicroappClient.md +2 -2
- package/dist/reference/sdk-api/ui/accordion/Accordion.md +1 -1
- package/dist/reference/sdk-api/ui/accordion/AccordionContent.md +1 -1
- package/dist/reference/sdk-api/ui/accordion/AccordionItem.md +1 -1
- package/dist/reference/sdk-api/ui/accordion/AccordionTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/alert/Alert.md +1 -1
- package/dist/reference/sdk-api/ui/alert/AlertAction.md +1 -1
- package/dist/reference/sdk-api/ui/alert/AlertDescription.md +1 -1
- package/dist/reference/sdk-api/ui/alert/AlertTitle.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialog.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogAction.md +2 -2
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogCancel.md +2 -2
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogContent.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogDescription.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogFooter.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogHeader.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogOverlay.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogPortal.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogTitle.md +1 -1
- package/dist/reference/sdk-api/ui/alert-dialog/AlertDialogTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/aspect-ratio/AspectRatio.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/Avatar.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/AvatarBadge.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/AvatarFallback.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/AvatarGroup.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/AvatarGroupCount.md +1 -1
- package/dist/reference/sdk-api/ui/avatar/AvatarImage.md +19 -19
- package/dist/reference/sdk-api/ui/badge/Badge.md +2 -2
- package/dist/reference/sdk-api/ui/badge/badgeVariants.md +2 -2
- package/dist/reference/sdk-api/ui/button/Button.md +2 -2
- package/dist/reference/sdk-api/ui/button/ButtonProps.md +2 -2
- package/dist/reference/sdk-api/ui/button/buttonVariants.md +2 -2
- package/dist/reference/sdk-api/ui/button-group/ButtonGroup.md +1 -1
- package/dist/reference/sdk-api/ui/button-group/ButtonGroupSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/button-group/ButtonGroupText.md +22 -22
- package/dist/reference/sdk-api/ui/button-group/buttonGroupVariants.md +1 -1
- package/dist/reference/sdk-api/ui/calendar/Calendar.md +1 -1
- package/dist/reference/sdk-api/ui/calendar/CalendarProps.md +1 -1
- package/dist/reference/sdk-api/ui/card/Card.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardAction.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardContent.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardDescription.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardFooter.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardHeader.md +1 -1
- package/dist/reference/sdk-api/ui/card/CardTitle.md +1 -1
- package/dist/reference/sdk-api/ui/carousel/Carousel.md +1 -1
- package/dist/reference/sdk-api/ui/carousel/CarouselContent.md +1 -1
- package/dist/reference/sdk-api/ui/carousel/CarouselItem.md +1 -1
- package/dist/reference/sdk-api/ui/carousel/CarouselNext.md +2 -2
- package/dist/reference/sdk-api/ui/carousel/CarouselPrevious.md +2 -2
- package/dist/reference/sdk-api/ui/carousel/useCarousel.md +1 -1
- package/dist/reference/sdk-api/ui/checkbox/Checkbox.md +1 -1
- package/dist/reference/sdk-api/ui/collapsible/Collapsible.md +1 -1
- package/dist/reference/sdk-api/ui/collapsible/CollapsibleContent.md +1 -1
- package/dist/reference/sdk-api/ui/collapsible/CollapsibleTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/combobox/Combobox.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxChip.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxChips.md +22 -22
- package/dist/reference/sdk-api/ui/combobox/ComboboxChipsInput.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxCollection.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxContent.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxEmpty.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxGroup.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxInput.md +22 -22
- package/dist/reference/sdk-api/ui/combobox/ComboboxItem.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxLabel.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxList.md +22 -22
- package/dist/reference/sdk-api/ui/combobox/ComboboxSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/combobox/ComboboxValue.md +22 -22
- package/dist/reference/sdk-api/ui/combobox/useComboboxAnchor.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/Dialog.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogClose.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogContent.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogDescription.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogFooter.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogHeader.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogOverlay.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogPortal.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogTitle.md +1 -1
- package/dist/reference/sdk-api/ui/dialog/DialogTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/drawer/Drawer.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerClose.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerContent.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerDescription.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerFooter.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerHeader.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerOverlay.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerPortal.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerTitle.md +1 -1
- package/dist/reference/sdk-api/ui/drawer/DrawerTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenu.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuCheckboxItem.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuContent.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuGroup.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuItem.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuLabel.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuPortal.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuRadioGroup.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuRadioItem.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuShortcut.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSub.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSubContent.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuSubTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/dropdown-menu/DropdownMenuTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/empty/Empty.md +1 -1
- package/dist/reference/sdk-api/ui/empty/EmptyContent.md +1 -1
- package/dist/reference/sdk-api/ui/empty/EmptyDescription.md +1 -1
- package/dist/reference/sdk-api/ui/empty/EmptyHeader.md +1 -1
- package/dist/reference/sdk-api/ui/empty/EmptyMedia.md +1 -1
- package/dist/reference/sdk-api/ui/empty/EmptyTitle.md +1 -1
- package/dist/reference/sdk-api/ui/field/Field.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldContent.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldDescription.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldError.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldGroup.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldLabel.md +13 -13
- package/dist/reference/sdk-api/ui/field/FieldLegend.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldSet.md +1 -1
- package/dist/reference/sdk-api/ui/field/FieldTitle.md +1 -1
- package/dist/reference/sdk-api/ui/helpers/collectDataIconState.md +1 -1
- package/dist/reference/sdk-api/ui/input/Input.md +13 -13
- package/dist/reference/sdk-api/ui/input-group/InputGroup.md +1 -1
- package/dist/reference/sdk-api/ui/input-group/InputGroupAddon.md +1 -1
- package/dist/reference/sdk-api/ui/input-group/InputGroupButton.md +25 -25
- package/dist/reference/sdk-api/ui/input-group/InputGroupInput.md +13 -13
- package/dist/reference/sdk-api/ui/input-group/InputGroupText.md +1 -1
- package/dist/reference/sdk-api/ui/input-group/InputGroupTextarea.md +13 -13
- package/dist/reference/sdk-api/ui/input-otp/InputOTP.md +1 -1
- package/dist/reference/sdk-api/ui/input-otp/InputOTPGroup.md +1 -1
- package/dist/reference/sdk-api/ui/input-otp/InputOTPSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/input-otp/InputOTPSlot.md +1 -1
- package/dist/reference/sdk-api/ui/item/Item.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemActions.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemContent.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemDescription.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemFooter.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemGroup.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemHeader.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemMedia.md +2 -2
- package/dist/reference/sdk-api/ui/item/ItemSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/item/ItemTitle.md +1 -1
- package/dist/reference/sdk-api/ui/label/Label.md +13 -13
- package/dist/reference/sdk-api/ui/menubar/Menubar.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarCheckboxItem.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarContent.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarGroup.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarItem.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarLabel.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarMenu.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarPortal.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarRadioGroup.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarRadioItem.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarShortcut.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarSub.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarSubContent.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarSubTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/menubar/MenubarTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenu.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuContent.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuIndicator.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuItem.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuLink.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuList.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuPositioner.md +1 -1
- package/dist/reference/sdk-api/ui/navigation-menu/NavigationMenuTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/navigation-menu/navigationMenuTriggerStyle.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/Pagination.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationContent.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationEllipsis.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationItem.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationLink.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationNext.md +1 -1
- package/dist/reference/sdk-api/ui/pagination/PaginationPrevious.md +1 -1
- package/dist/reference/sdk-api/ui/popover/Popover.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverAnchor.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverContent.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverDescription.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverHeader.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverTitle.md +1 -1
- package/dist/reference/sdk-api/ui/popover/PopoverTrigger.md +22 -22
- package/dist/reference/sdk-api/ui/portal/Portal.md +1 -1
- package/dist/reference/sdk-api/ui/progress/Progress.md +1 -1
- package/dist/reference/sdk-api/ui/progress/ProgressIndicator.md +1 -1
- package/dist/reference/sdk-api/ui/progress/ProgressLabel.md +1 -1
- package/dist/reference/sdk-api/ui/progress/ProgressTrack.md +1 -1
- package/dist/reference/sdk-api/ui/progress/ProgressValue.md +22 -22
- package/dist/reference/sdk-api/ui/radio-group/RadioGroup.md +1 -1
- package/dist/reference/sdk-api/ui/radio-group/RadioGroupItem.md +1 -1
- package/dist/reference/sdk-api/ui/resizable/ResizableHandle.md +1 -1
- package/dist/reference/sdk-api/ui/resizable/ResizablePanel.md +1 -1
- package/dist/reference/sdk-api/ui/resizable/ResizablePanelGroup.md +1 -1
- package/dist/reference/sdk-api/ui/scroll-area/ScrollArea.md +13 -13
- package/dist/reference/sdk-api/ui/scroll-area/ScrollBar.md +1 -1
- package/dist/reference/sdk-api/ui/select/Select.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectContent.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectGroup.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectItem.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectLabel.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectScrollDownButton.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectScrollUpButton.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectSeparator.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/select/SelectValue.md +1 -1
- package/dist/reference/sdk-api/ui/separator/Separator.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/Sheet.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetClose.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetContent.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetDescription.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetFooter.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetHeader.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetOverlay.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetPortal.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetTitle.md +1 -1
- package/dist/reference/sdk-api/ui/sheet/SheetTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/skeleton/Skeleton.md +1 -1
- package/dist/reference/sdk-api/ui/slider/Slider.md +1 -1
- package/dist/reference/sdk-api/ui/sonner/Toaster.md +1 -1
- package/dist/reference/sdk-api/ui/sonner/toast.md +1 -1
- package/dist/reference/sdk-api/ui/spinner/Spinner.md +1 -1
- package/dist/reference/sdk-api/ui/switch/Switch.md +1 -1
- package/dist/reference/sdk-api/ui/table/Table.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableBody.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableCaption.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableCell.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableFooter.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableHead.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableHeader.md +1 -1
- package/dist/reference/sdk-api/ui/table/TableRow.md +1 -1
- package/dist/reference/sdk-api/ui/tabs/Tabs.md +1 -1
- package/dist/reference/sdk-api/ui/tabs/TabsContent.md +1 -1
- package/dist/reference/sdk-api/ui/tabs/TabsList.md +1 -1
- package/dist/reference/sdk-api/ui/tabs/TabsTrigger.md +1 -1
- package/dist/reference/sdk-api/ui/tabs/tabsListVariants.md +1 -1
- package/dist/reference/sdk-api/ui/textarea/Textarea.md +13 -13
- package/dist/reference/sdk-api/ui/toggle/Toggle.md +1 -1
- package/dist/reference/sdk-api/ui/toggle/toggleVariants.md +1 -1
- package/dist/reference/sdk-api/ui/toggle-group/ToggleGroup.md +1 -1
- package/dist/reference/sdk-api/ui/toggle-group/ToggleGroupItem.md +1 -1
- package/dist/reference/sdk-api.json +2811 -2295
- package/dist/reference/sdk-api.md +12 -1
- package/dist/runtime/client.js +0 -5
- package/dist/runtime/client.js.map +1 -1
- package/dist/runtime/douyin-container-request.js +0 -7
- package/dist/runtime/douyin-container-request.js.map +1 -1
- package/dist/runtime/network-url.js +0 -3
- package/dist/runtime/network-url.js.map +1 -1
- package/dist/ui/menubar.js +0 -1
- package/dist/ui/menubar.js.map +1 -1
- package/package.json +2 -2
- package/release-provenance.json +5 -5
- package/src/adapters/interest-card/eslint/eslint-plugin-custom-navigation.mjs +2 -290
- package/src/adapters/interest-card/eslint/taro.mjs +8 -42
- package/src/build/plugins/inject-feed-card-meta.ts +172 -0
- package/src/build/taro.ts +1 -0
- package/src/components/miniapp-open-card.ts +46 -1
- package/src/eslint/eslint-plugin-custom-navigation.mjs +301 -0
- package/src/eslint/eslint-plugin-network-json-body.mjs +103 -0
- package/src/eslint/taro.mjs +38 -1
- package/src/runtime/client.ts +0 -6
- package/src/runtime/douyin-container-request.ts +0 -7
- package/src/runtime/network-url.ts +0 -3
- package/src/ui/menubar.tsx +0 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
// Inspect only statically known options; dynamic request builders need runtime tests.
|
|
2
|
+
const unknown = Symbol('unknown');
|
|
3
|
+
|
|
4
|
+
function propertyName(node) {
|
|
5
|
+
if (!node.computed && node.key.type === 'Identifier') return node.key.name;
|
|
6
|
+
return node.key.type === 'Literal' ? node.key.value : unknown;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
function property(object, name, ignoreCase = false) {
|
|
10
|
+
if (!object || object.type !== 'ObjectExpression') return unknown;
|
|
11
|
+
let result;
|
|
12
|
+
for (const item of object.properties) {
|
|
13
|
+
if (item.type !== 'Property') {
|
|
14
|
+
result = unknown;
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
const key = propertyName(item);
|
|
18
|
+
if (key === unknown) {
|
|
19
|
+
result = unknown;
|
|
20
|
+
} else if (typeof key === 'string' && (ignoreCase ? key.toLowerCase() === name : key === name)) {
|
|
21
|
+
result = item.value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function literal(node) {
|
|
28
|
+
if (node?.type === 'Literal') return node.value;
|
|
29
|
+
if (node?.type === 'TemplateLiteral' && node.expressions.length === 0) {
|
|
30
|
+
return node.quasis[0].value.cooked;
|
|
31
|
+
}
|
|
32
|
+
return unknown;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function variableFor(context, node) {
|
|
36
|
+
let scope = context.sourceCode.getScope(node);
|
|
37
|
+
while (scope) {
|
|
38
|
+
const variable = scope.set.get(node.name);
|
|
39
|
+
if (variable) return variable;
|
|
40
|
+
scope = scope.upper;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function isNetworkImport(context, node) {
|
|
45
|
+
if (node?.type !== 'Identifier') return false;
|
|
46
|
+
return variableFor(context, node)?.defs.some(def =>
|
|
47
|
+
def.type === 'ImportBinding' &&
|
|
48
|
+
def.node.type === 'ImportSpecifier' &&
|
|
49
|
+
(def.node.imported.name ?? def.node.imported.value) === 'Network' &&
|
|
50
|
+
/(?:^|\/)network(?:\.ts)?$/.test(def.parent.source.value),
|
|
51
|
+
) ?? false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function isEmptyBody(context, node) {
|
|
55
|
+
if (node === undefined) return true;
|
|
56
|
+
if (node === unknown) return false;
|
|
57
|
+
if (node.type === 'UnaryExpression' && node.operator === 'void') return true;
|
|
58
|
+
if (node.type === 'Identifier' && node.name === 'undefined') {
|
|
59
|
+
return !variableFor(context, node)?.defs.length;
|
|
60
|
+
}
|
|
61
|
+
const value = literal(node);
|
|
62
|
+
return value === null || (typeof value === 'string' && value.trim() === '');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export default {
|
|
66
|
+
rules: {
|
|
67
|
+
'require-delete-json-body': {
|
|
68
|
+
meta: {
|
|
69
|
+
type: 'problem',
|
|
70
|
+
schema: [],
|
|
71
|
+
docs: { description: 'Require a non-empty JSON body for Network.request DELETE calls.' },
|
|
72
|
+
messages: {
|
|
73
|
+
empty: 'Network.request 的 DELETE 请求使用默认或显式 JSON Content-Type 时,必须传非空 data;无业务参数请传 data: {}。否则真机可能触发 Fastify FST_ERR_CTP_EMPTY_JSON_BODY。',
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
create(context) {
|
|
77
|
+
return {
|
|
78
|
+
CallExpression(node) {
|
|
79
|
+
const callee = node.callee;
|
|
80
|
+
if (callee.type !== 'MemberExpression' || !isNetworkImport(context, callee.object)) return;
|
|
81
|
+
const methodName = callee.computed ? literal(callee.property) : callee.property.name;
|
|
82
|
+
if (methodName !== 'request') return;
|
|
83
|
+
const options = node.arguments[0];
|
|
84
|
+
const method = literal(property(options, 'method'));
|
|
85
|
+
if (typeof method !== 'string' || method.toUpperCase() !== 'DELETE') return;
|
|
86
|
+
const header = property(options, 'header');
|
|
87
|
+
if (header !== undefined) {
|
|
88
|
+
const contentType = property(header, 'content-type', true);
|
|
89
|
+
if (contentType === unknown) return;
|
|
90
|
+
if (contentType !== undefined) {
|
|
91
|
+
const value = literal(contentType);
|
|
92
|
+
if (typeof value !== 'string' || !/^application\/json(?:\s*;|\s*$)/i.test(value.trim())) return;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (isEmptyBody(context, property(options, 'data'))) {
|
|
96
|
+
context.report({ node: options, messageId: 'empty' });
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
package/src/eslint/taro.mjs
CHANGED
|
@@ -6,6 +6,8 @@ import reactHooksPlugin from 'eslint-plugin-react-hooks';
|
|
|
6
6
|
import importPlugin from 'eslint-plugin-import';
|
|
7
7
|
import globals from 'globals';
|
|
8
8
|
import microappPages from './eslint-plugin-microapp-pages.mjs';
|
|
9
|
+
import customNavigation from './eslint-plugin-custom-navigation.mjs';
|
|
10
|
+
import networkJsonBody from './eslint-plugin-network-json-body.mjs';
|
|
9
11
|
|
|
10
12
|
const REMOTE_CSS_IMPORT_PATTERN =
|
|
11
13
|
/@import\s+(?:url\(\s*['"]?((?:https?:)?\/\/[^'")\s]+)['"]?\s*\)|['"]((?:https?:)?\/\/[^'"\s]+)['"])/g;
|
|
@@ -69,7 +71,7 @@ function createLucideColorCheckPlugin(importSources = ['@open-dy/lucide-taro'])
|
|
|
69
71
|
const cssImportGuardPlugin = {
|
|
70
72
|
processors: {
|
|
71
73
|
css: {
|
|
72
|
-
preprocess(text) {
|
|
74
|
+
preprocess(text, filename) {
|
|
73
75
|
const lines = text.replace(/\/\*[\s\S]*?\*\//g, comment => {
|
|
74
76
|
if (comment.includes('eslint-')) return comment;
|
|
75
77
|
return comment.replace(/[^\n]/g, ' ');
|
|
@@ -101,6 +103,18 @@ const cssImportGuardPlugin = {
|
|
|
101
103
|
].join(' ');
|
|
102
104
|
});
|
|
103
105
|
|
|
106
|
+
// Scope this guard to the SDK-based host app; OpenCard has its own CSS pipeline.
|
|
107
|
+
if (filename.replaceAll('\\', '/').endsWith('/src/app.css')) {
|
|
108
|
+
const css = lines.join('\n');
|
|
109
|
+
const imports = [...css.matchAll(/@import\s+(?:url\(\s*)?['"]([^'"]+)['"]/g)]
|
|
110
|
+
.map(match => match[1]);
|
|
111
|
+
const usesSdkTheme = imports.some(value => /^@[^/]+\/vibecoding-sdk-taro\/ui\/tailwind\.css$/.test(value));
|
|
112
|
+
const hasUtilities = imports.some(value => ['weapp-tailwindcss', 'tailwindcss', 'tailwindcss/utilities.css', 'weapp-tailwindcss/utilities.css'].includes(value))
|
|
113
|
+
|| /@tailwind\s+utilities\s*;/.test(css);
|
|
114
|
+
if (usesSdkTheme && !hasUtilities) {
|
|
115
|
+
virtualLines[0] = `${virtualLines[0] ?? ''} __cssMissingTailwindEntry();`;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
104
118
|
return [virtualLines.join('\n')];
|
|
105
119
|
},
|
|
106
120
|
postprocess(messages) {
|
|
@@ -249,6 +263,16 @@ function collectStaticStrings(node, result = []) {
|
|
|
249
263
|
|
|
250
264
|
const tailwindEnforcementPlugin = {
|
|
251
265
|
rules: {
|
|
266
|
+
'require-utilities-entry': {
|
|
267
|
+
create(context) {
|
|
268
|
+
return {
|
|
269
|
+
CallExpression(node) {
|
|
270
|
+
if (node.callee?.name !== '__cssMissingTailwindEntry') return;
|
|
271
|
+
context.report({ node, message: 'src/app.css 缺少 Tailwind 工具类入口。请保留模板的 @import "weapp-tailwindcss";;SDK ui/tailwind.css 只提供主题和组件扫描,不能替代此入口。' });
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
},
|
|
275
|
+
},
|
|
252
276
|
'no-arbitrary-font-size': {
|
|
253
277
|
create(context) {
|
|
254
278
|
function reportArbitraryFontSize(node, className) {
|
|
@@ -440,15 +464,27 @@ export function createMicroappTaroEslintConfig(options = {}) {
|
|
|
440
464
|
'tailwindcss/no-custom-classname': 'off',
|
|
441
465
|
},
|
|
442
466
|
},
|
|
467
|
+
{
|
|
468
|
+
files: ['src/**/*.{js,jsx,ts,tsx}'],
|
|
469
|
+
plugins: { customNavigation },
|
|
470
|
+
rules: {
|
|
471
|
+
'customNavigation/no-navigation-control-apis': 'error',
|
|
472
|
+
},
|
|
473
|
+
},
|
|
443
474
|
{
|
|
444
475
|
files: ['src/**/*.{js,jsx,ts,tsx}'],
|
|
445
476
|
ignores: ['src/network.ts'],
|
|
446
477
|
plugins: {
|
|
478
|
+
networkJsonBody,
|
|
447
479
|
lucide: lucideColorCheckPlugin,
|
|
448
480
|
microappPages,
|
|
481
|
+
customNavigation,
|
|
449
482
|
tailwind: tailwindEnforcementPlugin,
|
|
450
483
|
},
|
|
451
484
|
rules: {
|
|
485
|
+
'customNavigation/require-custom-navigation-style': 'error',
|
|
486
|
+
'customNavigation/pages-must-use-custom-nav-space': 'error',
|
|
487
|
+
'networkJsonBody/require-delete-json-body': 'error',
|
|
452
488
|
'microappPages/nav-url-in-app-pages': 'error',
|
|
453
489
|
// 'microappPages/page-dirs-in-app-pages': 'error',
|
|
454
490
|
'microappPages/declared-pages-must-exist': 'error',
|
|
@@ -508,6 +544,7 @@ export function createMicroappTaroEslintConfig(options = {}) {
|
|
|
508
544
|
},
|
|
509
545
|
processor: 'local/css',
|
|
510
546
|
rules: {
|
|
547
|
+
'tailwind/require-utilities-entry': 'error',
|
|
511
548
|
'no-undef': 'off',
|
|
512
549
|
'tailwind/no-arbitrary-font-size': 'error',
|
|
513
550
|
'no-restricted-syntax': ['error', ...baseRestrictedSyntaxRules],
|
package/src/runtime/client.ts
CHANGED
|
@@ -77,10 +77,6 @@ export function createMicroappClient(
|
|
|
77
77
|
const externalPlatformHeader = mergeExternalPlatformChannelHeader(option.header)
|
|
78
78
|
const fallbackHeader = mergeRequestIdentityHeaders(externalPlatformHeader)
|
|
79
79
|
|
|
80
|
-
const logResponse = (url: string, res: Taro.request.SuccessCallbackResult<any>) => {
|
|
81
|
-
console.log(`[Network] ${method} ${url} ${res.statusCode}`, res.data)
|
|
82
|
-
}
|
|
83
|
-
|
|
84
80
|
if (
|
|
85
81
|
isDouyinMiniProgram() &&
|
|
86
82
|
!isWebPreviewEnv() &&
|
|
@@ -93,7 +89,6 @@ export function createMicroappClient(
|
|
|
93
89
|
method,
|
|
94
90
|
header,
|
|
95
91
|
})
|
|
96
|
-
promise.then(res => logResponse(option.url, res)).catch(() => { })
|
|
97
92
|
return promise
|
|
98
93
|
}
|
|
99
94
|
|
|
@@ -116,7 +111,6 @@ export function createMicroappClient(
|
|
|
116
111
|
...(method.toUpperCase() === 'GET' ? {} : { data }),
|
|
117
112
|
})
|
|
118
113
|
})
|
|
119
|
-
promise.then(res => logResponse(option.url, res)).catch(() => { })
|
|
120
114
|
return promise
|
|
121
115
|
}) as typeof Taro.request
|
|
122
116
|
|
|
@@ -174,7 +174,6 @@ export const requestByDouyinContainer = (
|
|
|
174
174
|
...(method.toUpperCase() === "GET" ? {} : { body: option.data }),
|
|
175
175
|
},
|
|
176
176
|
success: (result) => {
|
|
177
|
-
console.log("[callContainer] raw result:", JSON.stringify(result));
|
|
178
177
|
const payload = "data" in result ? result.data : result.body;
|
|
179
178
|
const response: Taro.request.SuccessCallbackResult<any> = {
|
|
180
179
|
data: parseContainerResponseBody(payload, option.dataType),
|
|
@@ -188,7 +187,6 @@ export const requestByDouyinContainer = (
|
|
|
188
187
|
resolve(response);
|
|
189
188
|
},
|
|
190
189
|
fail: (result) => {
|
|
191
|
-
console.log("[callContainer] fail result:", result);
|
|
192
190
|
const error = {
|
|
193
191
|
errMsg: result.errMsg || "request:fail callContainer error",
|
|
194
192
|
};
|
|
@@ -250,7 +248,6 @@ export const requestSSEByDouyinContainer = (
|
|
|
250
248
|
resolve((result as any).eventSourceTask);
|
|
251
249
|
},
|
|
252
250
|
fail: (result) => {
|
|
253
|
-
console.log("[callContainer] fail result:", result);
|
|
254
251
|
const errMsg = result.errMsg || "request:fail callContainer error";
|
|
255
252
|
reject(new Error(errMsg));
|
|
256
253
|
},
|
|
@@ -283,7 +280,6 @@ export const uploadByDouyinContainer = (option: Taro.uploadFile.Option) => {
|
|
|
283
280
|
filePath: option.filePath,
|
|
284
281
|
cloudPath: option.fileName ?? '',
|
|
285
282
|
success: (result) => {
|
|
286
|
-
console.log("[uploadFile] raw result:", JSON.stringify(result));
|
|
287
283
|
const response: Taro.uploadFile.SuccessCallbackResult = {
|
|
288
284
|
data: '',
|
|
289
285
|
statusCode: 200,
|
|
@@ -296,7 +292,6 @@ export const uploadByDouyinContainer = (option: Taro.uploadFile.Option) => {
|
|
|
296
292
|
resolve(response);
|
|
297
293
|
},
|
|
298
294
|
fail: (result) => {
|
|
299
|
-
console.log("[uploadFile] fail result:", result);
|
|
300
295
|
const error = {
|
|
301
296
|
errMsg: result.errMsg || "request:fail uploadFile error",
|
|
302
297
|
errNo: result.errNo,
|
|
@@ -335,7 +330,6 @@ export const downloadByDouyinContainer = (option: Taro.downloadFile.Option) => {
|
|
|
335
330
|
downloadFile.bind(cloud)({
|
|
336
331
|
cloudPath: option.filePath ?? '',
|
|
337
332
|
success: (result) => {
|
|
338
|
-
console.log("[downloadFile] raw result:", JSON.stringify(result));
|
|
339
333
|
const response: Taro.downloadFile.FileSuccessCallbackResult = {
|
|
340
334
|
filePath: result.filePath,
|
|
341
335
|
tempFilePath: result.tempFilePath,
|
|
@@ -349,7 +343,6 @@ export const downloadByDouyinContainer = (option: Taro.downloadFile.Option) => {
|
|
|
349
343
|
resolve(response);
|
|
350
344
|
},
|
|
351
345
|
fail: (result) => {
|
|
352
|
-
console.log("[downloadFile] fail result:", result);
|
|
353
346
|
const error = {
|
|
354
347
|
errMsg: result.errMsg || "request:fail downloadFile error",
|
|
355
348
|
errNo: result.errNo,
|
|
@@ -33,7 +33,6 @@ export const appendGetQuery = (
|
|
|
33
33
|
): string => {
|
|
34
34
|
if ((method ?? 'GET').toUpperCase() !== 'GET' || !data) {
|
|
35
35
|
const result = encodeExistingQuery(url)
|
|
36
|
-
// console.log('[appendGetQuery] path:', result)
|
|
37
36
|
return result
|
|
38
37
|
}
|
|
39
38
|
|
|
@@ -44,12 +43,10 @@ export const appendGetQuery = (
|
|
|
44
43
|
|
|
45
44
|
const base = encodeExistingQuery(url)
|
|
46
45
|
if (!queryString) {
|
|
47
|
-
// console.log('[appendGetQuery] path:', base)
|
|
48
46
|
return base
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
const result = `${base}${base.includes('?') ? '&' : '?'}${queryString}`
|
|
52
|
-
// console.log('[appendGetQuery] path:', result)
|
|
53
50
|
return result
|
|
54
51
|
}
|
|
55
52
|
|