Skip to content

Instantly share code, notes, and snippets.

@joelpurra
Forked from thlorenz/update_to_nan_v2.0.x.sh
Last active July 24, 2016 20:02
Show Gist options
  • Select an option

  • Save joelpurra/a1129ca1336c14bfd51b1a7ad0f79171 to your computer and use it in GitHub Desktop.

Select an option

Save joelpurra/a1129ca1336c14bfd51b1a7ad0f79171 to your computer and use it in GitHub Desktop.

Revisions

  1. joelpurra revised this gist Jul 24, 2016. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -1 +1,3 @@
    # Script has moved to https://github.com/joelpurra/getdns-developer-support/tree/master/src/getdns-node/nan-upgrade
    # Script has moved to https://github.com/joelpurra/getdns-developer-support/tree/master/src/getdns-node/nan-upgrade

    open 'https://github.com/joelpurra/getdns-developer-support/tree/master/src/getdns-node/nan-upgrade'
  2. joelpurra revised this gist Jul 24, 2016. 1 changed file with 1 addition and 58 deletions.
    59 changes: 1 addition & 58 deletions update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -1,58 +1 @@
    #!/bin/bash

    replacements=(
    "NanAsyncWorker/Nan::AsyncWorker"
    "NanAsyncQueueWorker/Nan::AsyncQueueWorker"
    "NanCallback/Nan::Callback"
    "NanSetInternalFieldPointer/Nan::SetInternalFieldPointer"
    "NanGetInternalFieldPointer/Nan::GetInternalFieldPointer"
    "NanNewBufferHandle\\(([^)]+)\\)/Nan::NewBuffer(\\1).ToLocalChecked()"
    "(NanNew(<(v8::)?String>)?\\(\"[^\"]*\"\\))/\\1.ToLocalChecked()"
    "(NanNew<(v8::)?String>\\([^\"][^)]*\\))/\\1.ToLocalChecked()"
    "NanNew/Nan::New"
    "NODE_SET_PROTOTYPE_METHOD/Nan::SetPrototypeMethod"
    "NODE_SET_METHOD/Nan::SetMethod"
    "_NAN_METHOD_ARGS_TYPE/Nan::NAN_METHOD_ARGS_TYPE"
    "(\\W)?args(\\W|\\.|\\[)/\\1info\\2"
    "(^|\\s)(v8::)?Persistent/\\1Nan::Persistent"
    "NanAssignPersistent(<\w+>)?\\(([^,]+),\\s*([^)]+)\\)/\\2.Reset(\\3)"
    "NanDisposePersistent\\(([^\\)]+)\\)/\\1.Reset()"
    "NanReturnValue/info.GetReturnValue().Set"
    "NanReturnNull\\(\\)/info.GetReturnValue().Set(Nan::Null())"
    "NanScope\\(\\)/Nan::HandleScope\ scope"
    "NanEscapableScope\\(\\)/Nan::EscapableHandleScope scope"
    "NanEscapeScope/scope.Escape"
    "NanReturnUndefined\\(\\);/return;"
    "NanUtf8String/Nan::Utf8String"
    "NanObjectWrapHandle\\(([^\\)]+)\\)/\\1->handle()"
    "(node::)?ObjectWrap/Nan::ObjectWrap"
    "NanMakeCallback/Nan::MakeCallback"
    "NanNull/Nan::Null"
    "NanUndefined/Nan::Undefined"
    "NanFalse/Nan::False"
    "NanTrue/Nan::True"
    "NanThrow(\w+)?Error/Nan::Throw\\1Error"
    "NanThrowTypeError/Nan::ThrowTypeError"
    "NanError/Nan::Error"
    "NanGetCurrentContext/Nan::GetCurrentContext"
    "([a-zA-Z0-9_]+)->SetAccessor\\(/Nan::SetAccessor(\\1, "
    "NanAdjustExternalMemory/Nan::AdjustExternalMemory"
    "NanSetTemplate/Nan::SetTemplate"
    "NanHasInstance\\(([^,]+),\\s*([^)]+)\\)/Nan::New(\\1)->HasInstance(\\2)"
    "Handle<([^>]+)>/Local<\\1>"
    "NanReturnThis\\(\\)/info.GetReturnValue().Set(info.This())"
    "Nan::Nan::/Nan::"
    )

    os=`uname`
    if [ $os == 'Darwin' ];
    then sed_flag='-E'
    else sed_flag='-r'
    fi

    for file in "$@"; do
    echo $file
    for replacement in "${replacements[@]}"; do
    cat $file | sed $sed_flag "s/${replacement}/g" > $file.$$ && mv $file.$$ $file
    done
    done
    # Script has moved to https://github.com/joelpurra/getdns-developer-support/tree/master/src/getdns-node/nan-upgrade
  3. joelpurra revised this gist Jul 24, 2016. 1 changed file with 5 additions and 2 deletions.
    7 changes: 5 additions & 2 deletions update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -6,9 +6,9 @@ replacements=(
    "NanCallback/Nan::Callback"
    "NanSetInternalFieldPointer/Nan::SetInternalFieldPointer"
    "NanGetInternalFieldPointer/Nan::GetInternalFieldPointer"
    "NanNewBufferHandle\\(([^;]+);/Nan::NewBuffer(\\1.ToLocalChecked();"
    "NanNewBufferHandle\\(([^)]+)\\)/Nan::NewBuffer(\\1).ToLocalChecked()"
    "(NanNew(<(v8::)?String>)?\\(\"[^\"]*\"\\))/\\1.ToLocalChecked()"
    "(NanNew<(v8::)?String>\\([^\"][^\;]*);/\\1.ToLocalChecked();"
    "(NanNew<(v8::)?String>\\([^\"][^)]*\\))/\\1.ToLocalChecked()"
    "NanNew/Nan::New"
    "NODE_SET_PROTOTYPE_METHOD/Nan::SetPrototypeMethod"
    "NODE_SET_METHOD/Nan::SetMethod"
    @@ -39,6 +39,9 @@ replacements=(
    "NanAdjustExternalMemory/Nan::AdjustExternalMemory"
    "NanSetTemplate/Nan::SetTemplate"
    "NanHasInstance\\(([^,]+),\\s*([^)]+)\\)/Nan::New(\\1)->HasInstance(\\2)"
    "Handle<([^>]+)>/Local<\\1>"
    "NanReturnThis\\(\\)/info.GetReturnValue().Set(info.This())"
    "Nan::Nan::/Nan::"
    )

    os=`uname`
  4. @thlorenz thlorenz revised this gist Aug 20, 2015. 1 changed file with 1 addition and 2 deletions.
    3 changes: 1 addition & 2 deletions update_to_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,5 @@
    #!/bin/bash

    files=$@
    replacements=(
    "NanAsyncWorker/Nan::AsyncWorker"
    "NanAsyncQueueWorker/Nan::AsyncQueueWorker"
    @@ -48,7 +47,7 @@ then sed_flag='-E'
    else sed_flag='-r'
    fi

    for file in $files; do
    for file in "$@"; do
    echo $file
    for replacement in "${replacements[@]}"; do
    cat $file | sed $sed_flag "s/${replacement}/g" > $file.$$ && mv $file.$$ $file
  5. @thlorenz thlorenz renamed this gist Aug 20, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. @thlorenz thlorenz created this gist Aug 20, 2015.
    56 changes: 56 additions & 0 deletions update_nan_v2.0.x.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,56 @@
    #!/bin/bash

    files=$@
    replacements=(
    "NanAsyncWorker/Nan::AsyncWorker"
    "NanAsyncQueueWorker/Nan::AsyncQueueWorker"
    "NanCallback/Nan::Callback"
    "NanSetInternalFieldPointer/Nan::SetInternalFieldPointer"
    "NanGetInternalFieldPointer/Nan::GetInternalFieldPointer"
    "NanNewBufferHandle\\(([^;]+);/Nan::NewBuffer(\\1.ToLocalChecked();"
    "(NanNew(<(v8::)?String>)?\\(\"[^\"]*\"\\))/\\1.ToLocalChecked()"
    "(NanNew<(v8::)?String>\\([^\"][^\;]*);/\\1.ToLocalChecked();"
    "NanNew/Nan::New"
    "NODE_SET_PROTOTYPE_METHOD/Nan::SetPrototypeMethod"
    "NODE_SET_METHOD/Nan::SetMethod"
    "_NAN_METHOD_ARGS_TYPE/Nan::NAN_METHOD_ARGS_TYPE"
    "(\\W)?args(\\W|\\.|\\[)/\\1info\\2"
    "(^|\\s)(v8::)?Persistent/\\1Nan::Persistent"
    "NanAssignPersistent(<\w+>)?\\(([^,]+),\\s*([^)]+)\\)/\\2.Reset(\\3)"
    "NanDisposePersistent\\(([^\\)]+)\\)/\\1.Reset()"
    "NanReturnValue/info.GetReturnValue().Set"
    "NanReturnNull\\(\\)/info.GetReturnValue().Set(Nan::Null())"
    "NanScope\\(\\)/Nan::HandleScope\ scope"
    "NanEscapableScope\\(\\)/Nan::EscapableHandleScope scope"
    "NanEscapeScope/scope.Escape"
    "NanReturnUndefined\\(\\);/return;"
    "NanUtf8String/Nan::Utf8String"
    "NanObjectWrapHandle\\(([^\\)]+)\\)/\\1->handle()"
    "(node::)?ObjectWrap/Nan::ObjectWrap"
    "NanMakeCallback/Nan::MakeCallback"
    "NanNull/Nan::Null"
    "NanUndefined/Nan::Undefined"
    "NanFalse/Nan::False"
    "NanTrue/Nan::True"
    "NanThrow(\w+)?Error/Nan::Throw\\1Error"
    "NanThrowTypeError/Nan::ThrowTypeError"
    "NanError/Nan::Error"
    "NanGetCurrentContext/Nan::GetCurrentContext"
    "([a-zA-Z0-9_]+)->SetAccessor\\(/Nan::SetAccessor(\\1, "
    "NanAdjustExternalMemory/Nan::AdjustExternalMemory"
    "NanSetTemplate/Nan::SetTemplate"
    "NanHasInstance\\(([^,]+),\\s*([^)]+)\\)/Nan::New(\\1)->HasInstance(\\2)"
    )

    os=`uname`
    if [ $os == 'Darwin' ];
    then sed_flag='-E'
    else sed_flag='-r'
    fi

    for file in $files; do
    echo $file
    for replacement in "${replacements[@]}"; do
    cat $file | sed $sed_flag "s/${replacement}/g" > $file.$$ && mv $file.$$ $file
    done
    done