Skip to content

Instantly share code, notes, and snippets.

View stomvi's full-sized avatar

Chris stomvi

  • Taipei, Taiwan
View GitHub Profile
@stomvi
stomvi / create-nx.sh
Last active June 25, 2025 23:17
Create NX with Next.js template
#!/bin/zsh
npx --yes create-nx-workspace@latest $1 --preset=next --appName=$2 --nextAppDir=true --nextSrcDir=false --nxCloud=skip --style=css --unitTestRunner=jest --linter=eslint --e2eTestRunner=cypress --formatter=prettier --interactive=false
cd $1
npm i next@latest
npm i -D eslint-config-next@latest prisma
npm i yargs
npm i @prisma/client
@stomvi
stomvi / form_data_schema.js
Created June 22, 2022 01:13
Form data validation schema
const getVariationSchema = (node, index) => {
const nodeVariationPrice = get(node, `variations.${index}.price`);
const variationPriceSchema = {
price: Joi.number().required().min(0),
priceConfirmation: Joi.any().when('price', {
// not: Joi.number().valid(Joi.ref('$node.variations..price')),
not: Joi.number().valid(nodeVariationPrice),
then: Joi.number().valid(Joi.ref('price')),
}),
@stomvi
stomvi / form_data.js
Last active June 22, 2022 00:39
Form data to be validated
const formDta = {
variations: [
{
id: 'foo_v1',
price: '100',
priceConfirmation: '',
},
{
id: 'foo_v2',
price: '110',
@stomvi
stomvi / product_data.js
Created June 22, 2022 00:29
Product object with nested object array
const product = {
id: 'foo',
title: 'bar',
variations: [
{
id: 'foo_v1',
price: 100,
},
{
id: 'foo_v2',
@stomvi
stomvi / arguments.json
Created August 19, 2019 16:11
le ble d'or API arguments
{
"merchantOrderNo": "20190820jtOCjpd2oHI0ZaaBSKCS",
"createdAt": "1566230510",
"testKey": ";,/?:@&=+$#-_.!~*'()"
};
Object {
"appid": "F3E812C9-60EE-4617-B0F5-89D8DFADB2BB",
"birth": "1980-01-01",
"id": "A131841032",
"mobile": "0911781506",
"token": "uUoloruhJMEWdZo8VKepwcdNDqOkcuC8Nn-KvtehWZyeMB2IwSRruRSSamNAmmfno3vcg6RZjHwC_RqeHeqaZA",
"verifymobile": "0905030081",
}